P
pro·school.ru
Каталог школ

Множественное ветвление: оператор выбора

💻 Информатика · 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) заменяет длинную цепочку условий.
  • Он подходит для отдельных дискретных значений, но не для диапазонов и неравенств.
  • Ветка иначе обрабатывает все случаи, не предусмотренные явно.