Оператор условного перехода
IF b THEN s1 { полная форма}
ELSE s2;
IF b THEN s1; { сокращенная форма}
где b- булевское выраж., s1,s2- простые или составные операторы.
Оператор варианта
Case N of N-переключатель варианта (порядковый тип);
M1:s1; M1,M2,..Mk- константы выбора (тип совместим с типом
переключателя);
M2:s2;
...
s1,s2,…sk –прост. или составные операторы;
Mk:sk
ELSE s
End;
Оператор условной передачи управления
Оператор условной передачи управления (рис.7) используют для программирования ветвлений, т.е. ситуаций, когда возникает необходимость при выполнении условия реализовывать одни действия, а при нарушении - другие. Условие записывают в виде логического выражения, в зависимости от результата которого осуществляется выбор одной из ветвей: если результат true, то выполняется оператор, следующий за служебным словом then, иначе - оператор, следующий за служебным словом else.
В каждой ветви допускается запись одного оператора (в том числе и другого if) или составного оператора.
Составным оператором в Borland Pascal называют последовательность операторов, заключенную в операторные скобки begin...end. Операторы последовательности отделяют друг от друга точкой с запятой «;». Перед end точку с запятой можно не ставить. Перед else точка с запятой не ставится никогда, так как в этом случае запись условного оператора продолжается.
В соответствии с синтаксической диаграммой допускается использовать оператор условной передачи управления с неуказанной (пустой) ветвью else. В некоторых случаях использование укороченных конструкций может привести к неоднозначности, например, не понятно, какому из двух вариантов схем алгоритма (рис. 8) соответствует фрагмент:
if <условие 1 > then
if <условие 2> then
<действие 1>
else <действие 2>;
В этих случаях используется так называемое правило вложенности: альтернатива else всегда относится к ближайшему if, что соответствует варианту алгоритма на рис. 8, а. Если необходимо реализовать вариант алгоритма, изображенный на рис. 8, б, то используют операторные скобки:
if <условие 1 > then
begin
if <условие 2> then
<действие 1>
end
else <действие 2>;