Что такое case в паскале

Что такое case в паскале

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

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

Значение «выражения» и значения констант («значение1» и т.д.) должны быть порядкового типа.
Выполнение оператора Case:
В заголовке оператора case вместо логического выражения фигурирует переменная или выражение порядкового типа, которую называют селектором. До этого в программе ей присваивается какое-либо значение. По ходу выполнения оператора case, значение переменной-селектора (значение выражения) сравнивается с различными, описанными в нем альтернативами (метками-значениями). Как только совпадение будет найдено, то выполняется блок кода при данной метке и происходит выход в основную ветку программы. Значения-метки являются константами, которые может принимать селектор. Их тип и тип селектора должны быть совместимы по присваиванию.

Если совпадений не будет, то выполняется блок else. Если блок else отсутствует (он является не обязательным), то никакой блок кода в операторе case не выполняется.
Если для разных переменных-селекторов требуется выполнить один и тот же оператор, то можно эти константы перечислить через запятую и после двоеточия указать этот оператор.
Пример 1:

Источник

Оператор Case в Pascal

В процессе создания какой-либо программы может понадобится принятие различных выходных данных, которые зависят от совершения определенных действий и результата. При помощи условного оператора Сase в Паскале выполнение подобной задачи значительно упрощается.

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

Оператор выбора в Pascal имеет следующие особенности:

Пример использования оператора If в Pascal:

Есть программа, которая запрашивает у ученика отметку по информатике и выдает реакцию определенным текстом. Особенность заключается в том, что выбор осуществляется не их двух, а из нескольких вариантов, поскольку результат ответа зависит от оценки.

Результат будет следующим:

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 в Паскале:

Данный оператор применяется в том случае, когда от значения выражения нужно осуществить всего один из нескольких операторов. Сase of Паскаль состоит из селектора и списка операторов. Им предшествует 1 и более констант выбора или же ключ else. У селектора должно присутствовать слово или тип размера байт. В результате, LongInt и строковый тип, которые должны быть совместимыми, это недопустимые типы селектора. При этом все константы обязаны быть уникальными.

Форма записи оператора вывода выглядит следующим образом:

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

Как видно, оператор Сase вызывает выполнение оператора, предшествующего константе выбора. Она должна быть одинаковой со значением селектора или диапазоном выбора селектора.

Оператор выполняет следующее действие после ключа else, если константы и диапазона выбора нет. При отсутствии ветви else, оператор не выполняется.

Схема оператора выбора:

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

Немного про case и goto

Если вы часто пользуетесь оператором выбора Case, то наверняка хотя бы раз применяли оператор безусловного перехода GoTo. Чтобы воспользоваться этим оператором, вам необходима специальная метка. Лучше всего разобрать все на примере задачи.

Решение представлено ниже:

program example;
label 1; //Объявляем все метки через запятую
var s, a: integer; // Блок меток расположен перед блоком объявление переменных.
begin
s := 0;
a := 0;
1: // Наша метка
S := S + a; // Плюсуем
read(a); //Считываем а
if (a > 10) or (a 10) or (a Оператор выбора в Паскале

Как известно список выбора записывается перед каждой серией оператора. В Pascal он содержит одну и более констант, идущих через запятую: их тип совместим с аналогичным значением переключателя. Также здесь может содержаться значения а..b (причем a Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

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

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

Из картинки видно, что 1 и 2 – это значения, принимаемые переменной n. При отрицательном результате в силу вступает оператор, стоящий после else. При этом Case в Паскале завершает свое действие END.

Оператор Сase (оператор выбора)

В качестве константы Сase может использоваться список констант, которые представляются в виде перечисленных и ограниченных типов данных, однако, число наименований не должно быть выше 255.

В качестве примера можно рассмотреть следующий фрагмент кода:

Источник

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.

Блок-схема, соответствующая оператору выбора:
Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

[Название файла: L2task9.pas ]

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

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

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

[Название файла: L2task10.pas ]

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

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

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

Источник

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

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

Что такое case в паскале. Смотреть фото Что такое case в паскале. Смотреть картинку Что такое case в паскале. Картинка про Что такое case в паскале. Фото Что такое case в паскале

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

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

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

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

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

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

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

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

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

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

Источник

Условный оператор

Теоретический материал (Паскаль)

Разветвляющиеся алгоритмы. Оператор If

До сих пор Вы использовали линейные алгоритмы, т.е. алгоритмы, в которых все этапы решения задачи выполняются строго последовательно. Сегодня Вы познакомитесь с разветвляющимися алгоритмами.

Определение. Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.

Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков:

Например, простыми отношениями являются следующие:

x-y>10; k 11; ‘мама’<>‘папа’.

В приведенных примерах первые два отношения включают в себя переменные, поэтому об истинности этих отношений можно судить только при подстановке конкретных значений:

Задача. Вычислить значение модуля и квадратного корня из выражения (х-у).

Koren:=Sqrt(x-y);
Modul:=Abs(x-y)

В этом случае программа будет иметь вид:

Program Znachenia;
Uses
Crt;
Var
x, y : integer;
Koren, Modul : real;
Begin
ClrScr;
write (‘Введите значения переменных х и у через пробел ‘);
readln (x, y);
Koren:=Sqrt(x-y);
Modul:=Abs(x-y);
write (‘Значение квадратного корня из выражения (х-у) равно ‘, Koren);
write (‘Значение модуля выражения (х-у) равно ‘, Modul);
readln;
End.

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

Поэтому наша программа имеет свою допустимую область исходных данных. Найдем эту область. Для этого запишем неравенство х-у>=0, то есть х>=у. Значит, если пользователем нашей программы будут введены такие числа, что при подстановке значение этого неравенства будет равно True, то квадратный корень из выражения (х-у) извлечь можно. А если значение неравенства будет равно False, то выполнение программы закончится аварийно.

Задание. Наберите текст программы. Протестируйте программу со следующими значениями переменных и сделайте вывод.

Каждая программа, насколько это возможно, должна осуществлять контроль за допустимостью величин, участвующих в вычислениях. Здесь мы сталкиваемся с разветвлением нашего алгоритма в зависимости от условия. Для реализации таких условных переходов в языке Паскаль используют операторы If и Case, а также оператор безусловного перехода Goto.

Рассмотрим оператор If.

Для нашей задачи нужно выполнить следующий алгоритм:

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

Запишем его с помощью оператора If. Это будет выглядеть так.

if x>=y
then
Koren:=Sqr(x-y)
else
write (‘Введены недопустимые значения переменных’);

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

В общем случае полная форма конструкции условного оператора имеет вид:

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

Управляющая структура if может показаться негибкой, так как выполняемые действия могут быть описаны только одним оператором. Иногда может потребоваться выполнение последовательности операторов. В этом случае хотелось бы заключить всю последовательность в воображаемые скобки. В Паскале предусмотрен этот случай.

if
then
begin
оператор 1;
оператор 2;
.
end
else
begin
оператор 1;
оператор 2;
.
end;
begin
оператор 1;
оператор 2;
end;

С учетом полученных знаний преобразуем нашу программу.

Program Znachenia;
Uses
Crt;
Var
x, y : integer;
Koren, Modul : real;
Begin
ClrScr;
write (‘Введите значения переменных х и у через пробел ‘);
read (x, y);
if x>=y
then
begin
Koren:=Sqr(x-y);
Modul:=Abs(x-y);
write (‘Значение квадратного корня из выражения (х-у) равно ‘, Koren);
write (‘Значение модуля выражения (х-у) равно ‘, Modul);
end
else
write (‘Введены недопустимые значения переменных’);
readln;
End.

Составным оператором является и такой оператор

Cимвол “;” в данном случае разделяет оператор присваивания S:=0 и пустой оператор.

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

Например, составной оператор

включает лишь один пустой оператор.

Внимание! Перед служебным словом Else разделитель (точка с запятой) не ставится.

Отметим, что большинство операторов в программах на языке Паскаль заканчиваются точкой с запятой, но после некоторых операторов точка с запятой не ставится. Сформулируем общие правила употребления точки с запятой:

Рассмотрим еще один пример.

Задача. Вывести на экран большее из двух данных чисел.

Program Example1;
Var
x, y : integer; <вводимые числа>
Begin
writeln(‘Введите 2 числа ‘); <вводим два целых числа через пробел>
readln(x,y);
if x>y
then
writeln (x) <если х больше y, то выводим х>
else
writeln (y); <иначе выводим y>
readln;
End.

Можно также использовать и сокращенную (неполную) форму записи условного оператора. Эта форма используется тогда, когда в случае невыполнения условия ничего делать не надо.

Неполная форма условного оператора имеет следующий вид.

Тогда если выражение, расположенное за служебным словом IF. в результате дает истину, выполняются действия после слова THEN, в противном случае эти действия пропускаются.

Задача. Составить программу, которая, если введенное число отрицательное, меняет его на противоположное.

Источник

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

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