Смекни!
smekni.com

Ветвление в Паскале (стр. 2 из 2)

если условие ложно (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.