Эти операторы обеспечивают выполнение или невыполнение некоторого оператора, группы операторов или блока в зависимости от заданных условий. В Паскале используются два условных оператора: if и case.
Оператор условия if является одним из самых популярных средств изменения порядка выполнения операторов программы. Используются два варианта оператора:
if <условие> then <оператор1> else <оператор2>
if <условие> then <оператор>
Условие – это выражение булевого типа. Оно может быть простым и сложным. Сложные условия формируют с помощью логических операций and, or, not. Один оператор if может входить в состав другого оператора (вложенные условия). Конструкций с вложенностью более 2-3 лучше избегать в виду сложности их анализа при отладке программ.
Примеры фрагментов программ с оператором if
if A<20 then
if A>=15 then
writeln ('диапазон 15-20')
else
writeln ('за пределами'); if (A=B) and (C=D) then
begin
writeln('Норма');
F:=0;
end
else
begin
writeln('Превышение нормы');
F:=100
end;
Оператор выбора case
Является обобщением оператора if и позволяет сделать выбор из произвольного числа имеющихся вариантов. Состоит из выражения, называемого селектором, и списка параметров.
case <выражение-селектор> of
<список1>:<оператор1;>
. . . .
<списокN>:<операторN;>
else <оператор>
end;
Сразу вычисляется селектор, затем реализуется оператор, константа которого равна текущему значению селектора. Если ни одна константа не совпадает с селектором, выполняется оператор за else.
Примеры.
case s of
1..10: writeln('число ', s:4 ,' в диапазоне 1-10');
11..20: writeln('число ', s:4 ,' в диапазоне 11-20');
21..30: writeln('число ', s:4 ,' в диапазоне 21-30');
else writeln ('число вне пределов контроля');