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

Получаем 6 линий точек, в каждой линии по 7 точек, итого 7 х 6 = 42 точки
Получаем 6 линий точек, в каждой линии по 7 точек, итого 7 х 6 = 42 точки