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


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