Один из важнейших операторов Паскаля – условный оператор. Он позволяет изменять порядок выполнения операторов в зависимости от некоторого условия, представляющего собой логическое выражение типа Boolean. Если значение равно True, то выполняется одна группа операторов, если False, то другая группа операторов или не выполняется ничего.
В языке Паскаль имеются два условных оператора: if (оператор ветвления) и case (оператор выбора). Оператор if обеспечивает выбор из двух альтернатив, оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов.
На этом уроке рассмотрим оператор If.
Полная формы условного оператора называется If-then-else, имеет вид:
If условие Then [оператор1]Else [оператор2];Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
If then Begin [операторы1] EndElse 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;]endElse if eckjdbt 2 then begin [операторы2;]End . . .else if условиеN [операторыN;]endelse begin ; end;