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


Решение по шагам
5 шаговРобот начинает в клетке слева от нижнего края вертикальной стены. В этой клетке нужно выполнить закрашивание.
Пока справа находится стена, Робот закрашивает текущую клетку и перемещается вверх. Так будут закрашены все клетки слева от вертикальной стены.
В верхней клетке слева от вертикальной стены Робот закрашивает угловую клетку.
Пока снизу находится горизонтальная стена, Робот перемещается вправо и закрашивает клетку. Так будут закрашены все клетки выше горизонтальной стены.
Один из корректных алгоритмов на языке Кумир:
$$нц пока справа не свободно закрасить вверх кц закрасить нц пока снизу не свободно вправо закрасить кц$$нц пока справа не свободно
закрасить
вверх
кц
закрасить
нц пока снизу не свободно
вправо
закрасить
кц
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не закрашивают исходную клетку Робота.
После подъёма вдоль вертикальной стены не закрашивают угловую клетку.
Продолжают движение вправо после окончания горизонтальной стены.
Используют команду движения без предварительной проверки свободного пути.