Условные операторы
Оператор выбора CASE
Оператор служит для выбора одного из помеченных
вариантов действия (операторов), в зависимости от значения "параметра". Оператор
имеет вид:
Case "параметр" Of
"список помеченных операторов"
Else "оператор"
End;
Здесь "параметр" - выражение или переменная порядкового типа.
Из "списка помеченных операторов" выполняется оператор
с меткой, включающей значение "параметра", иначе оператор после слова Else.
Конструкция Else "оператор" может отсутствовать.
Напомним, что "оператор" может иметь вид: Begin "операторы" end;
Пример операторов для
определения порядка целого числа N от 0 до 999:
case N of
0..9 : writeln('однозначное');
10..99 : writeln('двузначное');
100..999 : writeln('трехзначное')
else writeln('Число "N" не входит в указанный диапазон')
end;
Приведем пример программы случайного предсказания
одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных
случаях - вы "неудачник".
PROGRAM FUTURE;
var N : word;
BEGIN
writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');
Randomize;
N:=Random(20)+1; { N - случайное число от 1 до 20 }
writeln; write('Вас ожидает ');
case N of
1 : writeln('счастье');
2 : writeln('пятерка');
3 : writeln('дорога');
4 : writeln('двойка');
5 : writeln('болезнь');
6 : writeln('здоровье');
7 : writeln('деньги');
8 : writeln('любовь');
9 : writeln('встреча');
10 : writeln('дети')
else writeln('неудача')
end;
writeln('Нажми Enter');
readln;
END.
Здесь функция Random(x) генерирует случайное число, с равномерной
плотностью распределения на заданном интервале. Для инициализации распределения
в начале программы необходимо вызвать процедуру Randomize.
Условный оператор IF
Условный оператор включает в себя операторы, которые
выполняются или не выполняются в зависимости от записанного в операторе
условия. Оператор имеет вид:
IF "условие" Then "оператор1" Else "оператор2";
где "условие" - выражение логического типа;
"оператор1" выполняется, если условие верно ( True ),
"оператор2" выполняется, если условие не верно ( False ).
Например, вычисление квадратного корня из числа "a"
проводится при условии a>=0, операторами:
IF a>=0 Then b := Sqrt(a)
Else
begin
WriteLn('a
.