Название: Алгоритмы и программы (Афанасьева Т. В.)

Жанр: Информационные системы и технологии

Просмотров: 1351


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

 

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.

Таким образом, условный оператор – это средство ветвления вычислительного процесса.

Условный оператор позволяет выбрать одно из двух действий. Cyществует 2 вида условного оператора:

1) if b then s1;

2) if b then s1 else s2 ;

где В – выражение логического типа;

s1,s2 – отдельные операторы или операторы, сгруппированные вместе при помощи операторных скобок begin – end. Такой оператор называется составным.

Для условного оператора 1-го вида, если выражение B принимает

значение   true, выполняется оператор s1, стоящий после then. Если же значение выражения B – false, то оператор s1 не выполняется.

Для  условного  оператора 2-го вида, если выражение В принимает значение true, то  выполняется  оператор s1,  стоящий после  then, иначе выполняется оператор s2, стоящий после false.

 

Зарезервированному слову else в операторе if не должна предшествовать точка с запятой.

 

Рассмотрим пример

...........

if x>max then y:=max else y:=x;

При выполнении этого фрагмента программы, переменная y получит значение x, если только это значение не превышает max, в противном случае y станет равным max. В качестве условия могут использоваться различные условные выражения

x>0,

(x>9) and (y<2) {круглые скобки обязательны!} (f<>r) or (r>=4)

not (ttt<=1).

 

Следует помнить, что условный оператор управляет только одним оператором (т. е. после ключевых слов then и else может стоять только один оператор), поэтому если требуется произвести более

1-го действия, необходимо использовать составной оператор begin – end.

 

Рассмотрим другой пример: (фрагмент программы)

var x,y,max:real;

................

if (x<0) and (x>max) then begin

max:=x;

write(max);

end;

y:=x;

 

В этом примере переменная y всегда будет иметь значение переменной  x,  а  в  max  запоминать  максимальное  отрицательное значение x. Для обеспеченности однозначности в языке Turbo Pascal принято соглашение о том, что каждому else соответствует предыдущий свободный if:

 

if a>b then

if c<0 then write(c) else c:=0;