Роботу нужно закрасить клетки, прилегающие к квадрату со стороной 4 клетки. Начальная позиция робота — вторая клетка от правого верхнего угла. Для выполнения задачи требуется не менее 3 циклических алгоритмов.
Квадрат имеет размеры 4x4 клетки. Начальная позиция робота — вторая клетка от правого верхнего угла. Это значит, что робот находится снаружи квадрата.
# Алгоритм 1: Движение вдоль нижней границы квадрата и закраска вниз
# Длина нижней границы квадрата = 4 клетки
# Закрашиваем 1 клетку вниз от каждой клетки нижней границы
ЦИКЛ 4 РАЗ:
ВВЕРХ # Переходим на клетку квадрата
ЗАРАШИВАЙ # Закрашиваем клетку над текущей
ВНИЗ # Возвращаемся на исходную
ЗАРАШИВАЙ # Закрашиваем исходную клетку (ниже квадрата)
ВНИЗ # Спускаемся на одну клетку вниз для следующего шага
КОНЕЦ ЦИКЛА
# Алгоритм 2: Движение вдоль левой границы квадрата и закраска влево
# Длина левой границы квадрата = 4 клетки
# Закрашиваем 1 клетку влево от каждой клетки левой границы
ЦИКЛ 4 РАЗ:
ВПРАВО # Переходим на клетку квадрата
ЗАРАШИВАЙ # Закрашиваем клетку справа от текущей
ВЛЕВО # Возвращаемся на исходную
ЗАРАШИВАЙ # Закрашиваем исходную клетку (левее квадрата)
ВЛЕВО # Сдвигаемся на одну клетку влево для следующего шага
КОНЕЦ ЦИКЛА
# Алгоритм 3: Движение вдоль верхней границы квадрата и закраска вверх
# Длина верхней границы квадрата = 4 клетки
# Закрашиваем 1 клетку вверх от каждой клетки верхней границы
ЦИКЛ 4 РАЗ:
ВНИЗ # Переходим на клетку квадрата
ЗАРАШИВАЙ # Закрашиваем клетку под текущей
ВВЕРХ # Возвращаемся на исходную
ЗАРАШИВАЙ # Закрашиваем исходную клетку (выше квадрата)
ВВЕРХ # Поднимаемся на одну клетку вверх для следующего шага
КОНЕЦ ЦИКЛА
# Основная программа:
# Находимся во второй клетке от правого верхнего угла.
# Нам нужно переместиться к началу одной из границ, чтобы начать закраску.
# Примерная последовательность команд (нужно будет адаптировать по точной начальной позиции):
# Перемещение к нижней границе для закраски вниз
ВЛЕВО (2)
ВНИЗ (4)
# Выполнение Алгоритма 1
ЦИКЛ 4 РАЗ:
ВВЕРХ
ЗАРАШИВАЙ
ВНИЗ
ЗАРАШИВАЙ
ВНИЗ
КОНЕЦ ЦИКЛА
# Перемещение к левой границе для закраски влево
ВЛЕВО (1)
ВВЕРХ (4)
# Выполнение Алгоритма 2
ЦИКЛ 4 РАЗ:
ВПРАВО
ЗАРАШИВАЙ
ВЛЕВО
ЗАРАШИВАЙ
ВЛЕВО
КОНЕЦ ЦИКЛА
# Перемещение к верхней границе для закраски вверх
ВВЕРХ (1)
ВПРАВО (4)
# Выполнение Алгоритма 3
ЦИКЛ 4 РАЗ:
ВНИЗ
ЗАРАШИВАЙ
ВВЕРХ
ЗАРАШИВАЙ
ВВЕРХ
КОНЕЦ ЦИКЛА
Примечание: Начальная позиция робота (вторая клетка от правого верхнего угла) позволяет ему начать закраску либо снизу, либо слева, либо сверху от квадрата. Приведенная программа демонстрирует, как можно использовать три циклических алгоритма для закраски соответствующих областей. Реальное выполнение потребует точной калибровки перемещений робота относительно квадрата.