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

Блок-схема ветвления представлена на рисунке ниже. Каждая ветвь может быть любой степени сложности (рис. 2.9, а), а может вообще не содержать предписаний (рис. 2.9, б).

Структура «ветвление»

На алгоритмическом языке команда ветвления записывается так:

На алгоритмическом языке команда ветвления записывается так:

Для записи условий, в зависимости от результатов проверки которых выбирается та или иная последовательность действий, используются операции сравнения:

А<В — А меньше В;
А<=В — А меньше или равно В;
А=В — А равно В;
А>В — А больше В;
А>=В — А больше или равно В;
А<>В — А не равно В.

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

Пример 1

Алгоритм вычисления функции ƒ(x) = |х| для произвольного числа х.

Обратите внимание на второй блок этой блок-схемы. В нём представлены имена и типы величин (данных), обрабатываемых в алгоритме.

Условия, состоящие из одной операции сравнения, называются простыми.
В качестве условий при организации ветвлений можно использовать и составные условия. 
Составные условия получаются из простых с помощью логических связок and (и), or (или), not (не): and означает одновременное выполнение всех условий, or — выполнение хотя бы одного условия, a not означает отрицание условия, записанного за словом not.

Пример 2

Алгоритм определения принадлежности точки х отрезку [а, b].
Если точка х принадлежит данному отрезку, то выводится ответ ДА, в противном случае — НЕТ.

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

Пример 3 

Алгоритм, в котором переменной У присваивается значение большей из трёх величин А, Б и С.

Пусть А = 10, В = 30 и С = 20.
Тогда процесс выполнения алгоритма можно представить в следующей таблице:

Пример 4 

Алгоритм решения линейного уравнения ах + b = 0.

Пример 5 

Исполнитель Робот может выполнять ту или иную последовательность действий в зависимости от выполнения следующих простых условий:

справа свободно
слева свободно
сверху свободно
снизу свободно
клетка чистая
справа стена
слева стена
сверху стена
снизу стена
клетка закрашена

Также Робот может действовать в зависимости от выполнения составных условий.

Задание на урок:

Подумайте, в какую клетку переместится Робот из клетки, обозначенной звёздочкой, при выполнении следующего фрагмента алгоритма.

  • если справа свободно или снизу свободно
  • то закрасить
  • все
  • если справа стена
  • то влево
  • все
  • если слева стена
  • то вправо
  • все

Ответ отправить мне в VK