Решение: Алгоритм для Робота
На бесконечном поле имеется вертикальная стена неизвестной длины. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. От правого конца этой стены вниз отходит вторая вертикальная стена неизвестной длины. Робот находится в клетке, расположенной справа от нижнего края первой вертикальной стены.
Напишите алгоритм для Робота, закрашивающий клетки, расположенные правее первой вертикальной стены, и угловую клетку, расположенную на пересечении горизонтальной и второй вертикальной стены. Робот должен закрасить только клетки, удовлетворяющие этому условию. Конечное расположение Робота может быть произвольным. Алгоритм должен работать для произвольных размеров и любого допустимого расположения стен, не приводить к разрушению Робота и завершаться.


Решение по шагам
3 шагаРобот начинает движение в клетке справа от нижнего края первой вертикальной стены. На каждом шаге вверх он закрашивает текущую клетку.
Цикл завершается в клетке непосредственно под горизонтальной стеной: сверху пройти нельзя. Эту клетку также нужно закрасить.
Затем Робот движется вправо вдоль ряда под горизонтальной стеной до второй вертикальной стены. В последней клетке перед стеной он закрашивает угловую клетку.
нц пока сверху свободно
закрасить
вверх
кц
закрасить
нц пока справа свободно
вправо
кц
закрасить
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не закрашивают последнюю клетку у верхнего конца первой вертикальной стены.
Закрашивают все клетки при движении вправо, хотя требуется закрасить только угловую клетку.
Пытаются выполнить команду вверх или вправо после того, как путь закрыт стеной.