Оператор выбора в Паскале
- Оператор
case
в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы). - Если вариантов всего два, то можно обойтись и условным оператором IF, с которым мы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию
if then else
в pascal становится совсем нецелесообразно. В этом случае оптимален операторCASE
варианта.
Рассмотрим использование оператора выбора в языке Паскаль на конкретном примере.
Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от отметки.
Результат выполнения с использованием условного оператора if:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var otmetka:integer; begin writeln('Отметка?'); readln(otmetka); if (otmetka=1) or (otmetka=2) then writeln ('кошмар!') else if otmetka=3 then writeln('плохо') else if otmetka=4 then writeln('неплохо') else if otmetka=5 then writeln('отлично!') else writeln('таких отметок не бывает'); end. |
Данный пример демонстрирует нерациональную работу программиста и слишком запутанный код. Гораздо лаконичнее выглядит код при использовании оператора выбора.
Результат выполнения с использованием оператора выбора case:
1 2 3 4 5 6 7 8 9 10 11 12 | var otmetka:integer; begin writeln('отметка?'); readln(otmetka); case otmetka of 1,2 : writeln ('кошмар!'); 3: writeln('плохо'); 4: writeln('неплохо'); 5: writeln('отлично!'); else writeln('таких отметок не бывает'); end end. |
Блок-схема, соответствующая оператору выбора:
[Название файла: L2task9.pas
]
- Чтобы задать диапазон значений, используется один из двух вариантов:
- Перечисление через запятую:
... case x of: 1,2,3,4,5: writeln('от одного до пяти'); ...- Использование
..
:
... case x of: 1..5: writeln('от одного до пяти'); ...
- После служебного слова
case
может стоять имя переменной или арифметическое выражение целого типа: - или символьного типа (char):
Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1–5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.
[Название файла: L2task10.pas
]
Детально разобраться в том, как работает оператор выбора Case в Паскале, можно просмотрев видеоурок:
youTube
Символьный тип char в Паскале
Для решения следующей задачи пригодится тип
char
— символьный.
Переменная данного типа объявляется так:
c: char;
и присваивает значения следующим образом:
c:='a';
ReadLn
в Паскаль
[Название файла: L2task11.pas
]
Я решила задачу, не поняла как сделать так чтобы пользователь мог ввести числа и действие в одну строчку.
Имеется в виду, что ученик вводит сначала число, затем (отдельным действием) арифметическое действие, и затем опять число