Лекция 8. Операторы цикла FOR, WHILE, REPEAT
Оператор варианта
Условный оператор
Предназначен для выбора к исполнению одного из двух возможных действий (операторов) в зависимости от некоторого условия (при этом одно из действий может быть пустым, то есть отсутствовать). В качестве условия выбора используется значение логического выражения.
Рисунок 7.3 - Условный оператор.
Следует отметить, что перед else никогда не ставится ';'. И служебное слово else всегда ассоциируется с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.
Является обобщением условного оператора для случая произвольного числа альтернатив.
Рисунок 7.4 – Оператор выбора
Рисунок 7.5 – Альтернатива
Рисунок 7.6 – Ветвь else
Синтаксис языка предполагает один оператор для каждой альтернативы, при необходимости задания нескольких операторов следует сгруппировать их в составной оператор. Ветвь else допускает последовательность операторов, разделенных символом ';'.
Рассмотрим пример использования оператора выбора. Пусть необходимо преобразовать целое число в зависимости от остатка деления на 17:
- если N mod 17 = 0, то N:=0;
- если N mod 17 = 1 или 6, то N:=-N;
- если N mod 17 = от 2 до 4 или 7, то N:=2*N;
- если N mod 17 = 5, то N:=3*N;
- во всех прочих случаях N:=5*N;
Решение этой задачи будет выглядеть следующим образом:
…
Case N mod 17 of
0 : N:=0;
1,6 : N:=-N;
2..4,7 : N:=2*N;
5 : N:=3*N;
else N:=5*N;
end;
…