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

§ 24. Алгоритмы с ветвлением. Условия ветвления

"Информатика (в 2 частях)", Могилев А.В., Могилева В.Н., Цветкова М.С.

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

Кратко о теме

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

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

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

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

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

Условие ветвления — утверждение или логическое выражение, результатом проверки которого является «истина» или «ложь». Обычно условие содержит сравнение: x > 0, a = b или n ≤ 10. Благодаря ему исполнитель понимает, какую ветвь выбрать.

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

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

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

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

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

Истинное значение означает, что утверждение верно, а ложное — что оно неверно. Эти результаты должны определяться однозначно: для конкретных данных условие не может одновременно быть истинным и ложным. Поэтому запись «число хорошее» недостаточна, а запись x > 0 задаёт точное правило проверки.

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

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

Виды ветвления в алгоритмах

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

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

Разбор задач

Определить, является ли число положительным

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

  1. Записать условие x > 0.
  2. Проверить его для заданного значения x.
  3. Если результат истина, вывести сообщение «Число положительное».

Ответ: алгоритм имеет вид «если x > 0, то вывести сообщение». При x ≤ 0 сообщение не выводится, так как число не является положительным.

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

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

  1. Проверить, верно ли неравенство a > b.
  2. Если оно истинно, вывести a.
  3. Иначе вывести b; при равенстве будет выведено одно из одинаковых наибольших значений.

Ответ: используется полное ветвление «если a > b, то вывести a, иначе вывести b». Для любых двух чисел сработает только одна из ветвей.

Найти наибольшее из трёх чисел

Условие: даны a, b и c, нужно определить максимум. Удобно хранить текущего кандидата наибольшего числа в переменной m. Равенство не мешает алгоритму, потому что при нём кандидат может остаться прежним.

  1. Присвоить m значение a.
  2. Если b > m, заменить m на b.
  3. Если c > m, заменить m на c, затем вывести m.

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

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

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

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

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

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

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

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

С математикой ветвление связано через неравенства и логические условия. Записи x > 0, a = b и n ≤ 10 позволяют точно описать проверяемое утверждение. При решении задач важно не путать знак сравнения и смысл результата.

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

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

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

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

Чем ветвящийся алгоритм отличается от линейного?

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

Что может быть условием ветвления?

Условием может быть утверждение, которое принимает значение «истина» или «ложь». Например: x > 0, a = b, число делится на 2 без остатка.

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

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

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

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

Как записать выбор из нескольких возможных вариантов?

Используют несколько последовательных или вложенных ветвлений. Условия формулируют так, чтобы для одних и тех же данных выполнялась только нужная ветвь.

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

§ 24. Алгоритмы с ветвлением. Условия ветвления

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Могилев А.В., Могилева В.Н., Цветкова М.С.