1 of 11

Pascal. Условный оператор

2 of 11

Ключевые слова

  • условный оператор
  • неполный условный оператор
  • составной оператор
  • вложенные ветвления

3 of 11

Общий вид условного оператора

Перед else знак «;» не ставится.

Полная форма условного оператора:

if <условие> then <оператор_1> else <оператор_2>

Неполная форма условного оператора:

if <условие> then <оператор>

Операции

отношений

Логические

операции

Простые

Сложные

Условия - логические выражения

!

4 of 11

Условный оператор

program n_9;

var x, a, b: real;

begin

writeln ('Определение принадлежности

точки отрезку');

write ('Введите а, b>>');

readln (a, b);

write ('Введите x>>');

readln (x);

if (x>=a) and (x<=b) then

writeln ('Точка принадлежит отрезку')

else writeln ('Точка не принадлежит отрезку')

еnd.

a, b, x

(x>=a) and (x<=b)

ДА

НЕТ

да

нет

5 of 11

Неполный условный оператор

program n_10;

var y, a, b, c: integer;

begin

writeln ('Нахождение наибольшей из трёх величин');

write ('Введите а, b, с>>');

readln (a, b, c);

y:=a;

if (b>y) then y:=b;

if (c>y) then y:=c;

writeln ('y=', y)

end.

Y:=A

B>Y

Y:=B

Y:=C

C>Y

да

нет

да

нет

6 of 11

Составной оператор

В условном операторе и после then, и после else

можно использовать только один оператор.

Если в условном операторе после then или после else

нужно выполнить несколько операторов, то

используют составной оператор – конструкцию вида:

begin <последовательность операторов> end

7 of 11

Блок-схема решения КВУР

Конец

Вывод

«Корни уравнения:

х1=», х1, «х2=», х2

х1:=(-b+sqrt(d))/2/a

да

Начало

Введите коэффициенты a, b, c

d:=b*b-4*a*c

d < 0

да

Вывод

«Корней нет»

нет

d:= 0

да

x:=-b/2/a

Вывод

«Корень уравнения х=», х

нет

х2:=(-b-sqrt(d))/2/a

8 of 11

begin

x1:=(-b+sqrt(d))/2/a;

x2:=(-b-sqrt(d))/2/a;

writeln ('Корни уравнения:');

writeln ('x1=', x1:9:3);

writeln ('x2=', x2:9:3)

end

begin

x:=-b/2/a;

writeln ('Корень уравнения x=', x:9:3)

end

program n_11;

var a, b, c: real;

var d: real;

var x, x1, x2: real;

begin

writeln ('Решение квадратного уравнения');

write ('Введите коэффициенты a, b, c >>');

readln (a, b, c);

d:=b*b-4*a*c;

if d<0 then writeln ('Корней нет')

else

if d=0 then

else

end.

9 of 11

Вложенные ветвления

if <условие1> then

if <условие2> then <оператор1>

else <оператор2>

else <оператор3>

else всегда относится к ближайшему оператору if

!

10 of 11

Решение линейного уравнения

program n_12;

var a, b, x: real;

begin

writeln ('Решение линейного уравнения');

write ('Введите коэффициенты a , b>>');

readln (a, b);

if a<>0 then

begin

x:=-b/a;

writeln ('Корень уравнения x=', x:9:3)

end

else if b<>0 then writeln ('Корней нет')

else writeln ('x – любое число');

end.

Корней нет

Список данных

a, b, x - вещ

a, b

a<>0

x:=-b/a

b<>0

Любое число

нет

да

да

нет

11 of 11

Самое главное

При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:

if <условие> then <оператор_1> else <оператор_2>

Для записи неполных ветвлений используется неполный условный оператор:

if <условие> then <оператор>

Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:

begin <последовательность операторов> end