Теоретический материал (Паскаль)
Оператор выбора CASE
Ранее Вы познакомились с условным оператором If, который позволяет программе выполнять переходы на ту или иную ветвь по значению булева условия. Используя несколько операторов If, можно производить ветвление по последовательности условий. В приведенном фрагменте показано, как при помощи ряда операторов If можно преобразовать целое число (в диапазоне 0-9) к его словесному представлению:
if Ziphra = 0
|
и т.д.
Вы уже, наверное, представили, насколько этот подход однообразный и утомительный. Язык Паскаль предоставляет для этих целей другую управляющую структуру (оператор выбора case), которая позволяет построить ветвление по ряду условий в форме, более удобной для чтения программ.
Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит так называемый ключ выбора (или селектор) - выражение любого типа (кроме типов REAL и STRING).
Общая форма записи следующая:
case Выражение of
|
Оператор выбора работает следующим образом. Сначала вычисляется значение выражения, стоящего после зарезервированного слова case, а затем выполняется оператор (или составной оператор), соответствующий результату вычисления выражения.
Может случиться, что в списке выбора не окажется константы, равной вычисленному значению ключа. В этом случае управление передается оператору, стоящему за словом ELSE.
Например,
case NUMBER mod 2 of
|
Если один оператор выполняется при нескольких значениях, то их можно перечислить через запятую.
case MONTH of
|
Оператором может являться не только простой оператор, но также составной и пустой операторы.
case CODE of
|
Любому заданному значению селектора соответствует лишь один вход в списке операторов. Константы должны принадлежать тому же типу, что и селектор. Если селектор принимает значение, которому не соответствует ни один вход, то будет выполняться оператор, следующий за словом else. Если же этого оператора нет, то никакие альтернативы не будут выполняться.
Если оператор должен выполняться при нескольких последовательных значениях селектора, образующих некоторый промежуток, можно использовать следующую форму записи:
case Chislo of
|
Посмотрите, как применен оператор выбора при решении следующей задачи:
Задача. Написать программу преобразования цифр в слова.
Program Number1;
|
Program Number2;
|