Программа должна заставить робота двигаться и закрашивать клетки. Предполагаем, что робот может закрашивать клетки и двигаться вверх, вниз, влево, вправо.
Логика программы:
Программа (псевдокод):
ЕСЛИ есть_стена_внизу ИЛИ край_поля_внизу: // Обнаружена верхняя граница нижней стены ПОКА НЕ есть_стена_вверху ИЛИ край_поля_вверху: ЗАкрасить_клетку() Вверх() КОНЕЦ ПОКА КОНЕЦ ЕСЛИ ЕСЛИ есть_стена_внизу ИЛИ край_поля_внизу: // Обнаружена верхняя граница нижней стены ПОКА НЕ есть_стена_вверху ИЛИ край_поля_вверху: ЗАкрасить_клетку() Вверх() КОНЕЦ ПОКА КОНЕЦ ЕСЛИПримечание: Данный псевдокод предполагает, что робот изначально находится над верхней стеной. Для точной реализации требуется знание конкретных команд робота (например, `ВНИЗ`, `ВВЕРХ`, `ЗАкрасить`). После обнаружения верхней стены, робот должен двигаться вверх, закрашивая каждую клетку, пока не достигнет верхней границы поля или верхней стены. Затем, для нижней стены, робот должен найти верхнюю границу нижней стены, закрасить клетку и двигаться вверх, закрашивая все клетки до верхней границы поля или верхней стены.
Пример последовательности действий для верхних клеток:
Пример последовательности действий для нижних клеток:
Ключевые команды:
ВНИЗВВЕРХЗАкраситьЕСЛИ есть_стена_внизуЕСЛИ есть_стена_сверхуПОКА НЕ есть_стена_вверхуПОКА НЕ есть_стена_внизуОтвет: Программа для закрашивания клеток, примыкающих сверху к верхней и нижней стенам, должна включать команды движения вверх и вниз, а также команду закрашивания, с использованием условий для обнаружения стен.