Оператор выбора реализует алгоритмическую конструкцию многовариантного выбора. Одним из способов осуществления подобного выбора является использование вложенных друг в друга операторов if… then…else. В языке Pascal существует отдельный оператор, позволяющий осуществить выбор одного варианта из нескольких. Его синтаксис:
case переменная of.
значение1: begin.
операторы1; end;
значение2: begin.
операторы2; end;
значение_п: begin.
операторы_п; end;
else.
begin.
операторы_иначе; end;.
Здесь переменная — переменная порядкового типа, значение которой будет поочередно сравниваться со значение1, значение2, значение_п. В случае совпадения выполняются соответствующие блоки операторов. Если значение переменной не совпало ни с одним из значение1, значение2, значение_п, то выполняется блок операторы_иначе. Часть else в операторе выбора может отсутствовать.
Важно!
Перед зарезервированным словом else должен присутствовать символ; (точка с запятой). Если блок операторов любого варианта содержит ровно один оператор, то операторные скобки можно не использовать.[1][2]
3) множество значений некоторого порядкового типа, указываемое как а.. Ъ, где, а и Ъ — минимальное и максимальное значения.
В последних двух случаях значения в списках и множествах не должны пересекаться, т. е. выбор той или иной ветви оператора case должен быть однозначным.
Пример 4.2
Написать программу перевода оценки в баллах (от 0 до 100) в оценку прописью. Перевод осуществляется по следующим правилам: 0—49 баллов — «неудовлетворительно», 50—69 — «удовлетворительно», 70—85 — «хорошо», 86—99 — «отлично». При оценке в 100 баллов должно выводиться сообщение «Наивысший балл!».
Решение
Программный код решения задачи приведен в листинге 4.3.
Листинг 4.3
Program vybor;
Var
b:integer; begin
write ('Введите количество баллов: '); Readln (b); case b of 0. .49:
writeln ('Неудовлетворительно');
50. .69:
writeln ('Удовлетворительно');
70. .85:
writeln ('Хорошо');
86. .99:
writeln ('Отлично');
100:
writeln ('Наивысший балл!'); end; // Конец оператора case end.
В результате выполнения программы в ответ на введенное пользователем количество баллов будет выведена соответствующая оценка на естественном языке. ?
- [1] В качестве значение1, значение2, значение_п могутвыступать:
- [2] определенное значение, например ' d' или 145; 2) список значений, перечисляемых через символ, (запятая);