- •Оглавление
- •Введение
- •Методические указания
- •Темы курсовых проектов
- •Пример выполнения курсового проекта
- •1 Постановка задачи
- •2 Краткая теория
- •2.1 Сортировка методом прямого включения
- •2.2 Сортировка методом прямого выбора
- •2.3 Сортировка с помощью прямого обмена (пузырьковая)
- •3 Метод исследования
- •4 Результаты исследования
- •5 Контрольный пример
- •6 Заключение
- •7 Приложение Описание процедур, используемых в программе
- •Текст программы( на языке программирования Pascal)
- •I:integer;
- •I:integer;
- •I,j:integer;
- •X:integer;
- •I,j:integer;
- •X:integer;
- •I,j:integer;
- •X:integer;
- •I,j:integer;
- •Item:byte;
- •{Fill - процедура, заполняющая заданную область экрана заданными символами заданного цвета}
- •1:Example;
- •2:Begin
- •{Вызов процедуры make, осуществляющей исследование методов сортировки}
- •{Вызов процедуры make, осуществляющей исследование методов сортировки}
- •{Вызов процедуры make, осуществляющей исследование методов сортировки}
- •3:Begin
- •4:Begin
- •5:Begin
- •6:Begin
- •Gotoxy(12,7);write('Данная программа является курсовым проектом по дисциплине');
- •Список литературы
5 Контрольный пример
Задание:
Дан список, содержащий имена студентов и соответствующие им баллы рейтинга. Необходимо отсортировать данный список по убыванию баллов рейтинга.
Сортировка методом прямого включения:
До сортировки |
После сортировки |
||
Аркадий |
19 |
Артур |
20 |
Мурат |
17 |
Аркадий |
19 |
Руслан |
9 |
Александр |
18 |
Артур |
20 |
Владимир |
18 |
Евгений |
7 |
Мурат |
17 |
Михаил |
15 |
Казбек |
16 |
Александр |
18 |
Михаил |
15 |
Виталий |
14 |
Борис |
15 |
Сидор |
8 |
Денис |
14 |
Владимир |
18 |
Виталий |
14 |
Алексей |
6 |
Василий |
13 |
Казбек |
16 |
Петр |
10 |
Марат |
5 |
Руслан |
9 |
Борис |
15 |
Иван |
8 |
Геннадий |
2 |
Сидор |
8 |
Денис |
14 |
Евгений |
7 |
Василий |
13 |
Алексей |
6 |
Сидор |
3 |
Марат |
5 |
Петр |
10 |
Сидор |
3 |
Иван |
8 |
Геннадий |
2 |
6 Заключение
По результатам исследования можно утверждать, что лучшим из прямых методов сортировки является метод прямого выбора, так как он дает наименьшее количество сравнений и перемещений независимо от количества сортируемых элементов и их взаимного расположения в массиве.
7 Приложение Описание процедур, используемых в программе
UPOR |
процедура генерирует упорядоченный по возрастанию массив чисел |
NOTUPOR |
процедура генерирует неупорядоченный (случайный) массив чисел |
PR_CHOOSE |
процедура осуществляет сортировку методом прямого выбора |
PR_INS |
процедура осуществляет сортировку методом прямой вставки |
PR_OBM |
процедура осуществляет сортировку методом прямого обмена |
MAKE |
процедура осуществляет исследование прямых методов сортировки |
EXAMPLE |
процедура выполняет контрольный пример (сортировку методом прямого включения) |
Текст программы( на языке программирования Pascal)
{$M 65000,65000,65000}
{Выделение памяти осуществляется для того, чтобы было
возможно осуществлять исследование массива, содержащего 10000 элементов
***********************************************************
Данная программа является курсовым проектом по дисциплине
'Структуры и алгоритмы обработки данных'
на тему 'Базовые методы сортировки'
В работе исследуются методы:
- прямого выбора;
- прямого обмена;
- прямой вставки.
Для исследования используются массивы из 10,100,100,10000 элементов.
**********************************************************}
{ использование модулей для осуществления вывода на экран }
uses crt,crtext,dcrt;***************************************************}
{** процедура, генерирующая упорядоченный по возрастанию массив чисел**}
{*********************************************************}
procedure upor(a:array of integer;var a1:array of integer);
var
{i - счетчик в циклах}
