Добавил:
Ученье свет а не ученье бутылки собирать Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СР4

.docx
Скачиваний:
1
Добавлен:
28.12.2023
Размер:
341.8 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение

высшего образования

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Инженерная школа новых производственных технологий

Направление подготовки: 12.03.02 Оптотехника

ООП: Оптико-электронные приборы и системы

САМОСТОЯТЕЛЬНАЯ РАБОТА №4

дисциплина "Основы программирования на Python"

Выполнила:

студентка группы _________________

Проверил:

преподаватель _________________ В. Петровский

Томск - 2023

ЦЕЛЬ РАБОТЫ: обрести навыки работы с файлами.

ЗАДАНИЕ: на основе самостоятельной работы №3 реализовать программу, так, чтобы в файл формата *.xlsx, по столбцам, записывались все отсортированные массивы с указанием, в начальных ячейках, времени их сортировки и названия алгоритма сортировки, а в самый первый столбец файла записать неотсортированный массив. При реализации программы все алгоритмы сортировки должны быть представлены в виде функций, а также реализовать функцию записи в файл формата *.xlsx.

ХОД РАБОТЫ

  1. В начале кода импортируются необходимые модули: openpyxl для работы с файлами Excel, time для измерения времени выполнения, datetime для форматирования времени, randint для генерации случайных чисел.

  1. Создается новый файл Excel с помощью функции openpyxl.Workbook(), и активный лист выбирается с помощью book.active.

  1. Формируется список lst из 10 случайных чисел в диапазоне от 1 до 1000. Затем в ячейку A1 записывается заголовок "Неотсортированный".

  1. Определяется функция array(a, b), которая принимает список a и номер столбца b. Функция заполняет столбец b на листе Excel значениями из списка a. Вызывается функция array(lst, 1), чтобы записать неотсортированный список в столбец 1 на листе Excel.

  1. Определяется функция selection_sort(lst), которая выполняет сортировку выбором. Внутри двух вложенных циклов происходит поиск минимального элемента и его перемещение на правильную позицию. Функция возвращает отсортированный список lst. Измеряется время выполнения сортировки выбором с помощью time.perf_counter(). Вызывается функция selection_sort(lst) для сортировки списка lst. Затем измеряется время после сортировки и вычисляется разница, которая представляет время выполнения алгоритма. Время форматируется в строку с помощью datetime.timedelta(seconds=t1). Результат записывается в ячейку B1 на листе Excel.

  1. Аналогичным образом выполняются сортировки вставками, пузырьком, Шелла и быстрая сортировка. Каждый алгоритм сортировки измеряет время выполнения и записывает результаты в соответствующие ячейки на листе Excel.

  1. После сортировки всех алгоритмов, файл Excel сохраняется с именем "BEBRA.xlsx", и поток работы с файлом закрывается с помощью book.close().

РЕЗУЛЬТАТЫ:

Таким образом, в данной работе была реализована программа, которая выполняет сортировку списка случайных чисел различными алгоритмами сортировки, а затем записывает результаты в файл Excel.

Также были приобретены навыки работы с модулем openpyxl для создания и записи данных в файлы Excel, понимание различных алгоритмов сортировки, таких как сортировка выбором, вставками, пузырьком, Шелла и быстрая сортировка, использование функций и циклов для реализации алгоритмов сортировки, измерение времени выполнения кода с помощью модуля time и форматирование времени с помощью модуля datetime, генерация случайных чисел с помощью модуля random.

Соседние файлы в предмете Основы программирования