№ ZMGFYC (Уровень сложности: Базовый)
Основная волна 18.06.2026
Исполнитель Черепаха передвигается по плоскости и оставляет след в виде линии. Черепаха может выполнять три команды: Вперёд n (где n — число), Направо n (где n — число) и Налево n (где n — число).
По команде Вперёд n Черепаха перемещается вперёд на n единиц. По команде Направо n Черепаха поворачивается на месте на n градусов по часовой стрелке, при этом соответственно меняется направление дальнейшего движения. По команде Налево n Черепаха поворачивается на месте на n градусов против часовой стрелки, при этом соответственно меняется направление дальнейшего движения.
В начальный момент Черепаха находится в начале координат, её направление направлено вверх (вдоль положительного направления оси ординат).
Запись Повтори k [Команда 1 Команда 2 … Команда S] означает, что заданная последовательность из S команд повторится k раз.
Черепаха выполнила следующую программу:
Направо 45 Повтори 7 [Вперёд 5 Направо 45 Вперёд 10 Направо 135].
Определите количество точек с целочисленными координатами, которые будут находиться строго внутри области, ограниченной линией, заданной этой программой.
Правильный ответ:
27
Текстовое решение:
Для решения задания воспользуемся встроенной в Python библиотекой turtle
Где команда Вперед n - это forward(n), Направо n - right(n), Налево n - left(n)
Повтори k - это цикл for, который будет выполнен k раз - for i in range(k)
Где команда Вперед n - это forward(n), Направо n - right(n), Налево n - left(n)
Повтори k - это цикл for, который будет выполнен k раз - for i in range(k)
# импортируем библиотеку turtle
from turtle import *
# поворачиваем черепашку на 90 градусов влево
# чтобы направить вдоль оси ординат (Y)
left(90)
# задаем размер окна, чтобы была возможность передвигать картинку
screensize(5000, 5000)
# задаем масштаб, чтобы картинка была больше
# масштаб применяем только к команде forward() и goto()
scale = 45
# отключаем отображение процессса рисования, чтобы ускорить процесс
tracer(0)
# переписываем программу из задания
right(45)
for i in range(7):
forward(5 * scale)
right(45)
forward(10 * scale)
right(135)
# поднимаем хвост и строим поле из точек
up()
for x in range(-100, 100):
for y in range(-100, 100):
goto(x * scale, y * scale)
dot(3, 'purple')
done() # чтобы окно не закрывалось сразу после завершения программы
Получаем следующую фигуру

Считаем количество точек внутри области ограниченной линией, точки на линиях не учитываем

Считаем количество точек внутри области ограниченной линией, точки на линиях не учитываем
Получаем 3 линии точек, в каждой линии по 9 точек, итого получаем 9 x 3 = 27 точек