Вложенные управляющие структуры

Возможны различные вложения одной управляющей структуры в другую. Алгоритм (и блок-схема) при этом существенно усложняются. Поэтому желательно везде, где только возможно, применять метод пошаговой детализации, выделяя подзадачи с простыми алгоритмами. Если же сделать это не удается, то нужно использовать вложенные управляющие структуры. Рассмотрим основные виды вложений управляющих структур:

Цикл внутри цикла

Ветвление внутри цикла

Цикл внутри ветвления

Учебная задача

Постановка задачи. Постановка задачи: Разработайте алгоритм, исполняя который "Стрелочка" оставит след в виде пунктирной линии, начинающейся с шага  (шаг прыжок шаг прыжок и т.д.). Расстояние от А до Б неизвестно, но за точкой Б стоит стена. Рисуйте пунктирную линию, используя цикл. Для проверки возможности прыжка используйте ветвление.

Исходное положение "Стрелочки":
- точка А;
- направление вправо.
Результат: "Стрелочка" в точке Б.

Образец для воспроизведения рисунка:

Решение задачи. Решение задачи: Перемещение из А в Б в данной задаче равнозначно движению до тех пор, пока Стрелочка не упрётся в стену. Значит, нужно использовать цикл ПОКА с проверкой условия "впереди НЕ стена". Чтобы получить след в виде пунктирной линии, в теле цикла надо повторять пару команд "ШАГ ПРЫЖОК". Но прыжок можно сделать, только если есть свободное место для прыжка, то есть условие "впереди НЕ стена" истинно.
Таким образом, в теле цикла должна стоять команда ШАГ и вслед за ней ветвление в сокращенной форме, на ветви ТО которого стоит команда ПРЫЖОК.

Исполнение алгоритма:

АЛГОРИТМ ПУТЬ_1
  Дано: Исполнитель в т.А
  Надо: Исполнитель в т.Б
НАЧ
   ПОКА впереди НЕ стена
      НЦ
         ШАГ
         ЕСЛИ впереди НЕ стена
            ТО
               ПРЫЖОК
         ВСЁ
      КЦ
КОН
 

Представление алгоритма в виде блок-схемы: