Задание 6 ЕГЭ по информатике: исполнитель Черепаха и точки внутри фигуры

Задание 6 ЕГЭ по информатике даёт программу для исполнителя Черепаха, который рисует на плоскости одну или две фигуры. Нужно посчитать точки с целыми координатами внутри фигуры или в пересечении фигур: удобно выполнить программу на клетчатой бумаге и записать координаты вершин.

Как решать

Черепаха начинает в начале координат, её голова направлена вверх, вдоль оси ординат, хвост опущен. Вперёд n и Назад n перемещают её на n единиц, Направо m и Налево m поворачивают на m градусов по часовой стрелке или против неё. Поднять хвост и Опустить хвост выключают и включают рисование, Повтори k [...] повторяет команды в скобках k раз.

Шаг 1. Выполните программу на клетчатой бумаге и запишите координаты вершин каждой фигуры. Следите за положением и направлением Черепахи после цикла: если повторов больше, чем нужно для замкнутой фигуры, лишние повторы проходят по уже нарисованным сторонам, но Черепаха заканчивает цикл в другой точке.

Шаг 2. Определите, что спрашивают: точки строго внутри, внутри вместе с границей, в пересечении или в объединении фигур.

Шаг 3. Для прямоугольника со сторонами a и b вдоль осей строго внутри лежат (a − 1) · (b − 1) точек, вместе с границей — (a + 1) · (b + 1). Пересечение двух таких прямоугольников — тоже прямоугольник: его левая граница — бо́льшая из левых границ, правая — меньшая из правых, по оси y так же.

Для фигур с наклонными сторонами формулы не хватает. Тогда на экзамене рисуют траекторию модулем turtle в Python в увеличенном масштабе и считают точки сетки внутри. Программы в примерах вычисляют вершины фигур и считают точки напрямую.

Примеры с решением

Пример 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент она находится в начале координат, голова направлена вдоль положительного направления оси ординат, хвост опущен. Черепаха выполнила программу:

Повтори 2 [Вперёд 14 Направо 90 Вперёд 9 Направо 90]

Определите, сколько точек с целочисленными координатами находится внутри области, ограниченной нарисованной линией. Точки на линии не учитывайте.

Проверка ответа на Python

# Черепаха: начало координат, голова смотрит вдоль оси Oy
x, y, dx, dy = 0, 0, 0, 1
points = [(x, y)]


def forward(n):
    global x, y
    x, y = x + dx * n, y + dy * n
    points.append((x, y))


def right():  # поворот на 90° по часовой стрелке
    global dx, dy
    dx, dy = dy, -dx


for _ in range(2):  # Повтори 2 [Вперёд 14 Направо 90 Вперёд 9 Направо 90]
    forward(14)
    right()
    forward(9)
    right()

# Линия — прямоугольник; внутренние точки лежат строго между его сторонами
x1, x2 = min(p[0] for p in points), max(p[0] for p in points)
y1, y2 = min(p[1] for p in points), max(p[1] for p in points)
inside = sum(1 for i in range(x1 + 1, x2) for j in range(y1 + 1, y2))
print(inside)

Ответ: 104

Черепаха поднимается на 14 единиц, поворачивает направо и проходит 9 единиц вдоль оси x, затем возвращается. Получается прямоугольник с вершинами (0, 0), (0, 14), (9, 14) и (9, 0).

Строго внутри лежат точки с x от 1 до 8 (8 значений) и y от 1 до 13 (13 значений): 8 · 13 = 104.

Пример 2

Черепаха начинает в начале координат, голова направлена вдоль положительного направления оси ординат, хвост опущен. Она выполнила программу:

Повтори 3 [Вперёд 20 Направо 90 Вперёд 16 Направо 90]
Поднять хвост
Вперёд 5 Направо 90 Вперёд 7 Налево 90
Опустить хвост
Повтори 2 [Вперёд 30 Направо 90 Вперёд 12 Направо 90]

Определите, сколько точек с целочисленными координатами находится в области пересечения фигур, ограниченных нарисованными линиями, включая точки на границах пересечения.

Проверка ответа на Python

# Черепаха: начало координат, голова смотрит вдоль оси Oy
x, y, dx, dy = 0, 0, 0, 1
figures = [[(x, y)]]  # точки каждой фигуры, нарисованной с опущенным хвостом
pen_down = True


def forward(n):
    global x, y
    x, y = x + dx * n, y + dy * n
    if pen_down:
        figures[-1].append((x, y))


def right():
    global dx, dy
    dx, dy = dy, -dx


def left():
    global dx, dy
    dx, dy = -dy, dx


for _ in range(3):  # Повтори 3 [Вперёд 20 Направо 90 Вперёд 16 Направо 90]
    forward(20)
    right()
    forward(16)
    right()
pen_down = False  # Поднять хвост
forward(5)
right()
forward(7)
left()
pen_down = True  # Опустить хвост
figures.append([(x, y)])
for _ in range(2):  # Повтори 2 [Вперёд 30 Направо 90 Вперёд 12 Направо 90]
    forward(30)
    right()
    forward(12)
    right()

# Обе линии — прямоугольники; пересечение прямоугольников — тоже прямоугольник
boxes = [(min(p[0] for p in f), max(p[0] for p in f), min(p[1] for p in f), max(p[1] for p in f)) for f in figures]
x1, x2 = max(b[0] for b in boxes), min(b[1] for b in boxes)
y1, y2 = max(b[2] for b in boxes), min(b[3] for b in boxes)
print((x2 - x1 + 1) * (y2 - y1 + 1))  # точки на границе пересечения тоже считаются

Ответ: 160

Первый цикл рисует прямоугольник 0 ≤ x ≤ 16, 0 ≤ y ≤ 20. Двух повторов достаточно, чтобы его замкнуть. Третий повтор идёт по тем же сторонам и заканчивается в точке (16, 20), голова смотрит вниз.

Без рисования Черепаха проходит 5 единиц вниз до (16, 15), поворачивает направо (теперь смотрит влево), проходит 7 единиц до (9, 15) и поворачивает налево, снова вниз. Второй цикл рисует прямоугольник −3 ≤ x ≤ 9, −15 ≤ y ≤ 15.

Пересечение: 0 ≤ x ≤ 9 (10 значений) и 0 ≤ y ≤ 15 (16 значений), всего 10 · 16 = 160 точек.

Типичные ошибки

Потренироваться на тренажёре

Частые вопросы

Можно ли в задании 6 использовать модуль turtle?

Да, на экзаменационном компьютере есть среды программирования, и модуль turtle входит в стандартную поставку Python. Его используют, чтобы нарисовать фигуру в масштабе и посчитать точки сетки на экране.

Как посчитать точки внутри прямоугольника?

Если стороны идут вдоль осей и имеют длины a и b, строго внутри лежат (a − 1) · (b − 1) точек с целыми координатами, а вместе с границей (a + 1) · (b + 1).

Сколько баллов и минут приходится на задание 6?

Задание оценивается 1 первичным баллом, в спецификации 2027 года на него отведено около 4 минут.

Официальные материалы

Другие задания

Все задания и структура экзамена — на странице ЕГЭ по информатике. Соседние разборы: задание 5 и задание 7.

Описание задания сверено 28 сентября 2026 года со спецификацией 2027 года (документы 2027 года). Примеры составлены нами по структуре демоверсии, каждое решение запущено, и напечатанный им ответ совпадает с ответом на странице. Кодолимп не связан с разработчиками экзамена. Заметили неточность — напишите нам.