Решение: Пересечение фигур Черепахи
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии.
Команды исполнителя: «Поднять хвост», «Опустить хвост», «Вперёд n», «Назад n», «Направо m» и «Налево m». Команда «Повтори k [Команда1 Команда2 … КомандаS]» означает, что последовательность из S команд повторится k раз.
Черепахе был дан алгоритм: Повтори 2 [Вперёд 8 Направо 90 Вперёд 18 Направо 90]; Поднять хвост; Вперёд -4 Направо 90 Вперёд 9 Налево 90; Опустить хвост; Повтори 2 [Вперёд 17 Направо 90 Вперёд 7 Направо 90]. Определите, сколько точек с целочисленными координатами будут находиться внутри пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на линиях.
Решение по шагам
3 шагаВыберем начало координат, начальное направление движения примем за положительное направление оси ординат. Последовательно выполним команды и нанесём на координатную плоскость все отрезки, построенные при опущенном хвосте.
В первой части алгоритма команда «Повтори 2» формирует первую ломаную. После перемещения с поднятым хвостом Черепаха занимает положение, из которого строится вторая фигура.
Наложением построенных фигур определяется их общая область. Подсчёт всех точек с целочисленными координатами внутри этой области и на её границе даёт 72 точки.
Где здесь ошибаются
Не учитывать отрезки, пройденные после повторного выполнения команд.
Ошибочно считать, что команда «Вперёд -4» задаёт движение в направлении головы.
Не включать в подсчёт точки, лежащие на границах пересечения.