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

§ 12. Ветвление

"Информатика", Горячев А.В., Волкова Т.О.

Объяснение темы В оглавлении: § 12. Ветвление

Кратко о теме

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

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

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

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

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

Условие — утверждение, для которого можно определить, истинно оно или ложно. Например, для числа 7 утверждение «число больше нуля» истинно, а «число меньше нуля» ложно. Проверка условия помогает алгоритму выбрать, какие команды выполнять дальше.

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

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

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

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

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

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

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

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

Сравнение неполного и полного ветвления

СвойствоНеполное ветвлениеПолное ветвление
Какие результаты условия учитываютсяИстинный результатИстинный и ложный результаты
Действие при истинном условииВыполняетсяВыполняется действие для истинной ветви
Действие при ложном условииОтдельное действие не задано, алгоритм продолжает работуВыполняется действие для ложной ветви
Когда применятьКогда при ложном результате дополнительный шаг не нуженКогда требуется предусмотреть действия при обоих результатах

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

Разбор задач

Задача 1. Составить алгоритм: если число больше 0, вывести сообщение «Положительное». При ложном условии никакого сообщения по условию задачи выводить не нужно. Значит, отдельное действие для ложного результата не требуется. Здесь подходит неполное ветвление.

  1. Обозначим введённое число буквой x.
  2. Проверим условие x > 0.
  3. Если оно истинно, выведем сообщение «Положительное»; если ложно, пропустим вывод.

Ответ: если x > 0, вывести «Положительное»; затем продолжить алгоритм.

Задача 2. Составить алгоритм, который сообщает, является ли введённое число чётным или нечётным. Здесь ответ нужен для каждого целого числа, поэтому неполного ветвления недостаточно. Число чётное, если при делении на 2 остаток равен нулю; в противном случае оно нечётное.

  1. Считаем, что введено целое число x.
  2. Проверим, равен ли остаток от деления x на 2 нулю.
  3. Если условие истинно, выведем «Чётное»; если ложно — «Нечётное».

Ответ: использовать полное ветвление с проверкой остатка от деления на 2.

Задача 3. По двум числам вывести большее, а при равенстве сообщить, что числа равны. Нужно учесть не два, а три возможных случая: первое число больше, второе больше или числа равны. Проверка только одного условия может оставить один из вариантов без ответа, поэтому разберём случаи последовательно.

  1. Обозначим числа x и y. Сначала проверим, выполняется ли x > y.
  2. Если да, выведем x. Если нет, проверим, выполняется ли y > x.
  3. Если второе условие истинно, выведем y; иначе числа равны, и нужно вывести сообщение об этом.

Ответ: последовательные проверки дают ответ для всех трёх случаев, включая равенство чисел.

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

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

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

Можно перепутать действия для истинной и ложной ветвей, если не разобрать смысл условия. Например, при условии «x > 0» сообщение «Положительное» должно выводиться тогда, когда условие истинно. Проверьте алгоритм на конкретном положительном и отрицательном числе. Если результат проверки не совпадает с выбранной командой, ветви перепутаны.

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

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

Для понимания ветвления нужно знать, что алгоритм состоит из команд, которые выполняются в определённом порядке. Команда задаёт действие, а проверка условия решает, какой путь выбрать. Поэтому полезно представлять выполнение алгоритма как последовательность шагов.

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

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

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

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

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

Чем ветвление отличается от обычного следования команд?

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

Как понять, является ли условие истинным или ложным?

Нужно проверить, верно ли утверждение при заданных значениях данных. Например, если число равно 5, условие «число больше нуля» истинно, а условие «число чётное» ложно.

Когда достаточно неполного ветвления?

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

Зачем в полном ветвлении нужна ветвь для ложного условия?

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

Что делать, если нужно учесть больше двух возможных случаев?

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

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

§ 12. Ветвление

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика", Горячев А.В., Волкова Т.О.