Вариант 1. Исполнитель Черепаха
Решение в Python
Подключение модуля: from turtle import *
Команды:
pendown(), pd(), down() – Опустить хвост
penup(), pu(), down() – Поднять хвост
forward(x), fd(x) – Вперед на х шагов
backward(x), bk(x), back(x) – Назад на х шагов
right(x), rt(x) – Поворот направо на х градусов
left(x), lt(x) – Поворот налево на х градусов
goto(x, y), setpos(x, y), setposition(x,y) – Перемещение исполнителя в точку с координатами (х, у)
dot(d, ‘color’) – Рисование точки размером d и цветом color
Увеличение масштаба и нанесение сетки
Чтобы визуально подсчитать точки необходимо увеличить масштаб. Для этого необходимо все значения перемещений домножить на одно и тоже число, например, 10.
Чтобы не ожидать выполнения анимации в начале алгоритма указываем команду tracer(0), которая выключает анимацию движения исполнителя. И в конце указываем команду update(), чтобы поле обновило состояние в соответствии с выполненными командами.
Если получившийся рисунок не входит в область окна, можно использовать команду screensize(x, y), где в качестве x и y указать достаточно большие числа, чтобы поместить весь рисунок.
Пример:
Исполнитель Черепаха действует на плоскости с декартовой системой координат, в которой единица длины по каждой из осей соответствует одному сантиметру. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n целое число), вызывающая перемещение в противоположном голове направлении; Направо m (где m целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k[Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится kраз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 4 [Вперёд 12 Направо 90]
Повтори 5 [Вперёд 4 Направо 45]
Определите, сколько различных точек с целочисленными координатами будет находиться на линиях, полученных при выполнении данной программы.
Решение:
![](http://infovik.ru/wp-content/uploads/2024/05/image.png)
Результат выполнения программы:
![](http://infovik.ru/wp-content/uploads/2024/05/image-1.png)
Осталось посчитать количество точек. Ответ: 50