Разработка алгоритма сортировки одномерного массива
Разработка алгоритма сортировки одномерного массива
Постановка задачи: Требуется разработать программно-математическое обеспечение, реализующее алгоритм сортировки (в соответствии с вариантом задания) массива данных заданного типа по выбранному ключу.
Требования к ПМО: Структурно ПМО должно быть реализовано в виде интерфейсной части, обеспечивающей:
· задание массива из формы приложения (посредством компонента TStringGrid);
· определение ключа сортировки;
· выбор файла с исходными данными (для пакетного режима работы);
· запуск процесса сортировки;
· выбор файла для сохранения результатов сортировки;
· вывод результата сортировки,
а также предметной части, реализованной в виде класса, обеспечивающего:
· формализацию алгоритма сортировки;
· подсчет статистики (время сортировки, количество перестановок);
· чтение исходного массива из текстового файла;
· сохранение результатов сортировки в текстовом файле.
Варианты заданий.
Задание №1 (варианты)
5. В качестве исходного массива рассматривается массив элементов типа:
TElement = record
Value: Real;
Info: String;
end;
6. Предметный класс должен предусматривать возможность задания массива с произвольного типом элементов, т.е. использовать функцию сравнения, задаваемую и перекрываемую пользователем для конкретного используемого массива.
7. Для защиты работы студент должен представить исходный и отсортированный массив, а также статистику расчета для неупорядоченного, упорядоченного по возрастанию и упорядоченного по убыванию исходных массивов.
Варианты заданий сведены в таблицу 1.1.
Таблица 1.1.
№ варианта | Метод решения |
1.1 | Сортировка выбором |
1.2 | Сортировка пузырьком |
1.3 | «Шейкерная» сортировка |
1.4 | Сортировка простыми вставками |
1.5 | Cортировка Шелла |
1.6 | Быстрая сортировка |
Разработка динамических структур данных
Постановка задачи: Требуется разработать программно-математическое обеспечение, реализующее работу с динамической структурой данных (в соответствии с вариантом задания).
Требования к ПМО: Структурно ПМО должно быть реализовано в виде интерфейсной части, обеспечивающей:
· задание массива из формы приложения (посредством компонента TStringGrid);
· выбор файла для заполнения структуры из файла (для пакетного режима работы);
· выбор элемента структуры по порядковому номеру;
· выбор элемента структуры по информационному полю;
· выбор файла для выгрузки содержимого,
а также предметной части, реализованной в виде класса, обеспечивающего:
· хранение данных в динамической структуре;
· заполнение структуры из файла (для пакетного режима работы);
· добавление нового элемента структуры;
· вставка элемента в заданную позицию (для списков и деревьев)
· выгрузку элемента из структуры (для стека и очереди);
· выбор элемента по порядковому номеру (для списков и деревьев);
· выбор элемента по информационному полю (для списков и деревьев);
· выгрузки содержимого в файл.
Варианты заданий.
Задание №2 (варианты)
1. В качестве элемента рассматривается тип:
TElement = record
Key: Integer;
Data: TData;
end;
2. Для защиты работы студент должен представить работоспособное ПМО и файлы с исходной и выгруженной структурой.
Варианты заданий сведены в таблицу 2.1.
Таблица 2.1.
№ варианта | Вид структуры | Информационное поле |
2.1 (a, b) | Стек | a) Строка b) Real |
2.2 (a, b) | Очередь | a) Строка b) Real |
2.3 (a, b) | Линейный однонаправленный список | a) Строка b) Real |
2.4 (a, b) | Линейный кольцевой список | a) Строка b) Real |
2.5 (a, b) | Двунаправленный список | a) Строка b) Real |
2.6 (a, b) | Двоичное дерево | a) Строка b) Real |
Разработка алгоритма сортировки одномерного массива
Постановка задачи: Требуется разработать программно-математическое обеспечение, реализующее алгоритм сортировки (в соответствии с вариантом задания) массива данных заданного типа по выбранному ключу.
Требования к ПМО: Структурно ПМО должно быть реализовано в виде интерфейсной части, обеспечивающей:
· задание массива из формы приложения (посредством компонента TStringGrid);
· определение ключа сортировки;
· выбор файла с исходными данными (для пакетного режима работы);
· запуск процесса сортировки;
· выбор файла для сохранения результатов сортировки;
· вывод результата сортировки,
а также предметной части, реализованной в виде класса, обеспечивающего:
· формализацию алгоритма сортировки;
· подсчет статистики (время сортировки, количество перестановок);
· чтение исходного массива из текстового файла;
· сохранение результатов сортировки в текстовом файле.