ЕГЭ · Информатикаподготовка по заданиям
Задание 6 из 27Алгоритмы

Алгоритмы и программирование · 1 балл

Исполнители и координаты

Рисование и подсчёт точек

Выполнить алгоритм исполнителя и найти точки, площадь, периметр или расстояние.

Алгоритмы целое число

Что проверяет

Определение возможных результатов работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов.

Основание: проект спецификации и кодификатора КИМ 2027. Открыть документы

Теория

Что нужно знать

Задание 6 проверяет умение выполнять алгоритм исполнителя и отвечать на вопрос о следе: сколько целых точек внутри фигуры, на границе, какова площадь, периметр или расстояние. В проекте КИМ 2027 структура не менялась: 1 первичный балл, раздел «Алгоритмы и программирование». В демоверсии 2027 Черепаха рисует две фигуры, и нужно найти число целых точек в их пересечении.

Минимум для задания 6

  • какие команды есть у исполнителя и что они меняют
  • где исполнитель находится в начале и куда направлен
  • как устроена запись «Повтори k [...]»
  • как определить координаты после каждой команды
  • чем отличаются «Поднять хвост» и «Опустить хвост»
  • что значит «внутри», «на границе», «включая границы»
  • как считать целые точки в прямоугольнике и треугольнике
  • как найти пересечение и объединение фигур
  • как формула Пика и НОД помогают считать точки
  • когда нужен перебор, а когда достаточно формулы
  • в каких единицах требуется ответ

Что происходит в задании 6

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

  • Исполнитель начинает в начале координат; начальное направление и положение пера или хвоста заданы в условии.
  • Команды движения меняют координаты, команды поворота — направление.
  • Поднять или опустить хвост (перо) включает и выключает рисование.
  • «Повтори k [...]» повторяет тело цикла k раз; вложенные циклы перемножаются.
  • Вопрос может быть про точки, площадь, периметр, расстояние или закрашенные клетки.
  • Ответ — целое число; единицы измерения в ответ не пишут.

Координаты и направление

Удобно считать, что ось x направлена вправо, ось y — вверх. В задачах про Черепаху начальное направление обычно совпадает с положительным направлением оси y, то есть «на север».

  • Вперёд n: x увеличивается на n·sin θ, y — на n·cos θ, где θ — угол от направления «на север» по часовой стрелке.
  • Назад n делает то же самое с минусом; Назад −n эквивалентно Вперёд n.
  • Направо m: θ увеличивается на m; Налево m: θ уменьшается на m.
  • После поворота на 90° по часовой стрелке из «севера» получается «восток»: (0, 1) → (1, 0).
  • У Чертёжника команда «Сместиться на (a, b)» просто прибавляет a к x и b к y; направление для неё не важно.
x' = x + n·sin θy' = y + n·cos θθ' = θ ± m

Циклы и замкнутые фигуры

Повторение одного и того же набора команд рисует правильную фигуру. Тип фигуры зависит от суммарного угла поворота за одну итерацию.

  • Суммарный поворот 360° за цикл замыкает фигуру.
  • Повтори 4 [Вперёд a Направо 90] — квадрат a×a.
  • Повтори 3 [Вперёд a Направо 120] — правильный треугольник.
  • Повтори 6 [Вперёд a Направо 60] — правильный шестиугольник.
  • Если за цикл исполнитель поворачивается на 180°, он проходит ту же линию в обратном направлении.
  • Если суммарный угол не делит 360°, фигура может остаться незамкнутой или образовать звезду.
угол за цикл = k · mчисло сторон = 360 / m, если m делит 360

Что именно считают

От формулировки зависит, включать ли границу и какую величину искать. Прочитайте вопрос до того, как начнёте рисовать.

  • «Внутри, точки на линии не учитывать» — строгое неравенство: граница не входит.
  • «Включая точки на границах» — нестрогое неравенство: граница входит.
  • «Точно на границе» — только точки, лежащие на линиях.
  • «Площадь» — число квадратных единиц; «периметр» или «длина границы» — сумма длин внешних отрезков.
  • «Пересечение» — общая часть фигур; «объединение» — всё, что покрыто хотя бы одной фигурой.
  • «Расстояние между началом и концом» — длина отрезка между двумя положениями исполнителя.
  • «Сколько клеток закрашено» — количество различных клеток, а не число команд.
  • При повторной закраске клетка считается один раз, если не сказано «перекрасить».

Целые точки: формулы

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

  • Прямоугольник a×b: площадь ab, периметр 2(a+b).
  • Строго внутри прямоугольника с целыми углами: (a−1)(b−1) точек.
  • С границей: (a+1)(b+1) точек.
  • На отрезке с концами в целых точках: НОД(|dx|, |dy|) + 1 точек, включая концы.
  • Формула Пика: S = I + B/2 − 1, где I — внутренние точки, B — точки на границе.
  • Для объединения: |A∪B| = |A| + |B| − |A∩B|; для площади действует та же формула.
  • Пересечение прямоугольников: x от max(левых границ) до min(правых), y — аналогично.
S = I + B/2 − 1B = Σ НОД(|dx|, |dy|)|A∪B| = |A| + |B| − |A∩B|

Как проверить себя

Ошибки в задании 6 почти всегда арифметические: не тот знак поворота, потерянный сдвиг или неверно учтённая граница.

  • Нарисуйте фигуру на бумаге в клетку и подпишите координаты ключевых вершин.
  • Проверьте, замыкается ли контур: последняя точка должна совпасть с начальной или с началом следующей фигуры.
  • Сравните площадь и количество точек: для прямоугольника они должны быть близки.
  • Отдельно проверьте, входят ли границы в ответ.
  • Если фигур несколько, сначала найдите пересечение, потом применяйте включение–исключение.
  • Для сложной фигуры запустите программу и сравните её результат с ручной оценкой.

Разбор примера

Учебный пример: две фигуры и их пересечение

Черепаха рисует прямоугольник 30×24, затем с поднятым хвостом смещается на (10, 2) и рисует прямоугольник 71×75. Сколько целых точек лежит в пересечении, включая границы?

  1. Первый прямоугольник: x от 0 до 30, y от 0 до 24.
  2. После подъёма хвоста: Вперёд 2, Направо 90, Вперёд 10, Налево 90 — новое начало (10, 2), направление снова на север.
  3. Второй прямоугольник: x от 10 до 81, y от 2 до 77.
  4. Пересечение: x от max(0, 10) = 10 до min(30, 81) = 30, y от max(0, 2) = 2 до min(24, 77) = 24.
  5. Целых значений x: 30 − 10 + 1 = 21, целых значений y: 24 − 2 + 1 = 23.
  6. Всего 21 · 23 = 483 точки.

Ответ483

Способы решения

Выберите метод под формулировку

Методы собраны по решениям задания 6 из базы Kompege. Начните с того, что именно нужно найти в условии.

01

базовый способ

Ведём координаты вручную

Когда использовать: Фигура состоит из горизонтальных и вертикальных отрезков, а вопрос — про точки, площадь или периметр.

  1. Запишите начальную точку (0, 0) и начальное направление.
  2. Для каждой команды вычислите новую точку и подпишите её на рисунке.
  3. Отмечайте, опущен ли хвост: поднятый хвост означает, что отрезок не рисуется.
  4. После цикла проверьте, замкнулась ли фигура.
  5. Посчитайте целые точки по строкам или столбцам, не забывая про границу.
  6. Для площади разбейте фигуру на прямоугольники и треугольники.

Пример

Алгоритм Повтори 2 [Вперёд 8 Направо 90 Вперёд 5 Направо 90] рисует прямоугольник 8×5. Внутри, не считая границы, лежит 7·4 = 28 целых точек; площадь равна 40, периметр — 26.

Ответ28 (строго внутри); 40; 26.

Учебный пример по мотивам задач № 4694 и 4717 (база Kompege).

02

если фигура сложная

Универсальная симуляция на Python

Когда использовать: В алгоритме есть повороты не на 90°, несколько фигур или нужно быстро перебрать много точек.

  1. Заведите переменные x, y и вектор направления (dx, dy).
  2. Команду Вперёд n реализуйте как x += n*dx, y += n*dy.
  3. Поворот направо: (dx, dy) = (dy, -dx); налево: (-dy, dx).
  4. Подъём и опускание пера — логический флаг, который включает добавление отрезка.
  5. Для подсчёта точек переберите x и y в пределах bounding box.
  6. Для площади и периметра сохраните вершины и примените формулу площади многоугольника.

Пример

Прямоугольник 8×5: после выполнения команд сохраняем вершины, а затем перебираем только внутренние целые точки.

x = y = 0
dx, dy = 0, 1          # направление на север
pts = []

for _ in range(2):
    for step in (5, 8):
        x += step * dx
        y += step * dy
        pts.append((x, y))
        dx, dy = dy, -dx   # направо 90°

# строго внутри прямоугольника 8×5
inside = [(i, j) for i in range(1, 8) for j in range(1, 5)]
print(len(inside))  # 28

Ответ28

По мотивам решений задач № 12482 и 13853 (база Kompege).

03

когда фигура — многоугольник

Формулы: НОД, Пик и площадь

Когда использовать: Вершины имеют целые координаты, а вопрос про площадь, периметр или количество точек.

  1. Выпишите вершины фигуры по порядку обхода.
  2. Площадь многоугольника найдите по формуле Гаусса (шнуровки) или разбейте на прямоугольники и треугольники.
  3. На каждом отрезке число шагов равно НОД(|dx|, |dy|), а число точек — на единицу больше.
  4. Сложите шаги по всем сторонам: получится B — количество различных точек на границе.
  5. Внутренние точки найдите по формуле Пика: I = S − B/2 + 1.
  6. Проверьте, что вершины не посчитаны дважды.

Пример

Чертёжник рисует треугольник с вершинами (0, 0), (4, 0) и (0, 3). Площадь S = 4·3/2 = 6. На границе: НОД(4, 0) + НОД(4, 3) + НОД(0, 3) = 4 + 1 + 3 = 8 точек. По формуле Пика внутри 6 − 8/2 + 1 = 3 точки. Всего 3 + 8 = 11.

Ответ3 внутри; 8 на границе; 11 всего.

По мотивам задачи № 13848 (база Kompege).

04

две фигуры

Пересечение и объединение фигур

Когда использовать: Нужно найти общую часть, площадь объединения или количество точек в объединении.

  1. Найдите координаты каждой фигуры после всех смещений.
  2. Для прямоугольников пересечение — это пересечение диапазонов по x и y.
  3. Если диапазоны не пересекаются, общая часть пуста.
  4. Для площади объединения примените S = S1 + S2 − S12.
  5. Для количества целых точек в объединении — ту же формулу с количествами.
  6. Для периметра объединения уберите внутренние участки границ.

Пример

Две фигуры имеют площади 22×33 = 726 и 62×73 = 4526, их пересечение — 22×22 = 484. Площадь объединения: 726 + 4526 − 484 = 4768.

Ответ4768

По мотивам задачи № 24263 (база Kompege).

05

когда фигуры повёрнуты

Перебор целых точек по неравенствам

Когда использовать: Границы заданы наклонными прямыми или окружностями, а нужно только количество точек.

  1. Определите диапазон x и y с запасом по рисунку.
  2. Запишите условия «внутри» для каждой фигуры как неравенства.
  3. Для пересечения объедините условия через and, для объединения — через or.
  4. Для границы используйте равенства или нестрогие неравенства.
  5. Переберите все целые точки двойным циклом.
  6. Сверьте количество с площадью: оно не может сильно отличаться.

Пример

Первый прямоугольник: x от 0 до 27, y от 0 до 21. Второй: x от 10 до 57, y от 9 до 56. Пересечение: x от 10 до 27, y от 9 до 21, то есть 18·13 = 234 точки.

inside1 = lambda x, y: 0 <= x <= 27 and 0 <= y <= 21
inside2 = lambda x, y: 10 <= x <= 57 and 9 <= y <= 56

count = sum(
    inside1(x, y) and inside2(x, y)
    for x in range(-10, 100)
    for y in range(-10, 100)
)
print(count)  # 234

Ответ234

По мотивам задачи № 16317 (база Kompege).

06

Кузнечик, Вертун, Водолей

Моделируем состояние, а не рисунок

Когда использовать: Исполнитель не рисует фигуру, а закрашивает клетки, перекрашивает их или переливает воду.

  1. Заведите переменные состояния: позицию, направление, объёмы в колбах.
  2. Для закрашенных клеток используйте множество set — оно хранит каждую клетку один раз.
  3. Для команды «Перекрасить» применяйте переключение: если клетка есть, удалите; иначе добавьте.
  4. Для Водолея опишите каждую команду отдельной функцией.
  5. Выполните цикл нужное число раз и выведите размер множества или объём.
  6. Проверьте, не начинается ли новая итерация с того же состояния — тогда дальше значения повторяются.

Пример

Вертун за 10 итераций закрашивает 12 различных клеток. Код хранит позицию, направление и множество закрашенных клеток.

pos = [0, 0]
d = [0, 1]
painted = set()

def forward(n):
    pos[0] += d[0] * n
    pos[1] += d[1] * n

def right():
    d[0], d[1] = d[1], -d[0]

for _ in range(10):
    forward(5); painted.add(tuple(pos))
    right(); forward(3); painted.add(tuple(pos))
    right(); forward(2); painted.add(tuple(pos))
    right()

print(len(painted))  # 12

Ответ12

По мотивам задач № 13836, 13838 и 13853 (база Kompege).

Шпаргалка: формулировка → метод

В условииЧто делать
«точки внутри, граница не считается»строгие неравенства, граница минус
«включая точки на границе»нестрогие неравенства, +1 к диапазону
«площадь фигуры»разбить на прямоугольники и треугольники или формула Пика
«периметр / длина границы»сумма внешних отрезков, у объединения вычесть внутренние
«пересечение двух фигур»max левых и нижних границ, min правых и верхних
«объединение фигур»S1 + S2 − S пересечения
«сколько точек на отрезке»НОД(|dx|, |dy|) + 1
«расстояние между началом и концом»√(dx² + dy²), затем округлить
«Повтори 4 [Вперёд a Направо 90]»квадрат a×a
«Повтори 6 [Вперёд a Направо 60]»правильный шестиугольник
«Кузнечик, Вертун, Водолей»хранить состояние в переменных и множестве
«Назад n» при отрицательном nдвижение вперёд

По базе Kompege: 934 задачи, 72 решения (33 программных и 39 текстовых) и 186 видеоразборов (92 YouTube, 60 VK, 34 Rutube) по заданию 6. При подготовке методов использованы решения задач № 4694, 5059, 5428, 6259, 7310, 7671, 12460, 12482, 13836, 13838, 13848, 13853, 16317, 24263 и др.; примеры переработаны в учебные.

Разборы из видео

Задачи, которые разбирают в курсе

Условия и код показаны в кадре в конце соответствующего фрагмента. Источники задач — КомпЕГЭ, сайт К. Полякова, ФИПИ и другие.

№ 6713

разбор из видео · 2025

Черепаха: объединение фигур

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

Ответ411

Полный архив

Все фрагменты видеоразборов

По одному пункту на каждую главу: условие или код из кадра, ответ и ссылка. Источники задач — КомпЕГЭ, сайт К. Полякова, ФИПИ и другие; номер берётся из кадра. Текст с экрана распознан автоматически, служебные строки и артефакты удалены; если текст нечитаем, остаются название, таймкод и ссылка.

Показать все фрагменты (15)
2025 · 00:00 Приветствие

В этом фрагменте — теория или пояснение; решение показано в видео.

2025 · 01:55 Дисклеймер

При опушенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение "исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования;

2025 · 05:55 Черепаха в Кумире I (периметр пересечения)

Poros) Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. опушенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя п направление его движения. Поднять хвост, означающая переход к перемещению без рисования: Опустить хвост, означающая переход в режим рисования; Назад n (где n — пелое число), вызывающая передвижение

2025 · 16:30 Черепаха в Python I (периметр объединения)
from turtle import *
for i in range(2):
for x in range(-50,50):
for y in range(-50,50):
2025 · 34:20 Что писать в конце для PyCharm
from turtle import *
r = 20
for i in range(2):
for x in range(-50,50):
for y in range(-50,50):
2025 · 35:45 Черепаха в Кумире II (площадь пересечения)

(№ 6713) (ЕГЭ-2023) Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опушен. опушенном хвосте Черепаха оставляет Ha поле слел в виде линии. В кажлый конкретный момент известно положение исполнителя п направление его движения. Полнять хвост, означающая перехол к перемещению без рисования: вызывающая передвижение Черепахи на п единии в том направлении, куда указывает её голова; Назал п (re п — пелое число), вызывающая передвижение в противоположном голове направлении; Направо m (ге m — целое число), выз

2025 · 39:30 Черепаха в Python II (количество точек внутри объединения) 6713

(№ 6713) (ЕГЭ-2023) Исполнитель Черепаха действует на плоскости с лекартовой системой координат. В начальный момент Черепаха находится в начале координат. её голова направлена вдоль положительного направления оси орлинат, хвост опушен. опущенном хвосте Черепаха оставляет на поле след в виде линии. В кажлый конкретный момент известно положение исполнителя и направление его движения. Поднять хвост, означающая перехол к перемещению без рисования: Опустить хвост, означающая переход в режим рисования; вызывающая передвижение Черепахи на п единии в том направлении, куда указывает её голова;

2025 · 50:00 Черепаха в Python III (количество точек внутри пересечения)

(№ 6812) (ЕГЭ-2023) Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления осп ординат, хвост опущен. опушенном хвосте Черепаха оставляет на поле след в виле линии. В каждый конкретный момент известно положение исполнителя п направление его движения. Поднять хвост, означающая переход к перемещению без рисования; вызывающая передвижение Черепахи на п единии в том направлении, куда указывает её толова;

2025 · 57:20 Черепаха в Python IV (количество точек внутри фигуры)

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

2025 · 1:07:00 Черепаха в Python V (количество точек внутри фигуры)

Евич) Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена RIOT положительного направления оси ординат, хвост опущен. "опушенном хвосте Черепаха оставляет Ha поле слел в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения.

for i in range(14):
for j in range(3):
for x in range(-50,50):
for y in range(-50,50):
2025 · 1:11:30 Черепаха в Python VI (количество точек внутри объединения)

Евич) Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в. Чертёжник может выполнять команду Сместиться на (a,b) (re a,b — целые числа), перемещающую Чертёжника из точки с координатами (x, у) в точку с координатами (ж+а, Если числа а, b положительные, то значение соответствующей координаты увеличивается, если отрицательные — уменьшается. Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на {2,-3) переместит Чертёжника в точку (6,-1). Команда3 Чертёжнику был дан для исполнения следующий алгоритм: Перед началом алгоритма Чертёжник находился в точке с координатами (0, 0}. Определите, сколько точек с це

2025 · 1:20:20 Чертежник в Кумир (количество точек внутри фигуры)

Богланов) Исполнитель Чертёжник перемешается на координатной плоскости, оставляя след в виле линии. Чертежник может выполнять команду Сместиться на (a,b) (Te a, 5 — целые числа), перемешающую Чертёжника из точки с координатами (х, у) вточку с координатами (x+a, yb). Если числа а, b положительные, To значение соответствующей крординаты увеличивается, если отрицательные — уменьшается. Например, если 'Чертёжник находится в точке с координатами (4, 2), то команда Сместиться ва (2,-3) переместит Чертежника в точку (6.-1). Запись Команда1 Команда? Командаз означает, что последовательность Команда!

2025 · 1:26:55 Чертежник в Python I (количество точек внутри фигуры)

Богланов) Исполнитель Чертёжник перемешается на коорлинатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a, 5 — целые числа), перемешающую Чертёжника из точки с координатами (х, у) вточку с координатами (X+a, y+b). Если числа а, b положительные, то значение соответствующей крординаты увеличивается, если отришательные — уменьшается. Например, если 'Чертёжник находится в точке с координатами (4, 2), то команда Сместиться ва (2,-3) переместит Чертежника в точку (6.-1). Запись Команда1 Команда? Командаз означает, что последовательность Команда!

2025 · 1:34:40 Чертежник в Python II (периметр фигур)

Михлин) Исполнитель Чертёжник перемешается на координатной плоскости, оставляя след B виде линии. Чертежник может выполнять команду Сместиться на (a,b) (TE a,b — пелые числа). перемешающую Чертёжника из точки с координатами (X, у) в точку с координатами (х-а, yb). Если числа a, b положительные. то значение соответствующей 2 rte а SR oe ae координаты увеличивается, если отрицательные — уменьшается.

2025 · 1:39:35 Окончание и напутствие

Исполнитель Черепаха действует на плоскости в декартовой системе координат и передвигается по плоскости, оставляя след своим хвостом в виде линии Черепаха может выполнять команды: Вперёд п (п - число), Налево m (т - число). По команде Вперёд п Черепаха перемещается вперёд на п единиц. По команде Налево m Черепаха поворачивается на месте на т градусов против часовой стрелки, при этом соответственно меняется направление дальнейшего. В начальный момент Черепаха находится в начале координат и направлена вверх (вдоль положительного направления оси ординат) Зались Повтори k Команда Команда? Команда] означает, что заданная последовательность из $ команд повторится k Daa. Черепаха выполнила следующую программу Налево 255 Повтор 3 [Налево 30 Повтори 4 Вперёд 10 Налево 90]] "Определите, общее количество различных точек с целочисленными координатами, которые будут находиться на пересе

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

  • неверное начальное направление
  • путаница между Направо и Налево
  • потерянный сдвиг с поднятым хвостом
  • неверный учёт границы
  • повторный подсчёт общих точек
  • ошибка в масштабе или единицах

Практика

Навигатор и методические рекомендации опубликованы в 2026 году: номера заданий в них могут отличаться от нумерации 2027 года. Ориентируйтесь на тему.