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

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

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

if условие then оператор1
             else оператор2;

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

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

Условный оператор можно использования без ключевого else, тогда в случае истинного значения true выражения выполняется только оператор следующий за then.

if условие then оператор1;

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

  • Операция отношения
<,>,>=,<=,<>,=
  • Логическая переменная
var
   c:boolean;
   x,y:integer;
.......
begin
   x:=10;
   y:=2;
   с:=(x/2)>(y-5);
   if c then <оператор>;
end.
  • Логическое выражение
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;