===== Ветвление в программе =====
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'' !