Один из важнейших операторов Паскаля – условный оператор. Он позволяет изменять порядок выполнения операторов в зависимости от некоторого условия, представляющего собой логическое выражение типа Boolean. Если значение равно True, то выполняется одна группа операторов, если False, то другая группа операторов или не выполняется ничего.
В языке Паскаль имеются два условных оператора: if (оператор ветвления) и case (оператор выбора). Оператор if обеспечивает выбор из двух альтернатив, оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов.
На этом уроке рассмотрим оператор If.
Полная формы условного оператора называется If-then-else, имеет вид:
If условие
Then [оператор1]
Else [оператор2];
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
If then
Begin
[операторы1]
End
Else
begin
[операторы2]
End;
Слова if (если) и Then (то) – зарезервированные.
Замечание. Перед ключевым словом else (иначе) точка с запятой не ставится, она ставиться после всего оператора If.
Условие представляют собой логические выражение. Простые условия записываются в виде равенств или неравенств. В сложных условиях несколько простых условий объединяются с помощью логических операций or, and. В этом случае простые условия заключаются в круглые скобки.
На рисунке показана блок-схема полной формы оператора.
Алгоритм выполнения полного условного оператора:
Неполная форма условного оператора называется if-then, имеет вид:
If условие
Then [оператор];
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
If условие Then
Begin
[операторы]
End;
В неполном ветвлении ветвь Else отсутствует.
На рисунке показана блок схема оператора if-then.
Алгоритм выполнения неполного условного оператора
Операторы ветвления могут быть вложенными, т.е. один оператор if можно расположить внутри другого. В этом случае он позволяет производить выбор более чем из двух вариантов. При написании исходного кода с вложенными операторами для удобочитаемости кода вложенные операторы выделяются отступами.
If then begin
[операторы 1;]
end
Else if eckjdbt 2 then begin
[операторы2;]
End
.
.
.
else if условиеN
[операторыN;]
end
else begin
;
end;