|
||||
Оператор выбора Case Of. Решение задачСтр 1 из 2Следующая ⇒ Оператор выбора Case Of. Решение задач Часто возникают ситуации, когда приходится осуществлять выбор одного из нескольких альтернативных путей выполнения программы. Несмотря на то, что такой выбор можно организовать с помощью оператора if .. then, но можно воспользоваться специальным оператором выбора Case. Например, с клавиатуры вводится число, означающее день недели. Определите, какой день соответствует данному номеру. 1: понедельник 2: вторник 3: среда и т.д. перечисляются все возможные варианты и действия при выборе каждого из вариантов.
Выражение, которое записывается после ключевого слова case, называется селектором, оно может быть любого порядкового типа (перечислить порядковые типы данных – целый, символьный, логический). В выражении может быть записана · переменная; · логическое выражение; · арифметическое действие. Вариант состоит из одной или большего количества констант или диапазонов, разделенных запятыми. Они должны принадлежать к тому же типу, что и селектор, причем недопустимо более одного упоминания варианта в записи инструкции case. Из перечисленного множества операторов будет выбран только тот, перед которым записан вариант, совпадающий со значением селектора. Если такого варианта нет, выполняется оператор, следующий за словом else (если он есть). В варианте записываются те значения, которое может принимать выражение. Запомните такое правило! Сколько раз вы используете, оператор выбора, столько раз вам придется написать end. Если вам необходимо записать несколько действий, тогда вам необходимо поставить операторные скобки Begin end. Пример 1. Определить время года по месяцам.
Var a:byte; … Case a of 1, 2, 12 : Writeln(‘Зима’); 3..5 : Writeln(‘Весна’); 6..8 : Writeln(‘Лето’); 9..11 : Writeln(‘Осень’); End; Пример 2.По введенному с клавиатуры символу определить, что введено: буква, цифра, оператор или специальный символ. Var ch: char;…case ch of 'A'..'Z', 'a'..'z' : WriteLn('Буква'); '0'..'9' : WriteLn('Цифра'); '+', '-', '*', '/' : WriteLn('Оператор'); else WriteLn('Специальный символ')end;
Как видно из примера, в качестве варианта может выступать не только отдельное значение, но и диапазон значений. Диапазон записывается так: Кроме того, в качестве варианта может выступать перечень значений выражения (значения перечисляются через запятую).
|
||||
|