Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсак.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
52 Кб
Скачать
☆

Зміст і структура програми

Алгоритм програми виконаний на мові Сі. Програма складається з п'яти функцій:

main( ), my_sorty(), print_sorted_items( ), sort_list( ), cmp( )

Головна функція main () відображає інтерфейс, виробляє читання з файлу бази даних "base.bd", зчитує в пам'ять введені дані, викликає інші вищеперелічені функції.

Для обробки інформації в БД використовуються наступні функції:

my_sorty () - Дозволяє вибрати параметри сортування та передати їх для безпосередньо сортування та виведення отриманих даних;

print_sorted_items () - Викликає і передає функції сортування данних, порівнює значення сортованої дати з виведеної на друк і виводить результат у файл;

sort_list () - Функція сортування;

cmp ()-Функція вибору параметрів сортування, року випуску, обсягу пам'яті, об'єм жорсткого диска.

Для зберігання інформації створено структуру hardware_info зі

наступними полями:

cpu_type - Тип процесора

year - Рік випуску

mem - Об'єм пам'яті

hdd - Об'єм HDD

item - показник на структуру

* next - показник на наступний елемент структури

* t - показник на опрацьований елемент структуру

* head - показник на перший елемент структури

* p - показник елементу об'єднаного списку, використовується при сортуванні

* q - показник елементу об'єднаного списку, використовується при сортуванні

* e - показник елементу об'єднаного списку, використовується при сортуванні

* tail - показник елементу об'єднаного списку, використовується при сортуванні

* list – показник підсумковий елементу об'єднаного списку, використовується при сортуванні

Функція main( )

Дана функція є основною функцією програми. З цієї функції

починається виконання всієї програми.

Функція main () оголошує використовувані змінні і показники, виконує читання і запис у файл динних, виділяє пам'ять для елементів структури, і відповідає за інтерфейс завантаження і введення даних.

Функція my_sorty.

Функція my_sorty () - Дозволяє вибрати параметри сортування та передати їх для безпосередньо сортування та виведення отриманих даних.

Передає параметри функції виведення даних print_sorted_items

Функція print_sorted_items.

Функція print_sorted_items () - виконує функцію введення даних, викликає і передає дані у функцію сортування даних, порівнює значення сортованої дати з виведеною на друк і виводить результат у файл.

Функция sort_list.

Функція sort_list () - функція сортування, сортує нашу структуру, визначаючи параметри сортування викликаючи підфункцію cmp. Сортування проводиться методом злиття - алгоритм сортування, який впорядковує списки (або інші структури даних, доступ до елементів яких можна отримувати тільки послідовно, наприклад - потоки) в певному порядку.

 Приклад сортування злиттям. Спочатку ділимо список на шматочки (по 1 елементу), потім порівнюємо кожен елемент з сусіднім, сортуємо і об'єднуємо в загальну структуру. У підсумку, всі елементи відсортовані і об'єднані разом.

Описані наступні показники:

* P - показник елементу об'єднаного списку, використовуваний при сортуванні, в початковому стані вказує на несортоване стек

* Q – показник елемент об'єднаного списку, використовуваний при сортування, як наступний елемент для сортування

* E - показник елемент об'єднаного списку, використовуваний при сортуванні, як допоміжний елемент (temp)

* Tail - показник на об'єднаний список, використовуваний при сортуванні

* List - показник на підсумковий список, використовуваний при сортуванні

Описані наступні змінні:

Nmerges - підрахунок числа злиттів - сортувань;

Psize - умовний розмір-кількість елементів p;

Qsize - умовний розмір-кількість елементів p;

Insize - умовна кількість необхідних злиттів-сортувань, за замовчуванням дорівнює одній, і збільшується при необхідності.