#9.2 Case в Паскале: Оператор выбора ("варианта", "переключатель")
Primary tabs
Case - "оператор" выбора, используется в разных языках программирования, для описания ситуации сравнения какого-то значения с разными вариантами, и каких-то действий, которые надо предпринять, если найдено совпадение.
Расмотрим пример кода с участием условного оператора:
var a: integer;
begin
a := 5;
if (a = 3) then // вариант сравнения
writeln(3)
else if (a = 4) then // вариант сравнения
writeln(4)
else if (a = 6) then // вариант сравнения
writeln(6)
else // если ничего предыдущее не выполнилось
writeln('Что-то еще');
end.
Это пример можно переписать так с использование оператора case:
var a: integer;
begin
a := 5; // или a:=4, смотря какой вариант нам нужен
case a of
3 : writeln(3); // вариант сравнения
4 : writeln(4); // вариант сравнения
6 : writeln(6); // вариант сравнения
else // далее операция по умолчанию: если ничего предыдущее не выполнилось
writeln('Что-то еще');
end; // конец блока case
end.
(см. видео-разбор: Работа оператора Case, Общее представление для лучшего понимания)
-- обратите внимание, что у case есть собственный завершающий end.
Если для какого-то из вариантов требуется выполнить более одной операции, то:
var a: integer;
begin
a := 3;
case a of
3 :
begin
writeln(3);
writeln(3);
end; // вариант сравнения
4 : writeln(4); // вариант сравнения
6 : writeln(6); // вариант сравнения
else // если ничего предыдущее не выполнилось
writeln('Что-то еще');
end; // конец блока case
end.
"Неполная форма": без варианта по умолчанию
Оператор case может быть использован и в неполной форме без else, когда нас не интересуют никакие другие варанты, кроме точных совпадений:
var a: integer;
begin
a := 5; // или a:=4, смотря какой вариант нам нужен
case a of
3 : writeln(3); // вариант сравнения
4 : writeln(4); // вариант сравнения
6 : writeln(6); // вариант сравнения
end; // конец блока case
end.
Видео-разборы
Задачи для самостоятельного решения
- Пользователь вводит символ, если он равен 'a', то выведите на экран 1, если 'b', то 2, иначе 3
--решить с помощью оператора case
- Пользователь вводит символ, если он равен 'a', то выведите на экран 1, если 'b', то 2, если же 'c', то 3 (без использования варианта по-умолчанию)
--решить с помощью оператора case
Документация
- The Case statement: https://www.freepascal.org/docs-html/ref...
- Case: https://wiki.freepascal.org/Case
Страница посвящается третьему курсу ФКН СПО Воронежского Лестеха, в ходе занятий с которым (в основном группы 202 и 203) она и была добавлена в 2023 году ;)
- Log in to post comments
- 2221 reads