Автор: Демоверсия 2025
Уровень: Базовый
Условие задачи:
Черепахе был дан для исполнения следующий алгоритм:
Повтори 9 [Вперёд 22 Направо 90 Вперед 6 Направо 90]
Поднять хвост
Вперед 1 Направо 90 Вперёд 5 Налево 90
Опустить хвост
Повтори 9 [Вперёд 53 Направо 90 Вперёд 75 Направо 90]
Определите периметр области пересечения фигур, ограниченных заданными алгоритмом линиями.
Теоретическая справка:
Примитивная задача с одним оченьт важным отличием (такое уже было на ЕГЭ 2024), в большинстве задач нас просят найти кол-во точек, а здесь просто периметр, то есть отрезки между точками лежащие по периметру. Ответ не изменится, но если бы попросили искать площадь - уже опасная ситуация.
Код решения:
Комментарии к коду:
- from turtle import *
Импортируем все функции из модуля turtle, который используется для рисования графики. - screensize(-5000, 5000)
Устанавливаем размер холста в диапазоне от -5000 до 5000 пикселей по оси X и Y. - tracer(0)
Отключаем автоматическое обновление экрана, чтобы ускорить рисование графики. - lt(90)
Поворачиваем "черепаху" на 90 градусов влево. - l = 30
Определяем переменную l со значением 30, которая будет использована для масштабирования координат. - # Затем сюда переписываем псевдокод из условия задачи.
- up()
Поднимаем "перо" черепахи вверх, чтобы она не рисовала линию во время перемещения. - for x in range(-100, 100):
Итерируем по значениям x от -100 до 99 включительно (200 итераций по оси X). - for y in range(-100, 100):
Итерируем по значениям y от -100 до 99 включительно (200 итераций по оси Y). - goto(x * l, y * l)
Перемещаем черепаху в точку с координатами (x * l, y * l), где l — это масштабирование. - dot(3, 'red')
Рисуем точку диаметром 3 пикселя красного цвета в текущей позиции черепахи. - update()
Обновляем экран для отображения всех изменений графики. - done()
Завершаем программу Turtle, что позволяет закрыть графическое окно после завершения рисования.