Оператор условного выполнения <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 букв”
Сопутствующие ссылки: