
Тип 6 №47407
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. Черепахе был дан для исполнения следующий алгоритм:
Повтори 4 [Вперёд 8 Направо 90]
Повтори 3 [Вперёд 12 Направо 120]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом: Повтори 4 [Вперёд 8 Направо 90]
и находиться вне области, ограниченной линией, заданной данным алгоритмом: Повтори 3 [Вперёд 12 Направо 120]. Точки на линии учитывать не следует.

Комментарии к каждой строчке решения:
import turtle as t- Импортируем модульturtleи переименовываем его вtдля удобства.t.tracer(0)- Отключаем анимацию для ускорения отрисовки картинки, зачем нам тратить время на экзамене.t.left(90)- Поворачиваем голову черепахи на 90 градусов влево, чтобы соответствовать условию: “её голова направлена вдоль положительного направления оси ординат”.l = 30- Инициализируем переменнуюlдля установки удобного нам мсштаба отрисовки.for _ in range(4):- В соответсвии с псевдокодом задачи запускаем цикл для рисования квадрата.t.forward(8*l)- Перемещение черепахи вперед на 8 шагов.t.right(90)- Поворот черепахи на 90 градусов вправо.t.color('green')- Установка цвета черепахи на зеленый, для удобства отрисовки второй фигуры.for _ in range(3):- Запускаем второй цикл для рисования равностороннего треугольника (вторая фигура*).t.forward(12 * l)- Перемещение черепахи вперед на 12 шагов.t.right(120)- Поворот черепахи на 120 градусов вправо.t.up()- Поднимем перо для перемещения без рисования.for x in range(-30, 30):- Во вложенном цикле перебираем переменныехиyдля отрисовки точек по сетке.for y in range(-30, 30):t.goto(x * l, y * l)- Перемещение черепахи в заданные координаты.t.dot(2, 'red')- Рисование точки красным цветом с радиусом 2 (толщина пера).t.done()- Завершение работы черепахи необходимо, чтобы окно не закрывалось до нажатия пользователя.
import turtle as t
t.tracer(0)
t.left(90)
l = 30
for _ in range(4):
t.forward(8*l)
t.right(90)
t.color('green')
for _ in range(3):
t.forward(12 * l)
t.right(120)
t.up()
for x in range(-30, 30):
for y in range(-30, 30):
t.goto(x * l, y * l)
t.dot(2, 'red')
t.done()
После успешного запуска нашей программы мы получаем вот такой рисунок и переносим его в paint для удобного масштабирования и счета точек:


Зачастую мы можем получить ошибочный результат из-за подобных спорных точек, предлагается сильно увеличить масштаб отрисовки (переменную l) и присмотреться к этой точке снова (рисунок 2).