Оператор выбора case. Оператор выбора CASE в Паскале. Оператор выбора case в Паскале
Скачать 17.98 Kb.
|
Оператор выбора CASE в Паскале Оператор case в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы). Если вариантов всего два, то можно обойтись и условным оператором IF, с которым мы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию if then else в pascal становится совсем нецелесообразно. В этом случае оптимален оператор CASE варианта. Рассмотрим использование оператора выбора в языке Паскаль на конкретном примере. Разберем работу оператора Case на примере. Каждый из вас, прежде чем выйти на улицу одевает одежду. Выбор этой одежды во многом зависит от температуры на улице. Если на термометре -15, то вы наденете куртку, брюки и сапоги. А если на улице +20, ваш выбор будет состоять из майки, шорт и сандалий. Представьте, что термометр с его показаниями температуры - это своего рода <селектор> в программе. В роли <констант> выступают градусы цельсия, а в роли <операторов> ваш гардероб. Тогда программу, которая выбирает гардероб в зависимости от температуры, можно записать следующим образом: program garderob; var temperatura:integer; begin write('Температура = '); read(temperatura); case temperatura of -24..-15 : writeln('Шапка-ушанка, фуфайка, ватные штаны, валенки'); -14..0 : writeln('Шапка, теплая куртка, штаны, ботинки'); 1..10 : writeln('Куртка, штаны, ботинки'); 11..17 : writeln('Ветровка, джинсы, кроссовки'); 18..25 : writeln('Кепка, майка, сандалии'); 26..35 : writeln('Плавки, маска, ласты'); else writeln('Лучше остаться дома') end; end. Пример: Программа, спрашивающая у ученика его отметку по информатике и реагирующая на нее подходящим текстом Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от отметки. Program otmet_; var otmetka:integer; begin writeln('отметка?'); readln(otmetka); case otmetka of 1, 2 : writeln ('кошмар!'); 3: writeln('плохо'); 4: writeln('неплохо'); 5: writeln('отлично!'); else writeln('таких отметок не бывает'); end end. Несколько важных замечанийТип селектора должен быть ординальным. То есть он может быть любого типа, кроме вещественного Real ; Тип константы должен совпадать с типом селектора. То есть, если у вас селектор имеет тип integer, то и константы выбора должны быть типа integer; Каждое из постоянных значений должно быть сопоставлено самое большее с одним оператором. То есть, говоря простым языком, константы не должны повторяться; Домашнее задание. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»). Дано целое число в диапазоне 1–7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник», 2 — «вторник» и т. д.). |