Тема. Программирование вычислительных процессов с ветвлением. Оператор CASE
Цель работы: научиться создавать программы для алгоритмов с ветвлением, в программе использовать оператор CASE
Оператор выбора CASE
Инструкция Case используется для выбора одного из нескольких направлений дальнейшего хода программы (последовательности инструкций, которые могут быть выполнены). Эта структура обеспечивает выбор одного из ряда возможных действий, в зависимости от значения, которое принимает переменная-селектор (условие). Выбор варианта действия осуществляется во время выполнения программы в зависимости от равенства значения переменной-селектора константе, указанной перед группой инструкций. В качестве переменной-селектора можно использовать переменную скалярного типа (integer или char). Конструкция имеет следующий формат:
CASE переменная-селектор OF
1 константа: 1 оператор;
2 константа: 2 оператор;
- - - - - - - - - - - - - - - - - - - -
N константа: N оператор
ELSE
оператор;
END;
Эта конструкция имеет и укороченный формат:
CASE переменная-селектор OF
1 константа: 1 оператор;
2 константа: 2 оператор;
- - - - - - - - - - - - - - - - - - - - -
К константа: К оператор
END;
Пример 5.1. Вводится число от 0 до 21. Вывести сообщение: число меньше 10, число больше 10, число равно 10. При вводе числа больше 20 или меньше 0 должно выводиться сообщение «Ошибка ввода».
Program Project1; //заголовок программы
var a: integer; //раздел описания переменных
begin //начало раздела операторов
write('Введите число а='); //вывод текста на экран
readln(а); //ввод значения а
case a of
0..9: writeln(‘число меньше 10’);
11..20: writeln(‘число больше 10’);
10: writeln(‘число равно 10’);
else
writeln(‘Ошибка ввода’)
end;
readln;
end.
Варианты заданий
При некорректном воде исходных данных программа должна выводить сообщение «Ошибка ввода».
1. Вводится число от 1 до 4, определяющее пору года. Дать название этой поры года (1 — зима, 2 — весна, 3 — лето, 4 — осень).
2. Вводится число от 1 до 7, определяющее день недели. Дать название этого дня (1 — понедельник, 2 — вторник, ..., 7 — воскресенье).
3. Вводятся числа 12, 1, 2, определяющие зимний месяц года. Дать название этого месяца года (1 — январь, 2 — февраль, 12 — декабрь).
4. Вводится число от 1 до 10. Дать название этого числа (1 — один, 2 — два,…, 10 — десять).
5. Дано натуральное число A (A<20), определяющее сумму денег в рублях. Дать для этого числа наименование: "рубль", "рубля", "рублей".
6. Дано натуральное число N (N<100), определяющее возраст человека в годах. Дать для этого числа наименование: "год", "года", "лет".
7. Вводится число от 1 до 12, определяющее месяц года. Дать название этого месяца года (1 — январь, 2 — февраль, ..., 12 — декабрь).
8. Вводится число от 1 до 20. Дать название этого числа (1 — один, 2 — два, ..., 20 — двадцать).
9. Вводятся числа 3, 4, 5, определяющие весенний месяц года. Дать название этого месяца года (3 — март, 4 — апрель, 5 — май).
10. Вводится число от 1 до 10. Дать название этого числа (1 — один, 2 — два, ..., 10 — десять).
11. Вводится число от 2 до 10. Вывести сообщение: четное или нечетное введенное число.
12. Вводится число от – 10 до 10. Вывести сообщение: введенное число больше 0, меньше 0 или равно 0.
13. Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «Рабочий день», «Суббота», «Воскресенье».
14. Вводится номер месяца (1, 2, …, 12). Вывести количество дней в указанном месяце.
15. Вводится значение года в укороченной форме (от 0 по 10). Вывести значение года текущего столетия в полном формате (0 – 2000, 1 – 2001 и т.д.).
Контрольные вопросы
1. Как в Паскале записывается оператор выбора?
2. Для чего предназначен оператор выбора?
3. Что такое полная и сокращенная записи оператора выбора?
4. Какого типа должна быть переменная, значения которой выбирают с помощью оператора CASE?