Задание №6 ЕГЭ по информатике: разбор, шаблоны кода Python и анти-примеры | СмартКИМ
СмартКИМ УДОБНАЯ ПОДГОТОВКА К ЕГЭ И ОГЭ
Задачи №6 Решать в тренажере Войти в СмартКИМ
ЕГЭ (1–27) ОГЭ (1–15) Python: шпаргалка
Быстрый переход по номерам и темам
Базовый (1 балл) Время: 3-5 мин Python turtle Двойной цикл Теорема Пика Все задачи №6 в каталоге

Задание №6. Черепаха рисует, а мы считаем точки

Тема: Исполнитель Черепаха, фигуры на плоскости, точки с целыми координатами
Черепаха выполняет программу и рисует замкнутую фигуру (или две). Нужно посчитать, сколько точек с целыми координатами лежит внутри неё или на границе. Рисуем в turtle для проверки, считаем двойным циклом.

Что от тебя хотят

Черепаха стоит в начале координат, голова смотрит вверх (вдоль оси Y). Ей дают программу: Вперёд 10, Направо 90, Повтори, а иногда Поднять хвост, чтобы переместиться без следа. В итоге на плоскости остаётся контур. Вопрос: сколько точек с целыми координатами находится внутри фигуры (или внутри и на границе).

Идея в три шага

  1. Нарисовать. Запусти программу в модуле turtle и убедись, что фигура такая, как ты себе представлял.
  2. Выписать вершины. Для прямоугольника достаточно двух противоположных углов.
  3. Посчитать. Двойным циклом пройди по всем целым точкам и проверь неравенства.
В turtle голова черепахи по умолчанию смотрит вправо, а в задаче вверх. Поэтому первой строкой пишем left(90).

Разбор на живом примере

Черепаха выполняет: Повтори 2 [Вперёд 10 Направо 90 Вперёд 18 Направо 90]. Поднять хвост. Вперёд 5 Направо 90 Вперёд 7 Налево 90. Опустить хвост. Повтори 2 [Вперёд 10 Направо 90 Вперёд 7 Направо 90]. Сколько точек с целыми координатами находится внутри объединения двух фигур, включая точки на линиях?

  1. Первый цикл рисует прямоугольник с углами (0, 0) и (18, 10): вверх на 10, вправо на 18, вниз на 10, влево на 18.
  2. Потом хвост поднят: вверх на 5, вправо на 7. Черепаха оказывается в (7, 5) и смотрит вверх.
  3. Второй цикл рисует прямоугольник с углами (7, 5) и (14, 15).
  4. В первом вместе с границей: x от 0 до 18 и y от 0 до 10, это 19 · 11 = 209 точек. Во втором: x от 7 до 14 и y от 5 до 15, это 8 · 11 = 88 точек.
  5. Пересечение: x от 7 до 14 и y от 5 до 10, то есть 8 · 6 = 48. Эти точки посчитаны дважды: 209 + 88 − 48 = 249.

Ответ: 249. Это задача с ЕГЭ-2023, двойной цикл из второго окна даёт то же число.

Если в вопросе просят точки строго внутри, без границ, замени нестрогие неравенства <= на строгие <. Остальное не меняется.

Если фигура не прямоугольник

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

Разновидности и прототипы задания на экзамене

Тип 1: Одна замкнутая фигура
Прямоугольник или многоугольник. Считаем точки строго внутри или с границей.
Тип 2: Две фигуры
Между ними Черепаха поднимает хвост и переходит. Считаем точки объединения: внутри хотя бы одной.
Тип 3: Огромный масштаб
Числа в сотнях. Рисовать бессмысленно: считаем формулой или циклом без картинки.

Код решения на Python

Запустить код в онлайн-песочнице
from turtle import *forward() / right() / left()penup() / pendown()for x in range(...)0 <= x <= 18and / or
Рисуем фигуры и точки в turtle
from turtle import *

tracer(0)
k = 20
left(90)

for i in range(2):
    forward(10 * k)
    right(90)
    forward(18 * k)
    right(90)

penup()
forward(5 * k)
right(90)
forward(7 * k)
left(90)
pendown()

for i in range(2):
    forward(10 * k)
    right(90)
    forward(7 * k)
    right(90)

penup()
for x in range(-1, 20):
    for y in range(-1, 17):
        goto(x * k, y * k)
        dot(3, "red")

update()
done()
Считаем точки внутри объединения
count = 0
for x in range(-5, 30):
    for y in range(-5, 30):
        if (0 <= x <= 18 and 0 <= y <= 10) or (7 <= x <= 14 and 5 <= y <= 15):
            count += 1

print(count)

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

✕ Не так
Забыть left(90) в начале
В turtle голова смотрит вправо, в задаче вверх: фигура окажется повёрнутой.
✓ Так
Первой строкой писать left(90).
✕ Не так
Складывать точки двух фигур
Пересечение посчитается дважды.
✓ Так
Считать точку один раз, если она внутри хотя бы одной фигуры (or).
✕ Не так
Путать «внутри» и «включая границы»
Строгое неравенство отбрасывает границу, нестрогое оставляет.
✓ Так
Перечитать вопрос: «не включая границы» это <, «включая» это <=.
ГРОБ

ГРОБ №6: Огромные числа

Команды вроде «Вперёд 500» дают фигуру, которую не нарисуешь и которую бессмысленно считать глазами.

Как обойти
Не рисуй. Выпиши вершины и считай двойным циклом по диапазону координат без картинки, либо воспользуйся формулой Пика для многоугольника.

Лайфхаки на экзамене

  1. Рисуй с множителем k = 30: единица в задаче станет 30 пикселями, и фигура поместится на экране.
  2. Диапазон двойного цикла бери с запасом в несколько единиц за вершинами, чтобы не потерять крайние точки.
  3. Хвост поднят: penup(), опущен: pendown(). Это в точности «Поднять хвост» и «Опустить хвост».
Банк реальных задач №6 Открыть в тренажере СмартКИМ