мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Это старая версия документа!


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

FIXME

Простой условный оператор - проверка условия
var 
  x,y,z:integer;
begin
  if x = 0 then
  begin
    writeln(y);
  end;
 
end.
Полный условный оператор - разветвление программы
var 
  x,y,z:integer;
begin
  if x < 0 then
  begin
    writeln('Ветка с отрицательным значением X');
  end
  else
  begin
    writeln('Ветка с положительным или нулевым значением 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 заканчивается непарной операторной скобкой end !