Вложенные ветвления |
||
Какие "ветвления" называются вложенными? | Если в алгоритме первое "ветвление" ещё не завершено, а на одной из его "ветвей" начинается новое "ветвление", то говорят, что второе "ветвление" вложено в первое. |
|
Как вложить "ветвление" в "ветвь то"? | Если второе "ветвление" начинается внутри "ветви то" первого "ветвления", то в самом общем случае представление двух вложенных "ветвлений" будет : | |
на алгоритмическом языке:
если УСЛОВИЕ_1 |
в виде схемы (блок-схемы): |
|
Как вложить "ветвление" в "ветвь иначе"? | Если второе ветвление начинается внутри "ветви иначе" первого ветвления, то в самом общем случае представление двух вложенных ветвлений будет : | |
на алгоритмическом языке: если УСЛОВИЕ_1
|
в виде схемы (блок-схемы) |
|
Сколько раз будет исполнен алгоритм с "ветвлениями"? | Возможны также варианты, когда и в "ветвь то", и в "ветвь иначе" вложены
одно или несколько "ветвлений". Также возможно, что некоторые из "ветвлений"
будут иметь сокращенную форму (то есть без "ветви иначе").
В задачах с "прыгающими" стенками для того, чтобы проверить правильность работы алгоритма с одним ветвлением, его нужно исполнить два раза, меняя положение "прыгающей" стенки. Если алгоритм содержит два ветвления, то он будет исполняться четыре (22=4) раза. А если три ветвления, то - восемь раз (23=8). |
Учебная задача |
||
Постановка задачи. | Постановка задачи: Разработайте алгоритм
для перемещения исполнителя из точки А в точку Б с рисованием следа.
Исходное положение "Стрелочки":
|
|
Решение задачи. |
Решение задачи: Здесь две "прыгающие" стенки. Первая может находиться
либо в вертикальном, либо в горизонтальном положении. Вторая - также может находиться либо в вертикальном, либо в
горизонтальном положении.
Обратите внимание, здесь в условиях и первого и второго ветвления поставлена проверка "впереди стена". Этот вариант не является единственно возможным. Если заменить условие "впереди стена" на условие "впереди НЕ стена", то надо поменять местами "ветви то" и "иначе", и результат исполнения алгоритма будет таким же. | |
Исполнение алгоритма: |
Представление алгоритма в виде блок-схемы :
![]() |