Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KV-03, Nadtochiy T. V..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
808 Кб
Скачать
☆

7Прохід

А

1

2

3

4

5

6

7

8=n

2

3

5

7

8

11

14

16

{R=1}

Умова: R>1 => false =>

Маємо відсортований масив:

А

1

2

3

4

5

6

7

8=n

2

3

5

7

8

11

14

16

Загальновідома оцінка роботи цього алгоритму:

За Віртом для масиву з 256 елементами: 1,64 с. – найкращий випадок, 1,18 – середній, 2,8 – найгірший.

Алгоритм має вигляд(для одновимірного масиву):

program Exchange3;

const n=10;

type

TVector=array[1..n] of integer;

var

A : TVector;

B : integer;

i, R, k : word;

Begin

for i:=1 to n do read(A[i]);

readln;

R:=n;

while R>1 do

begin

k:=1;

for i:=1 to R-1 do

if A[i] > A[i+1] then

begin

B:=A[i];

A[i]:=A[i+1];

A[i+1]:=B;

k:=i;

end;

R:=k;

end;

for i:=1 to n do write(A[i]:8);

writeln;

End.

Зв‘язки між модулями та головною програмою:

Опис призначення модулів, процедур та функцій

unit MAINMENU — модуль, в якому сформоване меню програми. Головна програма складається з виклику однієї процедури цього модуля;

procedure MainMenuDisplay ­– заставка головного меню програми;

procedure MainMenuWork – процедура головного меню програми;

procedure MenuMas – меню заповнення масиву(потрібно обрати один з трьох варіантів заповнення масиву);

procedure MenuTmp1 – проміжний крок меню(можна переглянути будь-який переріз початкового масиву);

procedure MenuTmp2 – останній крок меню (можна переглянути будь-який переріз відсортованого масиву, або повернутися до головного меню);

procedure MenuSort – відбувається вибір алгоритму для сортування масиву;

procedure Alg1Watch – відбувається вивід на екран таблиці з вимірами роботи алгоритмів;

unit SORT – модуль, в якому знаходять всі алгоритми сортування масиву;

procedure Vstavka1 – процедура, яка виконує алгоритм сортування методом прямої вставки №1;

procedure Vibir4 – процедура, яка виконує алгоритм сортування методом прямого вибору №4;

procedure Obmin3 – процедура, яка виконує алгоритм сортування методом прямого обміну №3;

procedure Vstavka1_1d – процедура, яка виконує алгоритм сортування методом прямої вставки №1 для одновимірного масиву;

procedure Vibir4_1d – процедура, яка виконує алгоритм сортування методом прямого вибору №4 для одновимірного масиву;

procedure Obmin3_1d – процедура, яка виконує алгоритм сортування методом прямого обміну №3 для одновимірного масиву;

unit MAS – модуль, який призначений для 3-х випадків заповнення матриці;

procedure SortMas – процедура, яка заповнює масив відсортованими елементами;

procedure UnSortMas – процедура, яка заповнює масив не відсортованими елементами;

procedure BackSortMas – процедура, яка заповнює масив відсортованими навпаки елементами;

procedure SortMas_1D – процедура, яка заповнює одновимірний масив відсортованими елементами;

procedure UnSortMas _1D – процедура, яка заповнює одновимірний масив не відсортованими елементами;

procedure BackSortMas1_D – процедура, яка заповнює одновимірний масив відсортованими навпаки елементами;

procedure MonitorMatrix – процедура, яка виводить на екран один з розрізів;

function ResTime – функція, яка вимірює час сортування масиву;

unit BATCH – модуль, який призначений для пакетного запуску програми;

procedure BatchAlg1 – процедура, яка виконує всі випадки сортування масиву методом прямої вставки №1;

procedure BatchAlg2 – процедура, яка виконує всі випадки сортування масиву методом прямого вибору №4;

procedure BatchAlg3 – процедура, яка виконує всі випадки сортування масиву методом прямого обміну №3;

procedure BatchAlg1_1D – процедура, яка виконує всі випадки сортування одновимірного масиву методом прямої вставки №1;

procedure BatchAlg2_1D – процедура, яка виконує всі випадки сортування одновимірного масиву методом прямого вибору №4;

procedure BatchAlg3_1D – процедура, яка виконує всі випадки сортування одновимірного масиву методом прямого обміну №3;

unit Common – модуль, в якому зберігаються спільні для усіх модулів структури даних.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]