Оператор if

Оператор if позволяет выполнить некоторый блок инструкций в случае ис­тинности заданного условия. В качестве условия может выступать переменная логического типа или любое выражение, результатом вычисления которого яв­ляется логическое значение. Блок выполняемых инструкций завершается клю­чевым словом end. В следующем примере мы отображаем строку "Hello!", если условие %t выполняется. Выражение "%t", как мы знаем, представляет собой константу, обозначающую “истина”, поэтому данное условие всегда истинно и строка будет отображена в любом случае.

if   (  %t  ) then

disp("Hello!")

end

В результате выполнения предыдущего скрипта в консоль будет выведено

Hello !

Если условие ложно, выполняется ветвь else, как показано  в следующем фрагменте:

if   (  %f   ) then

disp("Hello!")

 else

disp("Goodbye!") end

В данном случае в консоли появится строка

Goodbye!

В качестве условия может использоваться любое выражение, результатом вычисления которого является логическое значение, например, использующее операторы сравнения "==", ">" и т.д. или функции, возвращающие логическое значение. В следующем примере мы используем оператор "==" для проверки условия и выводим сообщение "Hello!", если условие истинно, и "Hello!", если оно ложно:

i = 2

if   (  i  ==  2  ) then

disp("Hello!")

else

disp("Goodbye!") end

Следует подчеркнуть, что для проверки равенства используется оператор "==", а не "=". Использование последнего приводит к предупреждению, как по­казано в следующем фрагменте:

-->i = 2

i =

2.

-->if   (  i = 2  ) then

Warning:   obsolete  use  of   '='   instead of j

-->    disp("Hello!")

Hello !

--> else

-->    disp("Goodbye !" )

 --> end

При наличии нескольких условий, которые должны быть проверены после­довательно, полезным оказывается конструкция elseif. Следующий фрагмент демонстрирует, каким образом конструкция elseif может использоваться для обработки различных значений переменной i:

i = 2

if   (  i  ==  1  ) then

disp("Hello!")

elseif   (  i  ==  2  ) then

disp("Goodbye!")

elseif   (  i  ==  3  ) then

disp("Tchao!")

else

disp("Аu Revoir!")

end

Количество блоков elseif не ограничено, что позволяет создавать ветвле­ние произвольной сложности. Однако, большое число следующих друг за дру­гом блоков elseif часто говорит о необходимости использования оператора select, речь о котором пойдет в следующем разделе.

© vse-o-scilab

Сделать бесплатный сайт с uCoz