Ответ:
Судя по рисунку, закрашиваются клетки, прилегающие к стенам, кроме клеток проходов. Чтобы робот не зависел от неизвестных длины стен и положения проходов, нужно двигаться вдоль каждой стены и закрашивать клетку, проверяя, что стена рядом, а прохода нет.
Алгоритм на школьном языке Робота:
- Закрашивать клетку над горизонтальной стеной, пока справа от Робота есть стена и текущая клетка не является проходом; после каждого закрашивания перейти на одну клетку вправо.
- Дойдя до угла, перейти на клетку у вертикальной стены.
- Закрашивать клетки слева от вертикальной стены, двигаясь снизу вверх, пока рядом есть стена и текущая клетка не является проходом.
На языке исполнителя, где проверки прохода и стен задаются командами конкретной среды, это можно записать так:
ПОКА справа стена И клетка не прохода ДЕЛАТЬ
закрасить
вправо
КОНЕЦ ПОКА
перейти к нижнему концу вертикальной стены
ПОКА рядом с вертикальной стеной И клетка не прохода ДЕЛАТЬ
закрасить
вверх
КОНЕЦ ПОКАТочный синтаксис команд зависит от используемого исполнителя Робот; в условии не указана среда программирования. Проверка прохода необходима, чтобы проходы остались незакрашенными.
