Оператор условного выполнения <IF>

Оператор предназначен для выполнения одного из входящих в него операторов, в зависимости от истинности какого-либо условия.

Формат:

IF <условное выражение> THEN <оператор 1>

{ELSE <оператор 2>}

Описание:

Этот оператор позволяет поставить дальнейшее выполнение программы в зависимость от некоторых условий.

Ключевым словом оператора является зарезервированное слово <IF>. Вслед за этим словом следует <условное выражение>, при истинности которого выполняется оператор, следующий за словом <THEN>. Если <условное выражение> ложно, то выполняется оператор, следующий за словом <ELSE>. <ELSE> – часть оператора, являющаяся необязательной. При ее отсутствии и ложности <условного выражения> действие оператора заканчивается и выполняется следующий оператор программы.

<Условное выражение> представляет собой одно <Простое условное выражение> или последовательность <Простых условных выражений>, связанных логическими операциями <AND> – логическое И и <OR> – логическое ИЛИ, то есть:

<простое условное выражение> {{AND <простое условное выражение>} |

{OR <простое условное выражение>}}

<Условное выражение> истинно, если оба <простых условных выражений>, связанные операцией <AND> истинны, или если хотя бы одно из условий, связанных операцией <OR>, истинно.

В свою очередь, <простое условное выражение> – это два математических или два строковых выражения, разделенные знаком операции сравнения, то есть:

<Математическое выражение> <Знак сравнения> <Математическое выражение>

или

<Строковое выражение> <Знак сравнения> <Строковое выражение>

Выражения, находящиеся по обе стороны <знака сравнения> должны быть обязательно одного типа, иначе при трансляции оператора вы получите сообщение об ошибке: "Несовпадение типов сравниваемых переменных".

<Знаки сравнения> обозначают одну из операций сравнения:

  • = – значение левого выражения <РАВНО> значению правого;

  • > – значение левого выражения <БОЛЬШЕ> значения правого;

  • < – значение левого выражения <МЕНЬШЕ> значения правого;

  • # или <> – значение левого выражения <НЕ РАВНО> значению правого;

  • >= или => – значение левого выражения <БОЛЬШЕ ИЛИ РАВНО> значению правого;

  • <= или =< – значение левого выражения <МЕНЬШЕ ИЛИ РАВНО> значению правого.

Особо следует обратить внимание на сравнение строковых выражений. Сравнение двух строк выполняется посимвольно слева направо с учетом их кодов в ASCII. Для русских и латинских букв эта последовательность совпадает с алфавитной последовательностью, причем:

Прописные латинские буквы < строчные латинские <

прописные русские буквы < строчные русские

Если строки имеют различную длину, но все символы более короткой строки совпадают с соответствующими по расположению символами более длинной, то считается, что более короткая строка меньше длинной. Строки считаются равными только тогда, когда они содержат одинаковые символы и имеют одинаковую длину.

При обработке условного оператора сначала вычисляются значения математических и строковых выражений в <простых условных выражениях>, затем производятся операции сравнения, затем последовательно логические операции <AND> и <OR>. После выполнения всех этих действий, в зависимости от истинности результата выполняется либо <THEN>-часть, либо <ELSE>-часть.

Примеры:

! Пример 1.

! Пример использования условного оператора.

IF kadr<224 THEN PRINT “Маленькая программа”

ELSE PRINT “Вы гений программирования”

! Пример 2.

! Пример использования вложенных условных операторов

IF POS(“ ”, строка$) = 2 THEN

b$ = “Первой в строке идет буква”

ELSE

IF POS(“ ”, строка$) <= 4 THEN

b$ = “Первым в строке идет слово длиной до 4 букв”

ELSE

b$ = “Первым в строке идет слово длиной более 5 букв”

Сопутствующие ссылки:

Оператор множественного условного выполнения <CASE>