CASE i OF
2, 4, 6, 3: Writeln(‘Чётнаяцифра’);
3, 5, 7, 9: Writeln('Нечётная цифра'); 10 .. 100: Writeln(‘Число от 10 до 100’);
ELSE
Writeln('Отрицательное число или больше 100'); END; {CASE}
Как вы уже заметили, в операторе выбор после двоеточия может указываться только один оператор.
Для того, чтобы выполнить несколько операторов, так же как и в условном операторе, применяют составной оператор.
CASE<порядковая переменная>OF<значение 1>: begin
<оператор 1 1>; ...
<оператор 1 n>end;
<значение 2>: begin
<оператор 2 1>; ...
<оператор 2 n>end;
. .
<значение N>: begin
<оператор N 1>; ...
ELSE
<оператор N n>end;
begin
<оператор Е 1>; ...
<операторЕn>end; END; {CASE}
Важное замечание.
Необходимо
заметить, что из всех возможных ветвей операторов управляющей конструкции выбор, выполняется только одна ветвь, даже если значение порядковой переменной совпадает с несколькими возможными значениями, отвечающими за разные ветви операторов.
Выполняется та ветвь, которая расположена раньше. Как видно из блок-схемы значение порядковой переменной сравнивается последовательно со всеми возможными значениями, и как только найдётся значение, которому равна порядковая переменная, выполняется ветвь операторов, сравнения прекращаются и управляющая конструкция прекращает свою работу. Поэтому при составлении программ с использованием управляющей конструкции "выбор", раньше необходимо располагать более "строгие" последовательности операторов.
Контрольные вопросы.
1 Для чего предназначен оператор выбора?
2 Могут ли выполниться несколько ветвей оператора "выбор" за один раз?
3 Сколько операторов можно написать после возможного значения переменной?
4 Может ли сразу несколько констант фигурировать в качестве возможного значения переменной?
Задания для самостоятельного выполнения лабораторной работы 5
1 Ввести номер дня недели и вывести соответствующий ему день недели на русском и английском языках.
2 Ввести номер месяца и вывести соответствующее ему название на русском языке.
3 Введите номер месяца. Напечатайте соответствующее месяцу время года: "зима", "весна", "лето", "осень".
4 Введите время (только часы). Напечатайте соответствующее этому времени сообщение: "Доброе утро", "Добрый день", "Добрый вечер", "Доброй ночи".
5 Зведите количество посадочных мест. Напечатайте соответствующий этому количеству вид транспорта: "велосипед", "мотоцикл", "легковой автомобиль", "микроавтобус", "автобус". (Возможны другие варианты)
6
Составить программу, которая выводит сообщение о своих возможностях {Введите номер необходимой операции:1 - сумма; 2 - разность; 3 - произведение; 4
- частное; }
7 Составить программу, которая выводит сообщение о своих возможностях {Введите номер необходимой функции:1 - квадрат; 2
- корень квадратный; 3 - синус; 4 - косинус}
8 Напишите программу, выводящую сообщение о возможных сообщениях {1 – фамилия ; 2- имя; 3 –
отчество; 4 - год рождения}
9Напишите программу для вычисления степени введённого с клавиатурычисла. Степень в диапазоне 0 .. 9.
10Определите количество символов, из которых состоит целое положительное число х.