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

Галицький коледж імені В’ячеслава Чорновола

Циклова комісія професійної та практичної підготовки із спеціальності "Обслуговування програмних систем і комплексів"

КУРСОВИ

на тему

«Помічник керівника роботи»

Дата захисту

“____”______________2013 р.

Оцінка:_______________

Виконав

студент групи К-27

Романюк Р.В.

Керівник роботи

Петрик О.Ю.

Тернопіль 2013

ЗМІСТ

Додаток Б 24

ВСТУП

У сучасному світі людина стикається з великим обсягом інформації, яку дує важко зберігати у власній пам’яті, або на паперових носіях. Після тривалого періоду технічного прогресу почали з’являтись перші електронні бази даних. Саме таку тему для створення програми обрав і я. Моє завдання полягало у тому, щоб створити файлову базу даних у якій користувач матиме змогу зберігати, сортувати, редагувати та друкувати інформацію у вигляді файлу. Також дуже важливим завданням було зробити доступне меню програми, щоб нею могли користуватись різноманітні користувачі. Насамперед програма орієнтована на користувача конкретної професії, системного адміністратора, але її можна налаштувати під будь яку сферу діяльності, від перукаря і до президента.

Для бази даних найпростіше використовувати автоматичні програмні продукти, проте якщо вас цікавить лише збереження, систематизація та друк файлу вам ідеально підійде цей програмний продукт, тому що він простий у сприйнятті та легкий у використанні.

Програма створена на мові Сі, тому що ця мова є дуже проста у сприйняті та застосуванні, а також ця мова є дуже перспективно у даний час, бо більшість програм створюються саме на мові Сі, хоча більшість використовує С#, С++ також залишається популярною мовою.

Текст завдання

Створити файл, який містить у собі відомості про комп’ютери в коледжі. Кожен запис містить наступну інформацію:

а) тип процесора;

б) рік випуску;

в) об'єм пам’яті;

г) об’єм вінчестера.

Вивести в файл для друку відомостей про комп’ютери:

а) випущені до заданого року;

б) відсортовані по зростанню об’єму пам’яті;

в) відсортовані по зростанню об’єму вінчестеру.

У даній роботі створюється збереження в єдиний файл всю інформацію, і організовано сортує введену інформацію для подальшого виведення на друк. Цей проект демонструє можливості застосування мови Сі для розробки ефективного програмного забезпечення. У ньому розглянуті аспекти створення програм для упорядкування та сортування інформації.

Введення

Завдання даної роботи полягає в створенні програми задача якої введену користувачем інформацію і надалі відсортувати її за необхідними критеріями, отримати файл для друку відсортованої інформації.

Для цього добре використовувати динамічну структуру даних, а саме зв’язаний список.

Зв’язаний список - структура даних, що складається з вузлів, кожен з яких кожен з яких містить данні, так і одне або два посилання («зв’язки») на наступний або попередній вузол списку. Принциповою перед масивом є структурна гнучкість: порядок елементів зв’язного списку може не співпадати з порядком розміщення елементів данних в памяті комп’ютера, а порядок обхода списку завжди явно задаєтся його внутрішніми зв’язками.

Для формування списку в потрібному порядку використовується сортування методом злиття.

Сортвання злиттям (англ. merge sort) — алгоритм сортування, який впорядковує списки (або інші структури данних, доступ до елементів яких можна отримувать лише послідовно, наприклад — потоками) впевному порядку.

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

Для вирішення задачі сортування ці три етапи виглядають так:

  • Сортований масив розбивається на дві частини приблизно однакового розміру;

  • Кожна з отриманих частин сортується окремо, наприклад тим же самим алгоритмом;

  • Два впорядкованих масиви половинного розміру з'єднуються в один.

1. Рекурсивне розбиття завдання на менші відбувається до тих пір, поки розмір масиву не досягне одиниці (будь-який масив довжини 1 можна вважати впорядкованим).

2. З’єднання двох впорядкованих масивів в один. Основну ідею злиття двох відсортованих масивів можна пояснити на наступному прикладі. Нехай ми маємо два підмассиви. Нехай також, елементи підмасивів в кожному з цих підмасивів відсортовані за зростанням.

3. Злиття двох підмасивів в третій результуючий масив. На кожному кроці ми беремо менший з двох перших елементів підмасивів і записуємо його в результуючий масив. Лічильники номерів елементів результуючого масиву і підмасива з якого був узятий елемент збільшуємо на 1.

4. "Прищіплення" залишку. Коли один з підмасивів закінчився, ми додаємо всі залишившіся елементи другого підмассиву в результуючий масив.

Програма, що розробляється включатиме в себе такі функції:

my_sorty() – Дозволяє вибрати параметри сортування та передати їх для безпосереднього сортування та виведення отриманих данних; даних;print_sorted_items( ) – Викликає і передає функції сортування данних, порівнює значення сортованої дати з виведеної на друк і виводить результат у файл;sort_list( ) – Функція сортування;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]