Составь алгоритмы влево до стены, вправо до стены, вверх до стены, о которых идёт речь на с. 88. Запиши условия дано и надо. Проверь, что алгоритмы составлены правильно — что не возникнет отказа и что цикл не будет повторяться вечно.
В разделе «Цикл “пока”» движение вниз продолжается, пока снизу свободно. Для каждого другого направления меняем одновременно условие и команду движения: проверять надо именно ту сторону, в которую Робот собирается шагнуть.
алг влево до стены
дано | слева от Робота на конечном расстоянии есть стена
надо | Робот находится вплотную к стене слева
нач
нц пока слева свободно
влево
кц
кон
алг вправо до стены
дано | справа от Робота на конечном расстоянии есть стена
надо | Робот находится вплотную к стене справа
нач
нц пока справа свободно
вправо
кц
кон
алг вверх до стены
дано | выше Робота на конечном расстоянии есть стена
надо | Робот находится вплотную к стене сверху
нач
нц пока сверху свободно
вверх
кц
кон
По свойству
Каждый шаг приближает Робота к выбранной стене на одну клетку. Поскольку расстояние конечно, через конечное число шагов он окажется рядом с ней. Следующий запрос даст «нет», и цикл закончится.
По свойству
Влево: повторять влево, пока слева свободно.
Вправо: повторять вправо, пока справа свободно.
Вверх: повторять вверх, пока сверху свободно.
Каждый алгоритм завершается у соответствующей стены без отказа.
