Что означает case в паскале
Условные операторы
Бывает, что в процессе выполнения программы требуется реализовать разный набор команд в зависимости от произошедших до этого событий. В языках программирования это достигается с помощью специальных конструкций – условных операторов.
Чаще всего в качестве условного оператора в языках программирования используется конструкция if-else или ее сокращенный вариант if. Также существует оператор выбора case, который имеет более специфичное применение.
Оператор if-else
Когда выполнение основной ветки программы доходит до условного оператора if-else, то в зависимости от результата логического выражения в его заголовке выполняются разные блоки кода. Если логическое выражение вернуло true, то выполняется один блок (в Паскале начинается со слова then), если false – то другой (начинается со слова else). После выполнения одного из вложенных блоков кода, ход программы возвращается в основную ветку. Другой вложенный блок не выполняется.
Например, программа должна определять, ввел пользователь четное или нечетное число, и выводить на экран сообщение. Тогда программный код на языке Pascal может быть таким:
Бывают неполные формы условных операторов. В таком случае вложенный в if блок кода выполняется только в случая true логическом выражении заголовка. В случае false выполнение программы сразу передается в основной блок. Понятно, что ветка else в таком случае отсутствует.
В примере ниже, если переменная имеет значение меньше нуля, то ее значение изменяется (находится модуль числа). Если же значение переменной изначально больше нуля, то блок кода при операторе if вообще не выполняется, т.к. не соблюдено условие (n Добавить комментарий
Что означает case в паскале
значение1: оператор1;
значение2: оператор2;
значение3: оператор3;
..
else операторN
end;
Значение «выражения» и значения констант («значение1» и т.д.) должны быть порядкового типа.
Выполнение оператора Case:
В заголовке оператора case вместо логического выражения фигурирует переменная или выражение порядкового типа, которую называют селектором. До этого в программе ей присваивается какое-либо значение. По ходу выполнения оператора case, значение переменной-селектора (значение выражения) сравнивается с различными, описанными в нем альтернативами (метками-значениями). Как только совпадение будет найдено, то выполняется блок кода при данной метке и происходит выход в основную ветку программы. Значения-метки являются константами, которые может принимать селектор. Их тип и тип селектора должны быть совместимы по присваиванию.
Если совпадений не будет, то выполняется блок else. Если блок else отсутствует (он является не обязательным), то никакой блок кода в операторе case не выполняется.
Если для разных переменных-селекторов требуется выполнить один и тот же оператор, то можно эти константы перечислить через запятую и после двоеточия указать этот оператор.
Пример 1:
Pascal: Занятие №2. Часть 2: Оператор выбора в паскале
Оператор выбора в Паскале
Рассмотрим использование оператора выбора в языке Паскаль на конкретном примере.
Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от отметки.
Результат выполнения с использованием условного оператора 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.
Блок-схема, соответствующая оператору выбора:
[Название файла: L2task9.pas ]
Перечисление или диапазон
[Название файла: L2task10.pas ]
Детально разобраться в том, как работает оператор выбора Case в Паскале, можно просмотрев видеоурок:
Символьный тип char в Паскале
Для решения следующей задачи пригодится тип char — символьный.
Переменная данного типа объявляется так:
c: char;
и присваивает значения следующим образом:
c:=’a’;
Урок 10. Немного про Case и goto
Здравствуйте, дорогие читатели! Сегодня мы с вами поговорим про оператор выбора — case и оператор безусловного перехода — goto.
Если вы спросите любого программиста или учителя информатики, что такое goto, они скажут вам, что goto — зло. Но иногда, может быть, он необходим(для общего развития). Что же такое goto? Давайте разбираться.
Goto — оператор безусловного перехода. Все, что необходимо вам — специальная метка. Вместо того, чтобы объяснять вам, что надо делать с этой меткой и куда ее вставлять, я решу простую задачу и вы сразу все поймете.
Условие задачи: считывать число и суммировать его со всеми предыдущими числами, пока это число меньше десяти и больше минус десяти.
Более подробно про goto мы поговорим в следующий раз.
Чаще всего case называют оператором выбора. Итак, предположим, что переменная по условию задачи может принимать ограниченный диапазон значений или только конкретные значения. Текущее значение переменной (селектора) сравнивается со значениями-случаями, перечисленными в теле оператора case. Если значение селектора совпадает с каким-либо значением в операторе case, то выполняется ветка, относящаяся к данному случаю.
В операторе может быть несколько действий, то есть использоваться begin, end, а может быть пустой оператор. Значений может быть несколько.
Кстати, вы заметили, что значения выступают в роли меток? 🙂
Приведем два классических примера задач, в которых требуется case.
Задача 1.
С клавиатуры вводится цифра. Вывести ее буквенное представление.
Составьте программу, имитирующую своеобразный калькулятор, где 1-сумма двух чисел, 2-разность двух чисел, 3-произведение двух чисел, 4-целая часть от деления, 5-остаток от деления,6 — квадратный корень числа, иначе введен неизвестный номер операции.
Оператор выбора Case в Паскале
В языке программирования Паскаль оператор CASE используют в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы).
Синтаксис оператора case
Рассмотрим использование оператора выбора case на языке Паскаль на примере.
Условие задачи. Написать программу в Паскаль в которой необходимо указать номер месяца. В зависимости от введённого номера, программа в Паскаль должна вывести сообщение с указанием на то, к какому времени года относится введенный номер (зима, весна, лето, осень).
Попробуем решить задачу, используя условный оператор if
Как видим программа получилась достаточно компактной, но логические условия которые мы применили не всегда сразу понятны.
В том случае, если нужно сделать несколько сотен проверок, программа станет невероятно сложной и запутанной.
С помощью оператора case приведём нашу программу к следующему виду. Сейчас она стала более понятной, нежели с оператором if.
В операторе case можно использовать перечисление через запятую
Программа понятна, но всё же, в ней достаточно много строк. Используя символ запятой в качестве перечисления, можно существенно уменьшить количество строк в программе:
Применим это знание на практике: