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

Оглавление

Введение………………………………………….………………….….. 3

  1. Изучение и описание предметной области…………………..…4

  2. Постановка задачи..……………………………………….……….4

  3. Выбор структур данных для решения поставленной задачи..5

  4. Логическое проектирование………………………………………6

  5. Физическое проектирование программного обеспечения……..8

  6. Проектирование интерфейса………….…………………………..8

  7. Кодирование…………………………………………………….…..9

  8. Тестирование……………………………………………………….10

Заключение………………………………………………………............12

Список литературы……………………………………………………...13

Приложения……………………………………………………………...14

Введение

Одним из важнейших процедур обработки структурированной информации является сортировка. Алгоритм сортировки используется в практически любой программной системе. Целью алгоритмов сортировки является упорядочение последовательности элементов данных. Поиск элемента в последовательности отсортированных данных занимает время, пропорциональное логарифму количеству элементов в последовательности, а поиск элемента в последовательности не отсортированных данных занимает время, пропорциональное количеству элементов в последовательности, то есть намного больше. Существует множество различных методов сортировки данных. Однако любой алгоритм сортировки можно разбить на три основные части:

  • Сравнение, определяющее упорядоченность пары элементов;

  • Перестановка, меняющая местами пару элементов;

  • Собственно сортирующий алгоритм, который осуществляет сравнение и перестановку элементов данных до тех пор, пока все эти элементы не будут упорядочены.

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

1.Изучение и описание предметной области.

В соответствии с целями данного курсового проекта, возможно начать проектирование и анализ требуемых для проекта программ.

В начале необходимо отметить основные типы и виды сортировок, их основные характеристики. Это необходимо для выделения основных отличий рассматриваемых в курсовом проекте сортировок от других существующих методов сортировок. По рекомендованной литературе выполнить теоретическое сравнение алгоритмов сортировок, рассматриваемых в рамках курсового проекта. Построить блок-схемы, наглядно отображающие принцип работы алгоритмов сортировок методами быстрой сортировки, сортировки Шелла, сортировки слиянием.

Далее следует описать, разработать и запрограммировать алгоритмы сортировки методом перестановки данных рассматриваемые в курсовом проекте. Протестировать программы (массивы должны сортироваться) и отобразить это в отчете. Выполнить сравнительный анализ работы трех алгоритмов сортировки, и выявить зависимость среднего времени сортировки от числа сортируемых элементов.

2. Постановка задачи

В данной работе необходимо разработать программу, реализующую следующие задачи:

  • Формирование одномерного динамического массива Mass c количеством элементов Kol, задаваемым пользователем, случайным образом.

  • Сортировка массива Mass по возрастанию при помощи трех алгоритмов сортировки:

- Методом простого выбора.

- Методом простых вставок.

- Методом подсчета сравнений.

  • Учет времени работы алгоритмов сортировки.

  • Выведение данных о скорости работы алгоритмов на экран в виде гистограммы.

  • Сохранение отсортированного массива в файл.

При написании программ для реализации сортировок массивов был использован язык программирования С++. Это один из широко используемых языков программирования, который можно использовать для написания программ, работающих в операционной среде Windows. Среда Borland C++ Builder 6- это сложный механизм, обеспечивающий высокоэффективную работу программиста.

3. Выбор структур данных для решения поставленной задачи.

Таблица 1

Наименование

Обозначение

Тип данных

Массив

Mass

Int

Переменная

Kol,i

long

Переменная

SlSortTime

Int

Переменная

ShellSortTime

Int

Переменная

QSortTime

Int

Файл

f

FILE

Массив

Mass1

Int

Массив

Mass2

Int

Массив

Mass3

Int

Переменная

vremya

Int

Переменная

start

Int

Переменная

end

Int

Переменная

i,j,k

Int

Переменная

tmp

Int

Переменная

max, n

Int

Переменная

x0, y0,w,h

Int

Переменная

del

Float

Указатель

*Mass1

Int

Указатель

*Mass2

Int

Указатель

*Mass3

Int

4. Логическое проектирование