Задания уровня 1

Упражнение 1.
     Программа с процедурами сортировки простого выбора и простой вставки.

1. Наберите текст программы:


Uses Crt; 
Const n=10; 
Type 
Mas = Array [1 .. n] Of Integer; 
Var A: Mas; 
Procedure SetRandomMas ( Var A: Mas ); {Задание случайного массива} 
Var i: Integer; 
Begin 
Randomize; 
For i := 1 To n Do A[i] := Random (100); 
End; 
Procedure OutPutMas ( Var A: Mas ); {Вывод массива на экран} 
Var i: Integer; 
Begin 
For i := 1 To n Do Write( A[i]:3 ); 
WriteLn; 
End; 
Procedure SortVybor ( Var A: Mas ); {Сортировка выбором} 
Var i, k, m, j,Temp, Min: Integer; 
Begin 
For i := 1 To n Do 
Begin 
Min := A[i]; 
k := i; 
For j := i+1 To n Do 
If A[j] < Min Then Begin Min := A[j]; k := j; End; 
Temp := Min; 
For m := k-1 DownTo i Do A[m+1] := A[m]; 
A[i] := Temp; 
End; 
End; 
Procedure SortVstav ( Var A: Mas ); {Сортировка вставкой} 
Var i, k, j, Temp: Integer; 
Begin 
For i := 1 To n-1 Do 
Begin 
If A[i+1] < A[i] Then 
Begin 
j := i; 
While (A[j] > A[i+1]) And (j >0) Do j := j – 1; 
k := j + 1; 
Temp := A[i+1]; 
For j := i DownTo k Do A[j+1] := A[j]; 
A[k] := Temp; 
End; 
End; 
End; 
Begin 
ClrScr; 
SetRandomMas(A); 
OutPutMas(A); 
SortVstav(A); 
OutPutMas(A) 
End.

2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:\P8PR1

Задания уровня 2

1. Написать программу, реализующую алгоритм пузырьковой сортировки, причем просмотр элементов должен вестись наоборот (справа налево). Записать программу под именем P8PR2
2. Написать процедуру сортировки простым выбором, в которой выбирается не минимальный, а максимальный элемент. Сохранить программу под именем P8PR3

Задания уровня 3

4. Запрограммируйте сортировку выбором в виде процедуры. Поиск наименьшего числа сделайте ее внутренней функцией. Сохранить программу под именем P8PR4
3. Написать свои программы сортировки массива для изученных алгоритмов сортировки. Сохраните программы.


Контрольные вопросы:
1. Что называют сортировкой?
2. Как выглядит постановка задачи по сортировке массива?
3. На какие части можно разбить любой алгоритм сортировки?
4. Какие виды сортировки вы знаете?
5. На каких основных видах сортировки базируются остальные алгоритмы сортировки?
6. В чем заключается идея сортировки методом «пузырька»?
7. Объясните суть метода сортировки вставкой.
8. Объясните суть метода сортировки посредством выбора.
9. В чем заключается идея сортировки методом Хоара?
10. В чем заключается сущность метода Шелла?