Pascal: Занятие №2. Часть 2: Оператор выбора в паскале

На занятии будет рассмотрен оператор выбора в Паскале (Case). Узнаете как использовать символьный тип char

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

  • Оператор 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.

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

Задача 7. В программе необходимо запросить время дня в часах. В зависимости от введенного времени, выводить сообщение с указанием на то, к какому времени суток относится введенный час (полночь, ночь, утро, день, вечер)
  • Чтобы задать диапазон значений, используется один из двух вариантов:
    • Перечисление через запятую:
    • ...
      case x of:
        1,2,3,4,5: writeln('от одного до пяти');
      ...
    • Использование ..:
    • ...
      case x of:
        1..5: writeln('от одного до пяти');
      ...
Перечисление или диапазон

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

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

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

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

* Из задачника М. Э. Абрамян


Детально разобраться в том, как работает оператор выбора Case в Паскале, можно просмотрев видеоурок:

Символьный тип char в Паскале

Для решения следующей задачи пригодится тип char — символьный.
Переменная данного типа объявляется так:
c: char;
и присваивает значения следующим образом:
c:='a';

Задача 9. Калькулятор на Паскале. Ученик вводит с клавиатуры число, символ арифметического действия (+, -, *, /) и еще одно число. Компьютер должен напечатать результат. Указание: Для чисел и арифметического действия используйте оператор ReadLn в Паскаль
Поделитесь уроком с коллегами и друзьями:
2 комментария

    Виктория

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

      admin

      Имеется в виду, что ученик вводит сначала число, затем (отдельным действием) арифметическое действие, и затем опять число

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить