Множественное ветвление: оператор выбора
💻 Информатика · 9 класс
Что такое множественное ветвление
Множественное ветвление — это форма выбора, при которой алгоритм идёт по одной из нескольких возможных веток в зависимости от значения некоторой величины. Когда вариантов всего два, хватает обычного условного оператора «если — иначе». Но если вариантов пять, десять или больше, длинная цепочка «если — иначе если — иначе если» становится громоздкой и трудной для чтения: легко потерять скобку или перепутать порядок условий.
Для таких ситуаций в языках программирования предусмотрен специальный оператор выбора. В Паскале он называется case, во многих других языках — switch. Он сравнивает одну величину с набором заранее перечисленных значений и выполняет именно ту ветку, которая совпала. Это делает программу аккуратной и наглядной.
Когда применять оператор выбора
Оператор выбора удобен, когда решение зависит ровно от одной величины, и эта величина принимает небольшое число отдельных, дискретных значений: номер дня недели, код нажатой клавиши, цифра, буква пункта меню. Если же условие — это сложное неравенство, например «средний балл больше 4,5», оператор выбора не подходит: значений в диапазоне бесконечно много, и перечислить их нельзя. Для таких случаев нужен обычный условный оператор.
| Признак задачи | Что выбрать |
|---|---|
| Два варианта (да или нет) | Условный оператор |
| Сравнение одной величины с набором значений | Оператор выбора |
| Проверка диапазонов и неравенств | Цепочка условных операторов |
| Множество независимых проверок | Несколько отдельных условий |
Разбор примера
Пусть по номеру месяца m нужно вывести время года. Запишем алгоритм через оператор выбора. Обратите внимание, как в одной ветке можно перечислить сразу несколько значений через запятую:
выбор m из
12, 1, 2 : вывод "Зима"
3, 4, 5 : вывод "Весна"
6, 7, 8 : вывод "Лето"
9, 10, 11 : вывод "Осень"
иначе вывод "Ошибка: нет такого месяца"
конец выбора
Здесь величина m по очереди сравнивается со списками значений в каждой ветке. Как только находится совпадение, выполняется соответствующее действие, а остальные ветки пропускаются. Ветка иначе срабатывает в том случае, если ни одно из перечисленных значений не подошло, — это защита от неверного ввода, например от числа 13 или 0.
Если попытаться записать ту же задачу обычными условиями, понадобится четыре вложенных оператора «если», и читать такой текст будет заметно труднее.
Частые ошибки. Забывают ветку иначе — и при неожиданном вводе программа молча ничего не делает, а ученик считает, что она «не работает». Путают оператор выбора с проверкой диапазонов: записать «оценка от 4,5 до 5,0» через
caseнельзя, потому что подходящих значений бесконечно много. Ещё одна ошибка — перечислять значения с пропусками и думать, что промежуточные тоже сработают.
Преимущества
- Код читается сверху вниз как таблица соответствий «значение — действие».
- Легко добавить новый вариант: достаточно дописать одну строку, не трогая остальные.
- Меньше вероятность перепутать вложенные условия и потерять скобку.
- Программа короче и понятнее, чем длинная цепочка условных операторов.
Кратко о главном
- Множественное ветвление выбирает одну из многих веток по значению величины.
- Оператор выбора (
caseилиswitch) заменяет длинную цепочку условий. - Он подходит для отдельных дискретных значений, но не для диапазонов и неравенств.
- Ветка иначе обрабатывает все случаи, не предусмотренные явно.