Печать: Ctrl+P → ориентация альбомная, масштаб 100 % (не «вписать в лист»), поля нет, «печать фона» включить — иначе пропадут рамки таблиц. На листе две одинаковые карточки: разрезать по пунктиру посередине, получится две штуки формата A5. Эта серая рамка на бумагу не печатается.
11 класс

Исполнитель Черепаха

Задание 6 ЕГЭ: циклические алгоритмы для исполнителя

Полное решение: демоверсия 2027

Начало координат не в углу, а в центре окна — там, где Черепаха стоит вначале; x растёт вправо, y вверх. Поэтому «нижняя» граница рамки — это наименьший y. Черепаха чертит прямоугольник, поднимает хвост, переходит и чертит второй; спрашивают целые точки внутри пересечения, включая границу. В своей задаче меняются только числа и последняя строка:

from turtle import *
mnx = 0               # рамка: границы
mxx = 0               # фигуры по x и y
mny = 0
mxy = 0

def sbros():          # начать рамку
    global mnx, mxx, mny, mxy
    mnx = round(xcor())
    mxx = mnx
    mny = round(ycor())
    mxy = mny

def metka():          # растянуть рамку
    global mnx, mxx, mny, mxy
    x = round(xcor())
    y = round(ycor())
    mnx = min(mnx, x)
    mxx = max(mxx, x)
    mny = min(mny, y)
    mxy = max(mxy, y)

speed(0)
setheading(90)        # Черепаха — вверх
# первая фигура: 24 и 30, шесть раз
sbros()               # рамка с нуля
for i in range(6):
    forward(24)
    metka()           # угол отмечен
    right(90)
    forward(30)
    metka()
    right(90)
ax1 = mnx             # рамка первой
ax2 = mxx             # фигуры готова
ay1 = mny
ay2 = mxy
penup()               # переход: следа
forward(2)            # нет, и в рамку
right(90)             # он не входит
forward(10)
left(90)
pendown()
# вторая фигура: 75 и 71, тоже 6 раз
sbros()               # рамка заново
for i in range(6):
    forward(75)
    metka()
    right(90)
    forward(71)
    metka()
    right(90)
bx1 = mnx             # рамка второй
bx2 = mxx             # фигуры
by1 = mny
by2 = mxy
# общая часть начинается там, где
# начались обе фигуры, и кончается
# там, где кончилась первая из них
lx = max(ax1, bx1)    # левая граница
rx = min(ax2, bx2)    # правая
ny = max(ay1, by1)    # нижняя
vy = min(ay2, by2)    # верхняя
# точек на одну больше, чем длина
print((rx - lx + 1) * (vy - ny + 1))
done()

sbros() — перед каждой фигурой, metka() — после каждого forward и backward. round нужен потому, что turtle считает через синусы и вместо 30 бывает 29.999999999999996. Эта программа печатает 483.

Что писать под вопрос

СпрашиваютЧто писать
целые точки, с границей (rx - lx + 1) * (vy - ny + 1)
площадь(rx - lx) * (vy - ny)
периметр2 * ((rx - lx) + (vy - ny))
точки без границы (rx - lx - 1) * (vy - ny - 1)
объединение посчитать обе фигуры и вычесть пересечение: a + b - c

Точек по оси всегда на одну больше, чем длина: от 0 до 3 — это четыре точки, а длина три. Отсюда и «плюс один».

Тренажёр и разбор темы: https://kibersvet.ru/11/cherepaha/
Материалы подготовлены с использованием технологий искусственного интеллекта.
11 класс

Исполнитель Черепаха

Задание 6 ЕГЭ: циклические алгоритмы для исполнителя

Полное решение: демоверсия 2027

Начало координат не в углу, а в центре окна — там, где Черепаха стоит вначале; x растёт вправо, y вверх. Поэтому «нижняя» граница рамки — это наименьший y. Черепаха чертит прямоугольник, поднимает хвост, переходит и чертит второй; спрашивают целые точки внутри пересечения, включая границу. В своей задаче меняются только числа и последняя строка:

from turtle import *
mnx = 0               # рамка: границы
mxx = 0               # фигуры по x и y
mny = 0
mxy = 0

def sbros():          # начать рамку
    global mnx, mxx, mny, mxy
    mnx = round(xcor())
    mxx = mnx
    mny = round(ycor())
    mxy = mny

def metka():          # растянуть рамку
    global mnx, mxx, mny, mxy
    x = round(xcor())
    y = round(ycor())
    mnx = min(mnx, x)
    mxx = max(mxx, x)
    mny = min(mny, y)
    mxy = max(mxy, y)

speed(0)
setheading(90)        # Черепаха — вверх
# первая фигура: 24 и 30, шесть раз
sbros()               # рамка с нуля
for i in range(6):
    forward(24)
    metka()           # угол отмечен
    right(90)
    forward(30)
    metka()
    right(90)
ax1 = mnx             # рамка первой
ax2 = mxx             # фигуры готова
ay1 = mny
ay2 = mxy
penup()               # переход: следа
forward(2)            # нет, и в рамку
right(90)             # он не входит
forward(10)
left(90)
pendown()
# вторая фигура: 75 и 71, тоже 6 раз
sbros()               # рамка заново
for i in range(6):
    forward(75)
    metka()
    right(90)
    forward(71)
    metka()
    right(90)
bx1 = mnx             # рамка второй
bx2 = mxx             # фигуры
by1 = mny
by2 = mxy
# общая часть начинается там, где
# начались обе фигуры, и кончается
# там, где кончилась первая из них
lx = max(ax1, bx1)    # левая граница
rx = min(ax2, bx2)    # правая
ny = max(ay1, by1)    # нижняя
vy = min(ay2, by2)    # верхняя
# точек на одну больше, чем длина
print((rx - lx + 1) * (vy - ny + 1))
done()

sbros() — перед каждой фигурой, metka() — после каждого forward и backward. round нужен потому, что turtle считает через синусы и вместо 30 бывает 29.999999999999996. Эта программа печатает 483.

Что писать под вопрос

СпрашиваютЧто писать
целые точки, с границей (rx - lx + 1) * (vy - ny + 1)
площадь(rx - lx) * (vy - ny)
периметр2 * ((rx - lx) + (vy - ny))
точки без границы (rx - lx - 1) * (vy - ny - 1)
объединение посчитать обе фигуры и вычесть пересечение: a + b - c

Точек по оси всегда на одну больше, чем длина: от 0 до 3 — это четыре точки, а длина три. Отсюда и «плюс один».