Ветвление — алгоритмическая конструкция, в которой в зависимости от результата проверки условия («да» или «нет») предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися.
Блок-схема ветвления представлена на рисунке ниже. Каждая ветвь может быть любой степени сложности (рис. 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