- Case паскаль что значит
- Оператор выбора Case
- Несколько важных замечаний
- Примеры ошибочного написания оператора Case:
- Условные операторы
- Оператор if-else
- Урок 10. Немного про Case и goto
- Оператор выбора Case Of в Pascal.
- Pascal: Занятие №2. Часть 2: Оператор выбора в паскале
- Оператор выбора в Паскале
- Символьный тип char в Паскале
Case паскаль что значит
Оператор выбора Case
Приветствую вас на нашем очередном занятии. Сегодня урок будет посвящен оператору варианта Case .
Оператор Case — это оператор множественного ветвления. То есть в зависимости от некоторого условия может быть выполнено одно из многочисленных продолжений программы. Рассмотрим структуру оператора Case , а затем я поясню на бытовом примере, как это работает.
где Case — зарезервированное слово (от англ. «выбор», «вариант»);
— выражение, исходя из значения которого будет выбран оператор из списка для дальнейшего выполнения;
of — зарезервированное слово (от англ. «из»);
— константа выбора;
— любые операторы языка Pascal, в том числе может быть составной или пустой операторы;
else — зарезервированное слово (от англ. «иначе»). Если ни одна из констант не подошла к селектору, то будут выполнены операторы, следующие за else. Блок else не обязателен, поэтому если его нет, оператор case завершит свою работу, так и не выполнив ни одного оператора из списка;
end — зарезервированное слово (от англ. «конец»), завершение оператора варианта.
Разберем работу оператора Case на примере. Каждый из вас, прежде чем выйти на улицу одевает одежду. Выбор этой одежды во многом зависит от температуры на улице. Если на термометре -15, то вы наденете куртку, брюки и сапоги. А если на улице +20, ваш выбор будет состоять из майки, шорт и сандалий. Представьте, что термометр с его показаниями температуры — это своего рода в программе. В роли выступают градусы цельсия, а в роли ваш гардероб. Тогда программу, которая выбирает гардероб в зависимости от температуры, можно записать следующим образом:
Пользователь вводит значение температуры, если это значение расположено в интервале от -24 до +35 градусов цельсия, то программа находит среди констант ту, которая равна введенному значению, и выводит на экран список гардероба, соответствующий этой температуре. Если введенное значение температуры лежит за пределом от -24 до +35, то на экран выводится сообщение из блока else — ‘Лучше остаться дома’.
Несколько важных замечаний
- Тип селектора должен быть ординальным. То есть он может быть любого типа, кроме вещественного Real (более подробно о типах данных читай здесь);
- Тип константы должен совпадать с типом селектора. То есть, если у вас селектор имеет тип integer, то и константы выбора должны быть типа integer;
- Каждое из постоянных значений должно быть сопоставлено самое большее с одним оператором. То есть, говоря простым языком, константы не должны повторяться;
- Константы выбора НЕ являются метками. То есть на них нельзя ссылаться в операторе перехода goto (об этом операторе будет отдельный урок).
Примеры ошибочного написания оператора Case:
Пример №1 — селектор не может иметь тип real
Пример №2 — тип констант не совпадает с типом селектора:
Пример №3 — повторение константы (константа 2 встречается два раза в списке):
Кстати, в этом примере наглядно показано, что может быть не только простым числом, но и представлять собой некий диапазон. Запись диапазона происходит следующим образом: .. Также может быть задана перечисляемым списком. Такой список записывается через запятую, например (при x:integer):
через запятую и в одинарных кавычках (при x:char):
Это все, о чем я хотел вам сегодня рассказать. Надеюсь, материал был понятен. Для закрепления навыков обязательно посетите раздел Практика, в нем собраны задачи по разным темам и даны готовые решения. Если возникли какие-то вопросы, не стесняйтесь задавать их, контакты для связи со мной находятся здесь. Если вопросов нет — жду вас на следующем уроке. Всего доброго!
Источник
Условные операторы
Бывает, что в процессе выполнения программы требуется реализовать разный набор команд в зависимости от произошедших до этого событий. В языках программирования это достигается с помощью специальных конструкций – условных операторов.
Чаще всего в качестве условного оператора в языках программирования используется конструкция if-else или ее сокращенный вариант if. Также существует оператор выбора case, который имеет более специфичное применение.
Оператор if-else
Когда выполнение основной ветки программы доходит до условного оператора if-else, то в зависимости от результата логического выражения в его заголовке выполняются разные блоки кода. Если логическое выражение вернуло true, то выполняется один блок (в Паскале начинается со слова then), если false – то другой (начинается со слова else). После выполнения одного из вложенных блоков кода, ход программы возвращается в основную ветку. Другой вложенный блок не выполняется.
Например, программа должна определять, ввел пользователь четное или нечетное число, и выводить на экран сообщение. Тогда программный код на языке Pascal может быть таким:
Бывают неполные формы условных операторов. В таком случае вложенный в if блок кода выполняется только в случая true логическом выражении заголовка. В случае false выполнение программы сразу передается в основной блок. Понятно, что ветка else в таком случае отсутствует.
В примере ниже, если переменная имеет значение меньше нуля, то ее значение изменяется (находится модуль числа). Если же значение переменной изначально больше нуля, то блок кода при операторе if вообще не выполняется, т.к. не соблюдено условие (n Добавить комментарий
Источник
Урок 10. Немного про Case и goto
Здравствуйте, дорогие читатели! Сегодня мы с вами поговорим про оператор выбора — 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 Of в Pascal.
Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.
Вывод сообщения на экран с помощью If.
Эта программа выводит на экран сообщение (Нуль, Один и т. д.) в зависимости от того какое мы введем число. Однако, ту же задачу можно выполнить более простым способом с помощью оператора Case of.
Использование Case Of.
В строке №8 записывается оператор выбора Case Of. Сначала записывается слово Case, затем записывается переменная, затем слово Of. После служебного слова Of идет перечисление всех возможных значений переменной (строка №9 — №13), а через двоеточие указывается действие, которое нужно сделать, если переменная принимает то или иное значение. Таким образом, если мы вводим с клавиатуры 0, то на экран выводится сообщение «Нуль» (строка №9), если вводим 1, то выводится сообщение «Один» (строка №10) и т.д.
Нам не нужно каждый раз писать конструкцию If…Then.
Достаточно указать CASE «переменная» OF, а затем для каждого значения этой переменной через двоеточие прописать вывод на экран. После перечисления всех операторов необходимо поставить служебное слово End.
Запустим программу и введем любое число от 0 до 4 (например, 4)
Напишем программу, которая определяет квартал года по введенному числу месяца.
Использование Case Of Else.
В строке №8 записываем оператор выбора Case Of. После слова Of (в строках №9 — №12) указываем возможные значения нашей переменной. Причем несколько значений можно указать в одной строке. Например, в строке №9 мы указываем 3 значения для переменной и действие, которое нужно совершить, если будут введены эти переменные. Т.е. если мы вводим с клавиатуры 1 или 2 или 3, то на экран выводится сообщение «Первый квартал».
В строке №13 записывается служебное слово Else. Если мы вводим с клавиатуры число, которое лежит вне диапазона чисел от 1 до 12, то должно совершиться действие, которое указывается после слова Else (строка №14).
Записываем программу в Паскале, запускаем ее и проверяем работоспособность, вводя различные числа.
Дополнение к материалу.
В данном примере вместо перечисления значений переменной можно использовать диапазон значений переменной. Например, строку №9 можно записать так: 1..3: writeln (‘Первый квартал’); Т.е. сначала указывается первое значение переменной, а затем через 2 точки указывается последнее значение переменной.
Источник
Pascal: Занятие №2. Часть 2: Оператор выбора в паскале
Оператор выбора в Паскале
- Оператор 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.
Блок-схема, соответствующая оператору выбора:
[Название файла: L2task9.pas ]
Чтобы задать диапазон значений, используется один из двух вариантов:
Перечисление через запятую:
. case x of: 1,2,3,4,5: writeln(‘от одного до пяти’); .
. case x of: 1..5: writeln(‘от одного до пяти’); .
Перечисление или диапазон
- После служебного слова case может стоять имя переменной или арифметическое выражение целого типа:
или символьного типа (char):
[Название файла: L2task10.pas ]
Детально разобраться в том, как работает оператор выбора Case в Паскале, можно просмотрев видеоурок:
Символьный тип char в Паскале
Для решения следующей задачи пригодится тип char — символьный.
Переменная данного типа объявляется так:
c: char;
и присваивает значения следующим образом:
c:=’a’;
Источник