else оператор2;
Если логическое выражение имеет значение TRUE, то выполняется оператор1, иначе выполняется оператор2. Всегда выполняется только один из операторов. Перед else точка с запятой не ставится, т.к. if-then-else – единый оператор.
Пр. Вычислить m=min(x,y):
if x<y then m:=x else m:=y;
Пр. Если a и b одного знака, найти их произведение, иначе заменить нулями.
if a*b>0 then c:=a*b
else begin
a:=0; b:=0;
end;
Из примера видно, что к ветви алгоритма, состоящей более чем из одного оператора, здесь также применяются операторные скобки.
Составной условный оператор применяется, когда есть более 2 вариантов расчета.
if логическое_выражение1 then оператор1
else if логическое_выражение2 then оператор2
...
else if логическое_выражениеN then операторN
else оператор0;
Последовательно проверяются условия 1,2,…,N, если некоторое условие истинно, выполняется соответствующий оператор и управление передается на оператор, следующий за условным. Если все условия ложны, выполняется оператор0. Число ветвей N неограниченно, ветви else оператор0;может и не быть.
Пр. Вычислить значение функции, заданной графически:
if x<-1 then y:=0
else if x<0 then y:=x+1
else if x<1 then y:=1-x
else y:=0;
или иначе:
if (x<-1) or (x>=1) then y:=0
else if (x<0) then y:=x+1
else y:=1-x;