Копия викизеркало

Это зеркало вики с pascal.chat. Правка, история и вход — там.

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.

Версия 1, последнее изменение: WikiArchive, .