Для решения задачи воспользуемся системой программирования КуМир и исполнительным механизмом «Робот». Алгоритм будет состоять из двух основных частей: обход периметра прямоугольника и закрашивание угловых клеток.
Так как размеры области неизвестны, нам нужно использовать команды, которые позволяют роботу двигаться до стены или до границы.
В среде КуМир можно использовать следующие команды (псевдокод):
алг
нач
повтори
если справа стена то
вверх
иначе
вправо
конец если
пока не снизу стена
повтори
если снизу стена то
влево
иначе
вниз
конец если
пока не слева стена
повтори
если слева стена то
вверх
иначе
влево
конец если
пока не сверху стена
повтори
если сверху стена то
вправо
иначе
вверх
конец если
пока не справа стена
// Теперь робот на стартовой клетке, но мы его не закрашиваем
// Закрашиваем угловые клетки
закрасить
вправо
закрасить
вниз
закрасить
влево
влево
закрасить
кон
если ... то ... иначе ... конец если и пока ... кон являются основными управляющими структурами.справа стена, снизу стена, слева стена, сверху стена — условия, проверяющие наличие стены в соответствующем направлении.вправо, влево, вверх, вниз — команды перемещения робота.закрасить — команда закрашивания текущей клетки.вправо может быть право, закрасить — закрасить_клетку), и перед выполнением программы нужно настроить начальную позицию и ориентацию робота.Ответ: Разработан алгоритм для робота в среде КуМир, который обходит прямоугольную область по периметру и закрашивает угловые клетки, используя команды для проверки наличия стен и перемещения.