Ветвление в программе

FIXME

Оператор if (или условный оператор) в краткой форме служит, чтобы выполнить какие-то действия, если выполняется некоторое условие.

Простой условный оператор - проверка условия

var 
  x,y,z:integer;
begin
  if x <> 0 then
  begin
    writeln(y / x);
  end;
 
end.

Полный оператор if служит для разделения ход выполнения программы на две ветви в соответствии с некоторым условием,

Полный условный оператор - разветвление программы

var 
  x,y,z:integer;
begin
  if x < 0 then
  begin
    ...  // Ветка с отрицательным значением X;
  end
  else
  begin
    ... // Ветка с положительным или нулевым(!!!) значением X;
  end;
end.

Перебор вариантов

var 
  x,y,z:integer;
begin
  case x of
    1           : writeln (x);
    2, 3, 4     : writeln (y);
    5 .. 7      : writeln (z);
    8, 9 .. 12  : writeln (x, y, z);
  else
    writeln ('Ошибка')
  end; 
end.

В большинстве версий языка Pascal, включая Free Pascal, допускается чтобы метки были неупорядочены, но не допускается неоднозначность:

Перебор вариантов

var 
  x,y,z:integer;
begin
  case x of
    1, 2        : writeln (x);
    2, 3, 6     : writeln ('Ошибка, о которой нам скажет компилятор');
    5 .. 7      : writeln (z);
  else
    writeln ('Ошибка !')
  end; 
end.

Обратите внимание - в операторе case перед else можно ставить точку с запятой; оператор case заканчивается непарной операторной скобкой end !

CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0