Решение: Пересечение фигур Черепахи
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии.
Команда «Поднять хвост» переводит Черепаху в режим перемещения без рисования, а команда «Опустить хвост» — в режим рисования. Команда «Вперёд n» перемещает Черепаху на n единиц в направлении головы, команда «Назад n» — на n единиц в противоположном направлении. Команды «Направо m» и «Налево m» изменяют направление движения на m градусов по часовой стрелке и против часовой стрелки соответственно. Запись «Повтори k [Команда1 Команда2 … КомандаS]» означает повторение последовательности из S команд k раз.
Черепахе был дан алгоритм:
Повтори 2 [Вперёд 7 Направо 90 Вперёд 18 Направо 90]
Поднять хвост
Назад -2 Направо 90 Вперёд 9 Налево 90
Опустить хвост
Повтори 2 [Вперёд 8 Направо 90 Вперёд 5 Направо 90]
Определите, сколько точек с целочисленными координатами будут находиться внутри пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на линиях.
Решение по шагам
3 шагаПервые две итерации образуют прямоугольник с координатами $0 \leq x \leq 18$ и $0 \leq y \leq 7$.
После перемещения с поднятым хвостом и последующего опускания хвоста образуется второй прямоугольник, смещённый вправо и вниз. Его общая часть с первым прямоугольником имеет 9 целочисленных значений $x$ и 4 целочисленных значения $y$.
Так как точки на границах учитываются, количество точек в пересечении равно произведению числа целочисленных координат по двум направлениям.
$$9 \cdot 4 = 36$$Где здесь ошибаются
Не учитывать точки на границах прямоугольников.
Считать длину пересечения вместо количества целочисленных точек.
Ошибиться при обработке команды «Назад -2».