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


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