Для решения этой задачи нам понадобится алгоритм для Робота, который сможет перемещаться по полю, определять наличие стен и закрашивать клетки. Предположим, что у Робота есть команды:
вправо - перемещает Робота на одну клетку вправо.влево - перемещает Робота на одну клетку влево.вверх - перемещает Робота на одну клетку вверх.вниз - перемещает Робота на одну клетку вниз.стена_справа - возвращает истину, если справа стена, иначе ложь.стена_слева - возвращает истину, если слева стена, иначе ложь.стена_снизу - возвращает истину, если снизу стена, иначе ложь.стена_сверху - возвращает истину, если сверху стена, иначе ложь.закрасить - закрашивает текущую клетку.Алгоритм:
Текст алгоритма:
закрасить
пока не стена_справа:
вправо
закрасить
вниз
пока не стена_снизу:
пока не стена_слева:
влево
закрасить
вниз
пока не стена_справа:
вправо
закрасить
вниз
Примечание: Этот алгоритм предполагает, что Робот начинает в верхнем левом углу прямоугольника, и ему нужно закрасить все клетки, расположенные с внутренней стороны правой и нижней стен. Алгоритм будет корректно работать для любого размера прямоугольника.