Вопрос:

Задание 12: На бесконечном поле имеются четыре стены, расположенные в форме квадрата. Длина каждой стены 4 клетки. Робот находится над верхней горизонтальной стеной во второй клетке от левого верхнего угла. Напишите для Робота программу, использующую не менее 3 циклических алгоритмов, закрашивающую все клетки справа, снизу и слева от квадрата, прилегающие к нему, а также соответствующие угловые клетки. Вы можете использовать цикл нц-раз-кц или нц-пока-кц. Робот должен закрасить только клетки, удовлетворяющие данному условию. На рисунке показаны клетки, которые Робот должен закрасить (см. рисунок).

Ответ:

Предположим, что у нас есть команды: `вправо` - робот перемещается вправо. `влево` - робот перемещается влево. `вверх` - робот перемещается вверх. `вниз` - робот перемещается вниз. `закрасить` - робот закрашивает текущую клетку. `стена_справа` - функция, которая возвращает истину, если справа стена. `стена_слева` - функция, которая возвращает истину, если слева стена. `стена_снизу` - функция, которая возвращает истину, если снизу стена. `стена_сверху` - функция, которая возвращает истину, если сверху стена. Вот программа: алг нач \# Закрашиваем клетки справа от квадрата нц 4 раз закрасить вправо кц влево \# Возвращаемся к квадрату \# Закрашиваем клетки снизу от квадрата вниз нц 5 раз закрасить влево кц вправо \# Возвращаемся к квадрату \# Закрашиваем клетки слева от квадрата вверх нц 4 раз закрасить влево кц вправо \# Возвращаемся к квадрату \# Закрашиваем верхний ряд слева направо вверх нц 3 раз вправо кц нц 5 раз закрасить влево кц вправо \# Возвращаемся к квадрату кон Объяснение: 1. Закрашиваем клетки справа: Робот начинает справа от квадрата и закрашивает 4 клетки вправо. 2. Закрашиваем клетки снизу: Робот перемещается вниз, затем закрашивает 4 клетки влево. 3. Закрашиваем клетки слева: Робот перемещается вверх и закрашивает 4 клетки влево. 4. Закрашиваем клетки сверху: Робот перемещается вверх и закрашивает 4 клетки слева.
Смотреть решения всех заданий с фото

Похожие