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


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