Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСОВА РОБОТА12334455.doc
Скачиваний:
2
Добавлен:
27.08.2019
Размер:
197.12 Кб
Скачать

4. Аналіз розв’язуваної задачі

В загальному випадку задачі сортування формуються так: задана дана невпорядкована вхідна множина ключів. Необхідно одержати вихідну множину тих же ключів упорядкованих по зростання або спаданню в числовому чи лексикографічному порядку. З усіх задач програмування сортування має самий багатий вибір алгоритмів розв’язку. На вибір алгоритму окрім порядку впливають наступні факти:

1. Наявний ресурс пам’яті.

- чи повинні вхідна і вихідна множина розташовуватись в різних областях пам’яті або вихідна множина може бути сформована на місці вхідної. В другому випадку в ході сортування необхідно використовувати динамічний перерозподіл пам’яті між вхідною і вихідною множинами. Для одних алгоритмів такий перерозподіл пов’язаний з великими витратами ресурсів ЕОМ для інших ці витрати значно менші.

2. Початкова впорядкованість вхідної множини.

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

3. Тимчасові характеристики операцій.

- в загальному випадку при визначенні порядку алгоритмів час виконання вважається пропорціональним числу порівняння ключів. Однак порівняння чисел виконується швидше ніж порівняння рядків, а операції перестановок виконуються тим швидше чим менше об’єм запису.

4. Складність алгоритму.

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

Всі алгоритми які використовуються для сортування будуються на одній із чотирьох стратегій або їх комбінацій.

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

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

  • Стратегія розподілу. Вхідна множина розбивається на ряд підмножин і сортування виконується всередині кожної такої підмножини.

  • Стратегія злиття. Вхідна множина отримується шляхом злиття впорядкованих підмножин.

5. Вибір мови і технології програмування

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

Інтерес до персональних комп’ютерів постійно росте, а коло їхніх користувачів безупинно розширюється. У число ПЕОМ утягують як новачки в комп’ютерній справі, так і фахівці з інших класів ЕОМ. Хоча на ПЕОМ може використовуватися багато різних мов програмування: Бейсік, Паскаль, С++, Ассемблер і т.д.

При реалізації програм ми будемо використовувати мову програмування Paskal 7.0 Методи сортування даних можна реалізовувати на багатьох мовах програмування як високого так і низького рівня. Проте, на нашу думку, найкраще на мові програмування фірми Borland – С++ або ж Turbo Pascal. В нашому випадку ми віддали перевагу другій мові програмування.

Мова Turbo Paskal 7.0 одна з найпоширеніших мов програмування. Вона розроблена фірмою Борланд як діалект стандартної мови Паскаль, але завдяки своїй популярності і сама стала мовою програмування.

До найважливіших переваг мови Turbo Paskal відноситься невеликий розмір компілятора, високий ступінь відповідності стандартному Паскалю, дуже швидка компіляція програм, об’єднання компілятора з інтерактивним екранним редактором, попередження про помилки на рівні вихідної програми, велика бібліотека підпрограм і корисні розширення що спрощують системне програмування. І що саме головне, що мова ця мова програмування підходить для навчання починаючих програмістів гарному стилю програмування.

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