No Image

Функция case в паскале

СОДЕРЖАНИЕ
2 просмотров
10 марта 2020

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

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

Синтаксис оператора case

Здесь 1 и 2 это те значения, которые может принимать переменная n. Если ничего не подходит, то выполняется тот оператор, который стоит после ELSE .
Не забываем, что оператор case заканчивается END;

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

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

Попробуем решить задачу, используя условный оператор if

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

В том случае, если нужно сделать несколько сотен проверок, программа станет невероятно сложной и запутанной.

С помощью оператора case приведём нашу программу к следующему виду. Сейчас она стала более понятной, нежели с оператором if.

В операторе case можно использовать перечисление через запятую

Программа понятна, но всё же, в ней достаточно много строк. Используя символ запятой в качестве перечисления, можно существенно уменьшить количество строк в программе:

Нашу программу можно ещё немного подсократить,если вместо запятой при указании диапазона использовать ..

Применим это знание на практике:

Здравствуйте, дорогие читатели! Сегодня мы с вами поговорим про оператор выбора — case и оператор безусловного перехода — goto.

Читайте также:  Как написать кроссворд в ворде

Если вы спросите любого программиста или учителя информатики, что такое goto, они скажут вам, что goto — зло. Но иногда, может быть, он необходим(для общего развития). Что же такое goto? Давайте разбираться.

Goto — оператор безусловного перехода. Все, что необходимо вам — специальная метка. Вместо того, чтобы объяснять вам, что надо делать с этой меткой и куда ее вставлять, я решу простую задачу и вы сразу все поймете.

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

Более подробно про goto мы поговорим в следующий раз.

Чаще всего case называют оператором выбора. Итак, предположим, что переменная по условию задачи может принимать ограниченный диапазон значений или только конкретные значения. Текущее значение переменной (селектора) сравнивается со значениями-случаями, перечисленными в теле оператора case. Если значение селектора совпадает с каким-либо значением в операторе case, то выполняется ветка, относящаяся к данному случаю.

Общая форма записи:

case of
значение1 : оператор;
значение2 : оператор;
. .
значениеN : оператор
else оператор;
end;

В операторе может быть несколько действий, то есть использоваться begin, end, а может быть пустой оператор. Значений может быть несколько.

Кстати, вы заметили, что значения выступают в роли меток? 🙂

Приведем два классических примера задач, в которых требуется case.

Задача 1.
С клавиатуры вводится цифра. Вывести ее буквенное представление.

Составьте программу, имитирующую своеобразный калькулятор, где 1-сумма двух чисел, 2-разность двух чисел, 3-произведение двух чисел, 4-целая часть от деления, 5-остаток от деления,6 — квадратный корень числа, иначе введен неизвестный номер операции.

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Читайте также:  Как получить сумку в лабиринте

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

  • Оператор case в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы).
  • Если вариантов всего два, то можно обойтись и условным оператором IF, с которым мы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию if then else в pascal становится совсем нецелесообразно. В этом случае оптимален оператор CASE варианта.

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

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

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

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:

var otmetka:integer; begin writeln(‘отметка?’); readln(otmetka); case otmetka of 1,2 : writeln (‘кошмар!’); 3: writeln(‘плохо’); 4: writeln(‘неплохо’); 5: writeln(‘отлично!’); else writeln(‘таких отметок не бывает’); end end.

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

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

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

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

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

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

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

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

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

Комментировать
2 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector