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

Условный оператор IF THEN позволяют выбрать для выполнения один из операторов (или не выбрать ни одного).

Условный оператор имеет вид:

IF <условие> THEN <оператор1> ELSE <оператор2>

В выражении должен получаться результат, имеющий стандартный тип Boolean. Если результатом выражения является истинное значение (True), то выполняется оператор, следующий за ключевым словом then.

Если результатом выражения является значение False присутствует ключевое слово else, то выполняется оператор следующий за ключевым словом else. Если ключевое слово else отсутствует, то выполняется оператор, следующий за условным.

В качестве условия может быть:

  1. Операция отношения (<,>,>=,<=,<>,=).
  2. Логическая переменная.
    c:boolean;
    с=(x/2)>(y-5);

    if c then оператор;

  3. Логическое выражение.

    if (x>0) and (y<5) then оператор;

Синтаксическая неоднозначность, возникающая в конструкции: if e1 then if e2 then s1 else s2 разрешается путем следующей интерпретации этой конструкции:

if e1 then
begin
if e2 then s1 else s2
end;

В общем случае ключевое слово else связывается с ближайшим ключевым словом if, с которым еще не ассоциировано else.

Если при использовании условного оператора требуется выполнить два и более операторов, то их необходимо заключить в операторные скобки BEGIN - END , т.к. в этом случае идет речь о составном операторе, за счет которого расширяется возможность условного оператора.

Пример:

if a<b then begin
t:=t+2;
x:=abs;
writeln(t);
end
else begin
t:=t-8;
write(t);
end;