Сазонова_20ВИ1. Сравнение и анализ алгоритмов сортировки массива прямым выбором
Скачать 0.88 Mb.
|
Постановка задачи на разработку программыСравнение и анализ алгоритмов сортировки массива прямым выбором. Запрограммировать следующие алгоритмы сортировки: Классический прямой выбор. Сортировка массива. Прямой выбор с одновременным поиском максимума и минимума. Сортировка массива. Выполнить сравнение времени сортировки перечисленными выше методами для: Неупорядоченной последовательности; Упорядоченной последовательности; Упорядоченной в обратном порядке последовательности; Данные отобразить в табличной и графической формах. Графическая форма – график зависимости времени сортировки от размерности массива. Анализ требованийТребования к интерфейсу пользователяПриложение Embarcadero Delphi должно предоставлять пользователю удобный интерфейс, позволяющий: Выполнить сортировку массива классическим прямым выбором над неупорядоченной, упорядоченной и упорядоченной в обратном порядке последовательности элементов; Выполнить сортировку массива прямым выбором с одновременным поиском максимума и минимума над неупорядоченной, упорядоченной и упорядоченной в обратном порядке последовательностью элементов; Выводить на экран время выполнения сортировки классическим прямым выбором и прямым выбором с одновременным поиском максимума и минимума над массивами с неупорядоченной, упорядоченной и упорядоченной в обратном порядке последовательностями элементов; Отобразить график зависимости времени сортировок прямым выбором от размерности неупорядоченного, упорядоченного и упорядоченного в обратном порядке массивов; Отобразить в виде таблицы сравнение временных показателей сортировок прямым выбором для выбранной степени упорядоченности. Требования к структуре данныхПоследовательность - логическое представление данных в виде линейно упорядоченного множества переменных одного типа произвольной (переменной) размерности. Порядковый номер элемента в последовательности – его логический номер (ЛН). Логический номер – это не свойство элемента, а характеристика его размещения, при различных действиях над последовательностью он может меняться. Основные операции над массивом: Объявление массива: Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выглядит следующим образом: Имя: array [нижний_индекс. .верхний_индекс] of тип где: имя — имя массива; array — зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является именем массива; нижний_индекс и верхний_индекс — целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива; тип — тип элементов массива. Заполнение массива: Массив можно заполнить тремя способами: Пользователь самостоятельно вводит значения элементов массива с клавиатуры. Данный способ заполнения выполняется с помощью цикла: For i:=1 to n do read(m[i]); Массив заполняется автоматически случайными числами. Это происходит с помощью цикла и функции random: for i:=1 to n do m[i]:=random; Последним является заполнение массива константами: Const M:array[1..5] of integer=(1, 3, 9, -1, 22 ); Сортировка массива: Под сортировкой массива подразумевается процесс перестановки элементов массива, целью которого является размещение элементов массива в определенном порядке. Например, если имеется массив целых чисел а, то после выполнения сортировки по возрастанию должно выполняться условие: a[1] Требования к программным средствамПрограмма должна выполнять основные операции, связанные с массивом. Также необходимо, чтобы она выполняла два вида сортировки прямого выбора над массивами с неупорядоченной, упорядоченной и упорядоченной в обратном порядке последовательностью. К сортировкам прямого выбора относятся классическая и с одновременным поиском минимума и максимума. При выполнении сортировок над каждым массивом должно отсчитываться время. Это позволит программе сравнить время работы каждой сортировки для каждой последовательности. Результаты выполнения программы должны отражаться на экране. К ним относятся: сравнение сортировок и время их выполнения. Также полученные данные необходимо отобразить в форме таблицы и графической формы, то есть графика зависимости времени сортировки от размерности массива. Для более четкого представления функций программы представлена диаграмма вариантов использования на рисунке 2: Рисунок 2 – Диаграмма вариантов использования На данной диаграмме представлены все функции, которые способна выполнять программа. |