Сортировка выбором. Методы сортировки массивов презентация

Содержание

Слайд 2

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

2

3

4

5

6

7

8

9

K

I

N

N - количество элементов в массиве;
I - переменная цикла;
K

- переменная, в которую записывается индекс (номер) минимального элемента в массиве.

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 3

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

1

3

4

5

6

7

8

9

K

I

N

Индекс первого элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 4

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

1

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 5

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

2

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 6

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

2

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 7

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

2

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 8

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

4

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 9

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

4

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 10

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

4

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 11

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

6

3

4

5

6

7

8

9

K

I

N-1

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 12

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

6

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 13

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

6

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 14

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

8

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 15

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

8

3

4

5

6

7

8

9

K

I

N

Сравниваются элемент с индексом I (текущий элемент массива) и

элемент с индексом К. Индекс меньшего по значению элемента записывается в переменную K.

2

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 16

Поиск минимального элемента в массиве

5

3

12

2

7

1

23

10

0

1

8

3

4

5

6

7

8

9

K

I

N

В переменной K записан индекс меньшего по значению элемента

массива.

2

A[K] – минимальный элемент массива

Поиск минимального элемента в массиве 5 3 12 2 7 1 23 10

Слайд 17

Описание переменных

program minmas; {заголовок программы, не обязателен}
TYPE {секция описания типов}
MASS= array [1..30] of integer;

{объявляется тип}
var {секция описания переменных}
N:1..30; {размер массива }
A: MASS; {массив из N целых чисел}
I:1..30; {переменная цикла }
K:1..30; {индекс минимального элемента}

Описание переменных program minmas; {заголовок программы, не обязателен} TYPE {секция описания типов} MASS=

Слайд 18

Блок формирования массива

BEGIN
Write(’ N= ’);
ReadLn(N);
FOR I:=1 TO N DO begin Write(’

A[ ’ , I , ’ ]= ’); ReadLn(A[ I ]) end;

Блок формирования массива BEGIN Write(’ N= ’); ReadLn(N); FOR I:=1 TO N DO

Слайд 19

АЛГОРИТМ ПОИСКА индекса минимального элемента в массиве

АЛГОРИТМ ПОИСКА индекса минимального элемента в массиве

Слайд 20

СОРТИРОВКА МАССИВА МЕТОДОМ ВЫБОРА

СОРТИРОВКА МАССИВА МЕТОДОМ ВЫБОРА

Слайд 21

Порядок работы:

Разработка, отладка и тестирование программы:
Программа должна:
Сформировать массив (ввод данных с клавиатуры);
Вывести

массив на экран для просмотра данных;
Произвести сортировку массива по алгоритму «Метод выбора»;
Вывести массив на экран для просмотра результата.
После того, как Вы убедились, что программа работает правильно
Определить эффективность метода:
Поставить счётчики в программу;
Запустить программу на выполнение;
Снять показания счётчиков на первом входном массиве;
Записать показания счётчиков в бланк лабораторной работы;
Запустить программу и снять показания счётчиков на втором и третьем входных массивах.
Описать дополнительное рабочее поле ОЗУ в бланке лабораторной работы.

Порядок работы: Разработка, отладка и тестирование программы: Программа должна: Сформировать массив (ввод данных

Слайд 22

РАЗРАБОТКА АЛГОРИТМА

СОРТИРОВКИ МЕТОДОМ ВЫБОРА (массив целых чисел сортируется по не убыванию элементов)

РАЗРАБОТКА АЛГОРИТМА СОРТИРОВКИ МЕТОДОМ ВЫБОРА (массив целых чисел сортируется по не убыванию элементов)

Слайд 23

5

3

12

2

7

1

23

10

0

1

2

3

4

5

6

7

8

9

K

I

N

J

5 3 12 2 7 1 23 10 0 1 2 3 4

Слайд 24

5

3

12

2

7

1

23

10

0

1

2

3

4

5

6

7

8

9

K

I

N

J

8

5 3 12 2 7 1 23 10 0 1 2 3 4

Слайд 25

0

3

12

2

7

1

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

8

0 3 12 2 7 1 23 10 5 1 2 3 4

Слайд 26

0

3

12

2

7

1

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

0 3 12 2 7 1 23 10 5 1 2 3 4

Слайд 27

6

0

3

12

2

7

1

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

6 0 3 12 2 7 1 23 10 5 1 2 3

Слайд 28

6

0

1

12

2

7

3

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

6 0 1 12 2 7 3 23 10 5 1 2 3

Слайд 29

0

1

12

2

7

3

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

0 1 12 2 7 3 23 10 5 1 2 3 4

Слайд 30

4

0

1

12

2

7

3

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

4 0 1 12 2 7 3 23 10 5 1 2 3

Слайд 31

4

0

1

2

12

7

3

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

4 0 1 2 12 7 3 23 10 5 1 2 3

Слайд 32

0

1

2

12

7

3

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

0 1 2 12 7 3 23 10 5 1 2 3 4

Слайд 33

6

0

1

2

12

7

3

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

6 0 1 2 12 7 3 23 10 5 1 2 3

Слайд 34

6

0

1

2

3

7

12

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

6 0 1 2 3 7 12 23 10 5 1 2 3

Слайд 35

0

1

2

3

7

12

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

0 1 2 3 7 12 23 10 5 1 2 3 4

Слайд 36

8

0

1

2

3

7

12

23

10

5

1

2

3

4

5

6

7

8

9

K

I

N

J

8 0 1 2 3 7 12 23 10 5 1 2 3

Слайд 37

8

0

1

2

3

5

12

23

10

7

1

2

3

4

5

6

7

8

9

K

I

N

J

8 0 1 2 3 5 12 23 10 7 1 2 3

Слайд 38

0

1

2

3

5

12

23

10

7

1

2

3

4

5

6

7

8

9

K

I

N

J

0 1 2 3 5 12 23 10 7 1 2 3 4

Слайд 39

8

0

1

2

3

5

12

23

10

7

1

2

3

4

5

6

7

8

9

K

I

N

J

8 0 1 2 3 5 12 23 10 7 1 2 3

Слайд 40

8

0

1

2

3

5

7

23

10

12

1

2

3

4

5

6

7

8

9

K

I

N

J

8 0 1 2 3 5 7 23 10 12 1 2 3

Слайд 41

0

1

2

3

5

7

23

10

12

1

2

3

4

5

6

7

8

9

K

I

N

J

0 1 2 3 5 7 23 10 12 1 2 3 4

Слайд 42

9

0

1

2

3

5

7

23

10

12

1

2

3

4

5

6

7

8

9

K

I

N

J

9 0 1 2 3 5 7 23 10 12 1 2 3

Слайд 43

9

0

1

2

3

5

7

10

23

12

1

2

3

4

5

6

7

8

9

K

I

N

J

9 0 1 2 3 5 7 10 23 12 1 2 3

Слайд 44

0

1

2

3

5

7

10

23

12

1

2

3

4

5

6

7

8

9

K

I

N

J

0 1 2 3 5 7 10 23 12 1 2 3 4

Слайд 45

8

0

1

2

3

5

7

10

23

12

1

2

3

4

5

6

7

8

9

K

I

N

J

Если K=J, то обмен не нужно делать.

8 0 1 2 3 5 7 10 23 12 1 2 3

Слайд 46

0

1

2

3

5

7

10

23

12

1

2

3

4

5

6

7

8

9

K

N

J

Процесс сортировки завершен за N-1 цикл по переменной J.

0 1 2 3 5 7 10 23 12 1 2 3 4

Слайд 47

Описание переменных

program viborsort; {заголовок программы, не обязателен}
TYPE {секция описания типов}
MASS= array [1..30] of integer;

{объявляется тип}
var {секция описания переменных}
N:1..30; {размер массива }
A: MASS; {массив из N целых чисел}
I:1..30; {переменная цикла для поиска мин. }
J:1..30; {переменная внешнего цикла}
L:integer; {переменная для обмена}
K:1..30; {индекс минимального элемента}
CS: integer; {счётчик числа сравнений}
CP: integer; {счётчик числа перестановок}

Описание переменных program viborsort; {заголовок программы, не обязателен} TYPE {секция описания типов} MASS=

Слайд 48

Блок формирования массива

BEGIN
Write(’ N= ’);
ReadLn(N);
FOR I:=1 TO N DO begin Write(’

A[ ’ , I , ’ ]= ’); ReadLn(A[ I ]) end;

Блок формирования массива BEGIN Write(’ N= ’); ReadLn(N); FOR I:=1 TO N DO

Слайд 49

Блок печати массива

WriteLn;
FOR I:=1 TO N DO Write(A[ I ] ,

’ ’);
WriteLn;

Блок печати массива WriteLn; FOR I:=1 TO N DO Write(A[ I ] , ’ ’); WriteLn;

Слайд 50

3

3

Слайд 51

ОСНОВНАЯ ЧАСТЬ ПРОГРАММЫ

FOR J:=1 TO N-1 DO
BEGIN
K:=J;
FOR I:=J+1 TO N

DO IF A[I] J THEN begin L:=A[K]; A[K]:=A[J]; A[J]:=L; end; END;

ОСНОВНАЯ ЧАСТЬ ПРОГРАММЫ FOR J:=1 TO N-1 DO BEGIN K:=J; FOR I:=J+1 TO

Слайд 52

Куда ставить счётчики?

CS:=0; CP:=0; FOR J:=1 TO N-1 DO
BEGIN
K:=J;
FOR I:=J+1 TO N

DO begin CS:=CS+1; IF A[I] end; IF k<> J THEN begin L:=A[K]; A[K]:=A[J]; A[J]:=L; CP:=CP+3; end; END; WriteLn(’ CS=’ ,CS); WriteLn(’ CP=’ ,CP);

Обнулить счётчики до начала сортировки

Увеличить на 1 значение счётчика числа сравнений

Увеличить на 3 значение счётчика числа перестановок

Обратите внимание на то, что после добавления оператора в тело цикла с параметром необходимо поставить операторные скобки.

Вывести на экран значения счётчиков
после завершения сортировки

Куда ставить счётчики? CS:=0; CP:=0; FOR J:=1 TO N-1 DO BEGIN K:=J; FOR

Слайд 53

После завершения сортировки ещё раз вывести на экран значения элементов массива, чтобы проверить,

что сортировка прошла успешно.

WriteLn;
FOR I:=1 TO N DO Write(A[ I ] , ’ ’); ReadLn;
END. { конец программы}

После завершения сортировки ещё раз вывести на экран значения элементов массива, чтобы проверить,

Имя файла: Сортировка-выбором.-Методы-сортировки-массивов.pptx
Количество просмотров: 66
Количество скачиваний: 0