Хелпикс

Главная

Контакты

Случайная статья





Оператор выбора в Паскале



Оператор case в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы).

Если вариантов всего два, то можно обойтись и условным оператором IF, с которым мы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию ifthenelse в pascal становится совсем нецелесообразно. В этом случае оптимален оператор CASE варианта.

Рассмотрим использование оператора выбора в языке Паскаль на конкретном примере.

Пример: Программа, спрашивающая у ученика его отметку по информатике и реагирующая на нее подходящим текстом

Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от отметки.

 

Результат выполнения с использованием условного оператора if:

varotmetka: integer; begin writeln('Отметка? '); readln(otmetka); if (otmetka=1) or (otmetka=2) then writeln ('кошмар! ') elseifotmetka=3 then writeln('плохо') elseifotmetka=4 then writeln('неплохо') elseifotmetka=5 then writeln('отлично! ') elsewriteln('таких отметок не бывает'); end.

 

Данный пример демонстрирует нерациональную работу программиста и слишком запутанный код. Гораздо лаконичнее выглядит код при использовании оператора выбора.

 

Результат выполнения с использованием оператора выбора case:

varotmetka: integer; begin writeln('отметка? '); readln(otmetka); caseotmetkaof  1, 2: writeln ('кошмар! ');  3: writeln('плохо');  4: writeln('неплохо');  5: writeln('отлично! '); elsewriteln('таких отметок не бывает'); end end.

Блок-схема, соответствующая оператору выбора:

Задача. В программе необходимо запросить время дня в часах. В зависимости от введенного времени, выводить сообщение с указанием на то, к какому времени суток относится введенный час (полночь, ночь, утро, день, вечер)

 

Чтобы задать диапазон значений, используется один из двух вариантов:

Перечисление через запятую:

... case x of: 1, 2, 3, 4, 5: writeln('от одного до пяти'); ...

Использование..:

... case x of: 1.. 5: writeln('от одного до пяти'); ...

Перечисление или диапазон

После служебного слова case может стоять имя переменной или арифметическое выражение целого типа:

 

или символьного типа (char):

 

Задача. Case:
Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1–5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.