АВТИ информатика по паскалю / Metod1_2010 / INSORT / Zadanie
.docЗадание к л/р «Внутренняя сортировка»
Каждое задание выдается на бригаду из 3-х студентов.
Условие
.Провести анализ 3-х заданных алгоритмов сортировки
-
путем сравнения результатов статистического анализа: С (количество сравнений) и М (количество обменов) ;
-
сравнить полученные результаты и сделать выводы об эффективности каждого алгоритма
-
в зависимости от степени упорядоченности данных;
-
путем сравнения методов сортировки;
-
путем сравнения с аналитическими оценками Сf, Мf.
-
сделать выводы об естественности и устойчивости поведения этих алгоритмов и области их применимости.
Результаты анализа отразить в таблице
Случайный порядок ключей
Прямой порядок ключей
Обратный порядок ключей <Алгоритм1>
С М Сf
Mf
С М Сf
Mf
С М Сf
Mf <Алгоритм2> .
. .
.
. . .
. . <Алгоритм3> .
. . .
. . .
. .
Этапы выполнения задания
-
Ввод (из файла) и печать массива А (вывод в файл и на экран). Массив А – случайно упорядоченный, переменной длины n (не менее 20).
-
Проверка работоспособности каждого из 3-х алгоритмов сортировки (процедуры без параметров).
-
Добавить в каждый из алгоритмов счетчики С и М и оформить их как процедуры с параметрами.
-
Объединить 3 алгоритма в одну программу. Выполнить поставленную задачу, максимально экономя память под сортируемый массив.
-
Для эффективной организации процесса тестирования использовать функцию упорядочивания f(x), оформить ее как параметр процедурного типа, сделав алгоритмы сортировки универсальными относительно.
-
Используя функцию упорядочивания, добавить тест : сортировка массива, который упорядочен по возрастанию, в массив, упорядоченный по убыванию.
Методические указания
Этап2
Проверка работоспособности каждого из 3-х алгоритмов сортировки (процедуры без параметров).
Структура программы для каждого из 3-х алгоритмов (пример QuickSort):
Program
SortBrig1 (fa, frez) Type
mas=array … var
Описание вход/выход данных
Procedure
QuickSort;
Var
Описание локальных переменных
Begin
Алгоритм без
функции f
End ;
Begin {Главная программа}
Подготовка файлов
Ввод длины n
массива A
Ввод ( А )
QuickSort; {Сортировка
массива А}
Печать массива А { случайн
упор_по возр}
QuickSort; {Сортировка
массива А}
Печать массива А {упор_по возр
упор_по
возр}
End.
Этап3
Добавить в каждый из алгоритмов счетчики С и М и оформить их как процедуры с параметрами.
Структура программы для каждого из 3-х алгоритмов (пример QuickSort):
Program
SortBrig1 (fa, frez) Type
mas=array … var
Описание вход/выход данных
Procedure
QuickSort (n: integer: var A: mas; Var
C,M: integer );
Var
Описание локальных переменных
Begin
Алгоритм без
функции f
End ;
Begin {Главная программа}
Подготовка файлов
Ввод длины na
массива A
Ввод ( А )
QuickSort (na,
A, C ,M);
{Сортировка массива А}
Печать ( C,
M){
случайн
упор_по возр}
QuickSort (na,
A, C ,M);
{Сортировка массива А}
Печать (C,
M) {
упор_по возр
упор_по возр} End.