На Горох
Информатика, 8 класс

§ 19. Ветвления

"Информатика", Поляков К.Ю., Еремин Е.А.

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

Кратко о теме

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

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

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

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

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

Условие — логическое выражение, принимающее одно из двух значений: истина или ложь. Результат сравнения двух величин, например x > 0, и есть такое значение. Условие помогает программе определить, какую часть алгоритма выполнять дальше.

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

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

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

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

Чтобы сделать выбор, программа проверяет условие и получает результат «истина» или «ложь». Условие может быть сравнением, например n == 0, или более сложным логическим выражением. Поскольку проверка всегда даёт один из двух результатов, алгоритму понятно, какую ветвь выбрать.

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

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

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

Виды ветвлений и их выполнение

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

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

Разбор задач

Вывести сообщение, если число положительное

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

  1. Обозначим введённое число переменной n.
  2. Составим условие n > 0: оно истинно для положительного числа.
  3. Поместим вывод сообщения в ветвь, которая выполняется при истинном условии; для ложного результата отдельной команды не зададим.

Ответ: если n > 0, программа выводит сообщение «Число положительное». Например, для n = 5 оно появится, а для n = 0 или n = −3 команда вывода будет пропущена. Такой выбор обработки и делает ветвление неполным.

Найти большее из двух чисел или сообщить о равенстве

Условие задачи: вводятся числа a и b, а программа должна назвать большее или сообщить, что числа равны. Здесь нельзя ограничиться одной проверкой «a > b», потому что она не объяснит, что делать при равенстве. Удобно сначала проверить равенство, затем сравнить числа и предусмотреть оставшийся случай.

  1. Сначала проверим a == b; если условие истинно, выведем сообщение о равенстве.
  2. Иначе проверим a > b; если это верно, выведем, что больше a.
  3. Если обе проверки ложны, значит, b больше a; выведем, что больше b.

Ответ: при a = 4 и b = 4 программа сообщает о равенстве, при a = 7 и b = 2 называет a, а при a = 1 и b = 6 — b. Проверка равенства поставлена отдельно, поэтому программа не ошибается, когда числа совпадают. Для выбора результата выполняется только одна соответствующая ветвь.

Определить диапазон числа

Условие задачи: нужно отнести введённое число к одному из диапазонов: меньше 0, от 0 до 10 включительно или больше 10. Слова «включительно» означают, что числа 0 и 10 входят во второй диапазон. Поэтому недостаточно сравнить число только с нулём — потребуется ещё одна проверка.

  1. Сначала проверим, меньше ли число нуля: при истинном результате выбираем первый диапазон.
  2. Если число не меньше нуля, проверим, не превышает ли оно 10: при истинном результате выбираем второй диапазон.
  3. Если и вторая проверка ложна, число больше 10, поэтому выбираем третий диапазон.

Ответ: для −2 программа выбирает диапазон «меньше 0», для 0 и 10 — диапазон «от 0 до 10 включительно», а для 11 — «больше 10». Последовательные проверки здесь образуют полное разбиение всех чисел на три случая. Границы учтены благодаря тому, что проверка числа на меньшее нуля не исключает его равенство нулю, а условие «не больше 10» включает число 10.

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

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

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

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

Не учитывают отдельные случаи — например, равенство чисел или попадание значения на границу диапазона. Такое случается, если проверяют только типичные примеры и не разбирают все возможные результаты. В итоге программа может неверно ответить при a = b, x = 0 или x = 10. Проверьте крайние значения и каждую границу, а затем убедитесь, что для всех случаев предусмотрена ровно одна ветвь.

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

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

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

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

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

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

В неполном ветвлении команда предусмотрена только для истинного условия. В полном есть отдельные команды и для истинного, и для ложного результата.

Что произойдёт, если условие окажется ложным?

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

Как записать несколько условий одновременно?

Условия можно соединить логическими операциями: «и», «или» и «не». Например, проверка x >= 0 и x

Можно ли помещать одно ветвление внутрь другого?

Да, такое ветвление называют вложенным. Оно удобно, когда следующий выбор зависит от результата предыдущей проверки.

Как проверить, что программа учитывает все возможные значения?

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

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

§ 19. Ветвления

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

Учебник

Оглавление →
Предмет
Информатика
Класс
8 класс
Учебник
"Информатика", Поляков К.Ю., Еремин Е.А.