Оператор Case в Pascal

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

На фото изображено окно программы IDE PascalABC.Net.

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

  • Оператор Сase в Паскале применяется тогда, когда необходимо выполнить простые или составные действия в зависимости от значения переменной.
  • При наличии только двух вариантов достаточно условного оператора If, однако, при большем количестве не рекомендуется применение конструкции if then else. Оператор Сase будет более целесообразным.

Пример использования оператора 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 и строковый тип, которые должны быть совместимыми, это недопустимые типы селектора. При этом все константы обязаны быть уникальными.

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

На фото форма записи оператора вывода.

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

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

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

На фото схема оператора выбора.

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

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

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

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

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) then write(s) // Если (a > 10) or (a < -10), прекращаем работу программы
else goto 1; // Иначе перемещаемся в метку
end.

В операторе Сase применимы перечисления через запятую: case x of

1,2,3,4: writeln (до 4);

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

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

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

На фото пример оператора выбора.

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

На фото синтаксис оператора case.

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

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

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

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

На фото фрагмент кода с оператором case.

Ссылка на основную публикацию