ЛАБА5
.docxФедеральное агентство связи
Ордена Трудового Красного Знамени
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Математическая кибернетика и информационные технологии»
Отчет по лабораторной работе №5
по дисциплине «Структуры и алгоритмы обработки данных» на тему:
«Рекурсия. Фракталы.»
Выполнил: студентка БСТ2001
Курило Анна
Вариант 11 (5)
Проверил: Чайка А. Д.
Москва 2022
Задание
Реализовать генерацию фрактала “Ковер Серпинского” с применением рекурсивных функций.
Добавить возможность задания глубины фрактала.
Оценить глубину рекурсии.
Построить таблицу зависимости времени построения от глубины фрактала.
Ход лабораторной работы
Код программы:
import turtle
def s(n, m):
if n == 0:
turtle.color('black')
turtle.begin_fill()
for _ in range(4):
turtle.forward(m)
turtle.left(90)
turtle.end_fill()
else:
for _ in range(4):
s(n - 1, m / 3)
turtle.forward(m / 3)
s(n - 1, m / 3)
turtle.forward(m / 3)
turtle.forward(m / 3)
turtle.left(90)
turtle.tracer(500)
s(4, 200)
turtle.done()
Таблица временных затрат на рисование фрактала(на скорости 500):
Глубина |
0 |
1 |
2 |
3 |
4 |
Время, сек |
0.67475 |
0.96238 |
2.13002 |
5.98309 |
22.66300 |
Результат работы программы: