Примечание. Для занятия необходимо подготовить плакаты (таблицы, рис. 2), поясняющие работу условного оператора.
Полный условный оператор
If <условие> Then <оператор 1> Else <оператор 2>
Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Простые условия записываются в виде равенств или неравенств. Сложные условия составляют из простых с помощью логических операций. Если условие истинно, то выполняется < оператор 1>, в противном случае - <оператор 2>. Если в качестве оператора должна выполниться серия операторов, то они объединяются в операторные скобки Begin-End.
Разбор оператора можно выполнить на следующем простом примере.
Пример:
Вывести на экран большее из двух данных чисел.
Program Example_2; Var x, y : integer; Begin Writeln('введите 2 числа'); Readln(x,y); {вводим два целых числа через пробел} If x>y Then Writeln(x) {если (If)x больше y, то (Then) выводим x,} Else Writeln(y); {иначе (Else)выводим y} Readln; End.
Введем два числа 5 и 7 - значение переменной x равно 5, а значение переменной y - 7 (x=5, y=7). Условие x>y не выполняется, так как 5 не больше 7, - работает оператор, стоящий после else, то есть writeln(y), а следовательно, на экране появится 7.
Примечание. Обратите внимание учащихся на то, что перед служебным словом else разделитель точка с запятой не ставится.
Неполный условный оператор
If<условие> Then <оператор>
Ветвь Else может отсутствовать, если в случае невыполнения условия ничего делать не надо. Например, если значение переменной x меньше 0, то поменять его на противоположное. В программе такой условный оператор выглядит следующим образом:
If x<0 Then x:= -x;
В первом случае условный оператор называется полным, а во втором - неполным.
Пример
Написать программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (0,5).
Решение
Обозначим: x - число, вводимое с клавиатуры пользователем (это переменная целого типа). Принадлежность числа x интервалу (0,5) определяется следующей системой неравенств: X принадлежит заданному интервалу лишь в том случае, если одновременно выполняются оба условия:
Program Example_3; Var x : Integer; Begin Writeln('Введите число x'); Readln(x); If (x>0) And (x<5) Then Writeln(x,' принадлежит интервалу(0,5)') Else Writeln(x,' не принадлежит интервалу'); End.