Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен.
При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения.
У исполнителя существует 6 команд:
- Поднять хвост, означающая переход к перемещению без рисования;
- Опустить хвост, означающая переход в режим рисования;
- Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова;
- Назад n (где n — целое число), вызывающая передвижение в противоположном голове направлении;
- Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке;
- Налево m (где m — целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 6 [Вперёд 24 Направо 90 Вперёд 30 Направо 90]
Поднять хвост
Вперёд 2 Направо 90 Вперёд 10 Налево 90
Опустить хвост
Повтори 6 [Вперёд 75 Направо 90 Вперёд 71 Направо 90]
Определите, сколько точек с целочисленными координатами находятся внутри области пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на границах этого пересечения.
Ответ:
Демонстрационный вариант ЕГЭ 2027 по информатике – задание №6
Решение:
Решение на Python —
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
from turtle import* tracer(0) left(90) k=10 screensize(2000,2000) for i in range(6): forward(24 * k) right(90) forward(30*k) right(90) penup() forward(2 * k) right(90) forward(10*k) left(90) pendown() for i in range(6): forward(75 * k) right(90) forward(71*k) right(90) penup() for x in range(0,50): for y in range(0,50): dot(3,'red') goto(x*k,y*k) done() |

|
1 |
print(21*23) |
Решение
Разберём, какие фигуры рисует Черепаха.
1. Первая фигура
Выполняется команда:
|
1 |
Повтори 6 [Вперёд 24 Направо 90 Вперёд 30 Направо 90] |
Черепаха несколько раз обводит один и тот же прямоугольник со сторонами 24 и 30.
Если начальная точка имеет координаты (0; 0), то первая фигура занимает область:
0 ≤ x ≤ 30,
0 ≤ y ≤ 24.
2. Перемещение ко второй фигуре
После этого Черепаха поднимает хвост и выполняет команды:
|
1 2 3 4 |
Вперёд 2 Направо 90 Вперёд 10 Налево 90 |
Она перемещается из точки (0; 0) в точку (10; 2).
3. Вторая фигура
Затем выполняется:
|
1 |
Повтори 6 [Вперёд 75 Направо 90 Вперёд 71 Направо 90] |
Получается прямоугольник со сторонами 75 и 71, начинающийся в точке (10; 2).
Его область:
10 ≤ x ≤ 81,
2 ≤ y ≤ 77.
4. Находим пересечение
Область пересечения двух прямоугольников имеет координаты:
10 ≤ x ≤ 30,
2 ≤ y ≤ 24.
По горизонтали целочисленных координат:
30 − 10 + 1 = 21.
По вертикали:
24 − 2 + 1 = 23.
Так как точки на границе тоже учитываются, общее количество точек равно:
21 · 23 = 483.
Ответ: 483