Условный оператор.
В жизни мы часто используем условия, например такая фраза:
“Если завтра будет хорошая погода, то пойдем в парк, а иначе останемся дома”.
Главное в ней то, что она предусматривает различные действия. Какое именно действие будет выполняться, зависит от того, можем ли мы ответить словом да на поставленный вопрос: “погода хорошая?”. Это предложение можно изобразить в графическом виде:
Заменим теперь в нашей фразе выделенные слова на английские:
“If завтра будет хорошая погода, then пойдем в парк, else останемся дома”.
Это, фактически, и есть запись условного оператора.
If <условие> then <оператор 1> else <оператор 2>; |
Если условие истинно, то выполняется оператор 1, если условие ложно, то выполняется оператор 2.
Пример:
Постановка задачи: проверить введенное число меньше 5.
program if1; var i:integer; begin readln(i); if i<5 then writeln ('X меньше 5 ') readln; end. |
Иногда надо проверить условие и что-то выполнить, а если условие ложно, то ничего не делать. В этом случае используется укороченный вариант условного оператора:
If <условие> then <оператор 1> ; |
Как видите, в этом операторе отсутствует служебное слово
else и оператор 2. Такому оператору соответствует графическая диаграмма:
А что надо делать, если нам надо выполнить по условию не один оператор, а несколько? Сам оператор условия не изменяется, а вместо оператора 1 мы вставляем блок операторов заключенный в служебные слова
begin … end.
If <условие> then begin … <оператор n+1> … |
В этом операторе при истинном значении условия выполнятся операторы с 1 по
n, а при ложном значении условия выполнятся операторы с n+1 по m.Замечание
: перед else не ставится точка с запятой.Укороченный вариант соответственно записыввается в виде:
If <условие> then begin … |
Когда мы написали слово
<оператор i>, мы ничего не сказали о том, какого он типа. А это опять может быть условный оператор. Их, как матрешки, можно вкладывать один в другой. Это позволяет формировать сложные условия.