Задание №6 — Анализ алгоритмов для исполнителя
Исполнитель Черепаха действует на плоскости с декартовой системой координат, в которой единица длины по каждой из осей соответствует одному сантиметру. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n - целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n - целое число), вызывающая перемещение в противоположном голове направлении; Направо m (где m - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Налево m (где m - целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 ... КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 3 [Опустить хвост
Повтори 2 [Вперёд 10 Направо 90 Вперёд 10 Направо 90]
Поднять хвост
Вперёд 5 Направо 90 Вперёд 5 Налево 90]
Определите в сантиметрах длину замкнутой ломаной, которая является границей объединения фигур, очерченных заданными алгоритмом линиями. В ответе укажите только число. Единицы измерения указывать не нужно.
Правильный ответ
80
Пояснение
Решение:
Внутренний цикл Повтори 2 [Вперёд 10 Направо 90 Вперёд 10 Направо 90] рисует квадрат и возвращает Черепаху в исходную точку с исходным направлением.
Затем с поднятым хвостом Вперёд 5 Направо 90 Вперёд 5 Налево 90 сдвигает её на , причём голова снова направлена вдоль оси .
Значит рисуются три квадрата со стороной 10 с левыми нижними углами , и .
Соседние квадраты перекрываются по квадрату . У каждого из двух соседей внутрь объединения уходят два отрезка границы длиной 5, то есть пара соседей «съедает» . Первый и третий квадраты касаются лишь в точке и длину не отнимают.
Итого .
Тот же ответ даёт прямой обход границы объединения: , , , , , , , , , , , и назад в ; сумма длин звеньев .
Ответ: 80