Sign in Join
Wiki copytemporary

Else/ru

Deutsch · English · Español · Français · Suomi · Русский

Else at Language Reference

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

If Then Else

pascal
  If (condition)
  Then true_statement
  Else false_statement;

Вначале вычисляется значение условия condition. Если оно истинно, то выполняется оператор true_statement, в противном случае выполняется оператор false_statement. Значение условия должно быть типа Boolean иначе возникнет ошибка.

Более одного оператора в конструкции "if then else"

Если вам необходимо использовать два или более операторов в качестве инструкций true_statement или false_statement, то вам следует сгруппировать эти операторы, поместив их в блок Begin ... End.

pascal
  if boolean_condition then
    begin
      statement_one;
      statement_two;
    end 
  else
    begin
      statement_three;
      statement_four;
    end;

При обычном использовании, оператор else является особым исключением из правил, согласно которому каждый оператор должен оканчиваться точкой с запятой. Ни для оператора else, ни для предшествующего ему оператора не требуется ставить точку с запятой. В примере выше первый оператор end не оканчивается точкой с запятой, а последний оканчивается.

Однако, в случае вложенных операторов if, если else относится к внутреннему оператору if, то перед else точку с запятой ставить не нужно; если оператор else относится к внешнему оператору if, то перед ним нужно ставить точку с запятой:

pascal
  if a then
      if b then 
        begin
           (..)
        end;
      else
        begin
           (..)
        end;

В этом случае else относится к "if a"

pascal
  if a then
      if b then 
        begin
           (..)
        end
      else
        begin
           (..)
        end;

В этом случае else относится к "if b". Если это вызывает неясность, то это можно разрешить с помощью отсутствия кода в операторе else:

pascal
  if a then
      if b then 
        begin
           (..)
        end
      else
  else
      begin
           (..)
      end

From the Free Pascal wiki, page "Else/ru", as it stood on 2020-01-14 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.