Задания уровня 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. В чем заключается сущность метода Шелла?