Программа ветвления на Паскале.

Оператор ветвления (условный оператор)

Формат оператора:

If условие THEN
   оператор1 
ELSE
оператор2;

где условие - логическое выражение (т.е. в него обязательно входит знак отношения, и можно определить, истинно выражение или ложно),
оператор1 - любой оператор Паскаля; этот оператор исполняется, когда условие истинно;
оператор2 - любой оператор Паскаля, в том числе и  условный; этот оператор исполняется, когда условие ложно.

Выполнение оператора:
При выполнении этого оператора сначала вычисляется значение условия. 
Если условие истинно (true), то выполняется оператор после слова THEN, а оператор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.

Hosted by uCoz