На Горох
Информатика

Алгоритмы с ветвлением

"Информатика и ИКТ (в 2 частях)", Бененсон Е.П., Паутова А.Г.

Объяснение темы

Кратко о теме

Алгоритм с ветвлением выбирает дальнейшие действия по результату проверки условия. Это нужно, когда для разных исходных данных требуется разный ход решения: например, сообщить, чётное число или нечётное. Условие должно допускать ответ «да» или «нет», а каждый ответ направляет выполнение по своей ветви. Если действия предусмотрены для обоих ответов, ветвление полное; если только для одного — неполное. В блок-схеме проверку показывают ромбом.

Объяснение темы

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

Определения и обозначения

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

Условие — вопрос, на который можно ответить «да» или «нет»; от ответа зависит выбор действий. Условие помогает алгоритму определить, какой путь продолжить. Его можно сформулировать, например, так: «Число больше нуля?»

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

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

Как это устроено

Ветвление нужно, когда для разных исходных данных алгоритм должен выполнять разные действия. Если алгоритм не проверяет данные, он не сможет выбрать подходящую команду. Условие служит развилкой: его результат определяет, какой путь продолжится. Так алгоритм может обрабатывать разные ситуации, оставаясь последовательностью ясных шагов.

При проверке условия получают один из двух ответов: «да» или «нет». Поэтому условие важно формулировать так, чтобы его можно было однозначно проверить, например: «Число меньше десяти?» Ответ направляет выполнение по своей ветви. Если вопрос допускает несколько толкований, выбор пути становится ненадёжным.

В неполном ветвлении команда задаётся только для случая, когда условие выполнено. Такая конструкция подходит, если при ответе «нет» ничего особенного делать не требуется. Тогда алгоритм просто переходит к следующей команде. Например, сообщение о положительном числе выводят только тогда, когда проверка «число больше нуля?» дала ответ «да».

В полном ветвлении предусмотрены две ветви: одна выполняется при ответе «да», другая — при ответе «нет». Оно требуется, когда для обоих вариантов есть отдельные действия. Например, при проверке чётности нужно назвать число чётным или нечётным. После выполнения выбранных команд алгоритм продолжает работу, поэтому ветви могут соединяться перед следующими общими шагами.

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

Виды ветвления

Вид ветвленияКогда используетсяЧто происходит при ответе «да»Что происходит при ответе «нет»
Неполное ветвлениеКогда действие требуется только при выполнении условия.Выполняется заданная команда.Алгоритм переходит к следующей команде.
Полное ветвлениеКогда для каждого ответа предусмотрено своё действие.Выполняется команда первой ветви.Выполняется команда второй ветви.

Сначала определите, нужно ли действие для обоих ответов на условие. Если только для одного — выбирайте неполное ветвление; если для двух — полное. Затем проверьте, что команды в таблице соответствуют именно своим ответам.

Разбор задач

Сообщение о положительном числе

Условие: если число больше нуля, вывести сообщение «Положительное». Сообщение нужно только при выполнении условия, поэтому достаточно неполного ветвления. При отрицательном числе или нуле алгоритм просто продолжит работу.

  1. Ввести число.
  2. Проверить условие «число больше нуля?».
  3. Если ответ «да», вывести «Положительное»; если ответ «нет», перейти к следующей команде.

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

Чётное или нечётное число

Условие: по введённому числу определить, чётное оно или нечётное. Одного действия недостаточно: алгоритм должен сообщить результат для любого целого числа. Проверить чётность можно по остатку от деления на 2: у чётного числа остаток равен нулю.

  1. Ввести целое число.
  2. Проверить условие «остаток от деления числа на 2 равен 0?».
  3. При ответе «да» вывести «Чётное», при ответе «нет» — «Нечётное».

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

Выбор большего из двух чисел

Условие: пользователь вводит два числа, а алгоритм сообщает большее. Сначала сравним числа: проверка «первое число больше второго?» разделит случаи, когда первое больше, и когда оно не больше. Во втором случае второе число больше или числа равны, поэтому нужна дополнительная проверка.

  1. Ввести числа a и b.
  2. Если a > b, вывести «Большее число: a».
  3. Иначе проверить, выполняется ли a = b. Если да, вывести «Числа равны»; если нет, вывести «Большее число: b».

Ответ: алгоритм должен учитывать равенство, иначе он ошибочно назовёт одно из одинаковых чисел большим. Дополнительная проверка отделяет равные числа от случая, когда больше второе.

Типичные ошибки

Условие иногда записывают как действие, например «вывести число», хотя на него нельзя ответить «да» или «нет». Так происходит, когда вопрос и команду смешивают в одной записи. Проверьте себя: можно ли ответить на условие только «да» или «нет»? Если нет, сформулируйте его как проверяемый вопрос.

Ветви могут перепутать и выполнить команду не для того ответа. Обычно это случается, если не подписать ответы или не проследить смысл условия. Для самопроверки разберите оба варианта: представьте, что ответ «да», затем «нет», и проверьте, приводит ли каждый к нужному действию.

В полном ветвлении иногда забывают одну из ветвей. Тогда алгоритм не объясняет, что делать при одном из возможных ответов, даже если автор считает этот случай маловероятным. Проверьте, есть ли команда и для «да», и для «нет». Если какой-то вариант остался без действия, допишите его или выберите неполное ветвление, если оно подходит задаче.

В блок-схеме условие могут поместить не в ромб или оставить выходящие стрелки без подписей. Из-за этого непонятно, где происходит проверка и какой путь соответствует каждому ответу. Сверьте обозначения: условие должно быть в ромбе, а стрелки — вести к нужным действиям. Подписи «да» и «нет» должны однозначно указывать путь.

Связь с другими темами

Для работы с ветвлением нужно знать, что такое алгоритм, команда и последовательное выполнение команд: ветви состоят из команд, а после выбора выполнение продолжается по шагам. Условия часто строят на сравнении чисел и знаках отношений <, >, =, поэтому важно понимать, что именно показывают эти знаки. Те же приёмы используют в программах, где нужные действия зависят от введённых данных. Умение описывать выбор словами и блок-схемой помогает сначала продумать решение, а затем записать его в виде алгоритма или программы.

Что запомнить

  • Ветвление позволяет алгоритму выбирать дальнейшие действия.
  • Условие должно иметь ответ «да» или «нет».
  • При неполном ветвлении действия предусмотрены только для одного ответа.
  • При полном ветвлении предусмотрены действия для обоих ответов.
  • В блок-схеме условие изображают ромбом.
  • Стрелки от условия показывают возможные пути выполнения алгоритма.

Частые вопросы по теме

Зачем в алгоритме нужно ветвление?

Ветвление позволяет выбирать действия в зависимости от входных данных или результата проверки. Без него алгоритм выполнял бы один и тот же набор команд при любом ответе.

Чем полное ветвление отличается от неполного?

В полном ветвлении предусмотрены действия и для ответа «да», и для ответа «нет». В неполном команда задаётся только для одного ответа, а при другом алгоритм переходит дальше.

Каким должно быть условие в алгоритме?

Условие формулируют как вопрос, на который можно ответить «да» или «нет». Например: «Число больше нуля?»

Как обозначают ветвление в блок-схеме?

Условие помещают в ромб. Выходящие из него стрелки показывают пути для ответов «да» и «нет» и ведут к соответствующим действиям.

Что происходит после выполнения выбранной ветви?

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

Спросить по теме параграфа

Алгоритмы с ветвлением

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика и ИКТ (в 2 частях)", Бененсон Е.П., Паутова А.Г.