если условие ложно (false), то оператор1 пропускается, а выполняется оператор после слова ELSE.
Примеры:
if x > 0 then
y:=sqrt(x
else write ('Решений нет');
Операторы 1 и 2 могут быть любыми, в том числе и условными. В этом случае их называют вложенными.
Примеры:
if x > 0 then
y:=sqrt(x
else
if x <= -3 then
y:=sqr(x)
else write ('Решений нет');
Краткая форма условного оператора
Части ELSE оператор2 может и не быть, тогда формат оператора:
If условие THEN оператор1;
Выполнение оператора:
Если условие истинно, то выполняется оператор после слова THEN, а иначе он пропускается.
Примеры:
if abs(x) >= 5 then
y:=exp(3*ln(x))
Составной оператор
В условном операторе после слов THEN и ELSE можно помещать по несколько операторов. В этом случае их надо объединить в СОСТАВНОЙ оператор, который начинается словом BEGIN и заканчивается словом END; (на конце не точка, а точка с запятой!)
Примеры
Составить программу, которая перераспределит заданные значения x, y так, что в х окажется большее значение, а в y - меньшее.
program PRMAX;
var x, y, z: real;
begin
write ('Введите два числа: ');
read (x, y);
if x < y then
begin z:=x;
x:=y;
y:=z
end;
writeln ('x =', x, 'y=', y);
end.
Сложное условие
После слова IF допускается:
конъюнкция условий (условия связываются при помощи логической операции and),
дизъюнкция условий (условия связываются при помощи логической операции or);
инверсия условий (отрицание условия not)
Примеры:
Выяснить, принадлежит ли точка с координатами (x, y) кольцу с центром в точке (0, 0), внешним радиусом r1 и внутренним радиусом r2
program PRcir;
var x, y, r1, r2: real;
begin
write ('Введите координаты точки: ');
read (x, y);
writeln ('Введите радиусы r1, r2:: ');
read (r1, r2);
if (sqrt(sqr(x)+sqr(y))<r1) and (sqrt(sqr(x)+sqr(y))>r2) then
writeln ('Точка принадлежит кольцу');
else writeln ('Точка не принадлежит кольцу');
end.