
Галицький коледж імені В’ячеслава Чорновола
Циклова комісія професійної та практичної підготовки із спеціальності "Обслуговування програмних систем і комплексів"
КУРСОВИЙ ПРОЕКТ
на тему
«Помічник керівника роботи»
Дата захисту “____”______________2013 р.
Оцінка:_______________
|
Виконав студент групи К-27 Романюк Р.В.
Керівник роботи Петрик О.Ю.
|
Тернопіль 2013
ЗМІСТ
ВСТУП 3
ВСТУП
Сучасна людина постійно стикається з величезним потоком інформації і великою кількістю справ. Для того щоб не втратити важливу інформацію, а також організувати свої дії, необхідна чітка система — конкретний план.
Планування дозволить вам звільнити свою голову, в якій більше не потрібно тримати постійно всі поточні завдання. У вас перед очима буде список необхідних для вас відомостей, які систематизуєте та збережете у зручному вигляді. Використання плану допоможе вам менше відволікатися на непотрібні справи при пошуку конкретних відомостей.
Для бази даних найпростіше використовувати автоматичні програмні продукти.
У сучасному комп’ютерному світі все більше виникає потреба у виконанні однорідних дій, як от у створення конкретної бази даних. Все це досягається із використанням програмних продуктів, які створюються за допомогою спеціальних мов програмування — засобів спілкування програмістів з електронно обчислювальних машин (ЕОМ).
В загальному мови програмування можуть бути розділені на три загальні типи:
Машинні мови;
Асемблерні мови;
Мови високого рівня;
Машинні мови незручні для сприйняття людиною.
З появою мов асемблера використовування комп'ютерів значно розширилося, проте все ще було потрібне написання великої кількості інструкцій навіть для реалізації рішення найпростіших задач.
Для прискорення процесу програмування були розроблені мови високого рівня, в яких для виконання складних дій достатньо написати один оператор. Програми для перетворення послідовності операторів на мові високого рівня в машинну мову називаються компіляторами. В мовах високого рівня інструкції, написані програмістами, часто виглядають як звичайний текст на англійській мові із застосуванням загальноприйнятих математичних знаків.
Мова С була розроблена Денісом Рітчі з “Bell Laboratories” і була вперше реалізована в 1972 році. Популярність С отримала як мова операційної системи UNIX. Сьогодні практично всі основні операційні системи написані на С або C++.
C++ зробив величезний вплив на інші мови програмування, в першу чергу на Java і C#. Будучи одним з найбільш популярних мов програмування, C++ широко використовується для розробки програмного забезпечення.
Моя програма для ведення конкретних записів, та їх систематизації Microsoft Visual Studio мовою С++.
Аннотація
Работа з файловою системою. Динамічні структури данних. Пошук і сортування.
Текст завдання
Створити файл, який містить у собі відомості про комп’ютери в коледжі. Кожен запис містить наступну інформацію:
а) тип процесора;
б) рік випуску;
в) об'єм памяті;
г) об’єм вінчестера.
Вивести в файл для друку відомостей про комп’ютери:
а) випущені до заданого року;
б) відсортовані по зростанню об’єму пам’яті;
в) ) відсортовані по зростанню об’єму вінчестеру.
У даній роботі створюється збереження в єдинний файл всю інформацію, і організовано сортує введену інформацію для подальшого виведення на друк. Цей проект демонструє можливості застосування мови Сі для розробки ефективного програмного забезпечення. У ньому розглянуті аспекти створення програм для упорядкування та сортування інформації.
Введення
Завдання данної роботи полягає в створенні програми задача якої введену користувачем інформацію і надалі відсортувати її за необхідними критеріями, отримати файл для друку відсортованої інформації.
Для цього добре використовувати динамічну структуру данних, а саме зв’язаний список.
Зв’язаний список - структура данних, що складається з вузлів, кожен з яких кожен з яких містить данні, так і одне або два посилання («зв’язки») на наступний або попередній вузол списку. Принциповою перед масивом є структурна гнучкість: порядок елементів зв’язного списку може не співпадати з порядком розміщення елементів данних в памяті комп’ютера, а порядок обхода списку завжди явно задаєтся його внутрішніми зв’язками.
Для формування списку в потрібному порядку використовується сортування методом злиття.
Сортвання злиттям (англ. merge sort) — алгоритм сортування, який впорядковує списки (або інші структури данних, доступ до елементів яких можна отримувать лише послідовно, наприклад — потоками) впевному порядку.
Приклад сортування злиттям. Спочатку ділимо список на шматочки (по 1 елементу), потім порівнюємо кожен елемент з сусіднім, сортуємо і об'єднуємо. У підсумку, всі елементи відсортовані і об'єднані разом.
Для вирішення задачі сортування ці три етапи виглядають так:
Сортований масив розбивається на дві частини приблизно однакового розміру;
Кожна з отриманих частин сортується окремо, наприклад - тим же самим алгоритмом;
Два впорядкованих масиви половинного розміру з'єднуються в один.
1.1. - 2.1. Рекурсивне розбиття завдання на менші відбувається до тих пір, поки розмір масиву не досягне одиниці (будь-який масив довжини 1 можна вважати впорядкованим).
3.1.З’єднання двох впорядкованих масивів в один.
Основну ідею злиття двох відсортованих масивів можна пояснити на наступному прикладі. Нехай ми маємо два підмассиви. Нехай також, елементи підмасивів в кожному з цих підмасивів відсортовані за зростанням. тоді:
3.2. Злиття двох підмасивів в третій результуючий масив. На кожному кроці ми беремо менший з двох перших елементів підмасивів і записуємо його в результуючий масив. Лічильники номерів елементів результуючого масиву і підмасива з якого був узятий елемент збільшуємо на 1.
3.3. "Прищіплення" залишку.
Коли один з підмасивів закінчився, ми додаємо всі залишившіся елементи другого підмассиву в результуючий масив.
Програма, що розробляється включатиме в себе такі функції:
my_sorty() – Дозволяє вибрати параметри сортування та передати їх для безпосереднього сортування та виведення отриманих данних; даних;print_sorted_items( ) – Викликає і передає функції сортування данних, порівнює значення сортованої дати з виведеної на друк і виводить результат у файл;sort_list( ) – Функція сортування;
cmp( )-Функція вибору параметрів для сортування.