Похожие презентации:
Сколько раз отработает цикл?
1.
22 марта 20182.
Сколько раз отработает цикл? Чемуравно значение переменной A?
k:=4; a:=2;
repeat
a:=a+1;
k:=k-1;
until k=0;
a:=0;
for i:=1 to 3 do
for j:=1 to 2 do
a:=a+1;
3.
Чему равно значениепеременных a, b?
a:=5;
b:=6;
a:=b;
b:=a;
a=6 b=6
c:=a;
a:=b;
b:=c;
4.
1A:
2
3
4
5
6
7
12 9 -1 4 47 20 -10
Назовите размерность массива
Назовите индексы нечетных элементов
Найдите a[3]+a[7]
Найдите максимальный элемент и его
индекс
5.
Сортировкамассива
6.
Сортировка массива – расстановкаего элементов в заданном порядке
по возрастанию, убыванию, последней цифре,
сумме делителей, по алфавиту, …
Алгоритмы:
•простые и понятные, но неэффективные
для больших массивов
•сложные, но эффективные
7.
Метод пузырьковый• Идея: пузырек воздуха в стакане воды
поднимается со дна вверх.
• Для массивов – самый маленький
(«легкий» элемент перемещается вверх
(«всплывает»).
8.
Пузырьковый методprogram Sort;
const n=10;
var a:array[1..n] of
integer;
i,j,c: integer;
begin
{ввод массива}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
c:=a[i];
a[i]:= a[j];
a[j]:=c;
end;
{вывод массива}
end.
9.
for i:=1 to n-1 dofor j:=i+1 to n do
if a[i]>a[j] then
begin
c:=a[i];
a[i]:= a[j];
a[j]:=c;
end;
10.
repeatk:=0;
for i:=1 to n-1 do
if a[i]>a[i+1] then
{сравнение попарно}
begin
c:=a[i];
a[i]:= a[i+1];
a[i+1]:=c;
k:=1;
end;
until k=0;
11.
Метод пузырька с флажкомprogram SortF;
const n=10;
var a:array[1..n] of
integer;
i,k,c: integer;
begin
{ввод массива}
repeat
k:=0;
for i:=1 to n-1 do
if a[i]>a[i+1] then {сравнение попарно}
begin
c:=a[i];
a[i]:= a[i+1];
a[i+1]:=c;
K:=1;
end;
until k=0;
{вывод массива}
12.
Метод выбора• Идея: найти минимальный элемент и
поставить его на первое место.
for i:= 1 to N-1 do begin
{найти номер nMin минимального
элемента из A[i]..A[N]}
if i <> nMin then
begin
{поменять местами A[i] и A[nMin]}
end
end;
13.
Алгоритмы:• простые и понятные, но неэффективные для больших
массивов
время
▫ метод пузырька
работы
▫ метод выбора
• сложные, но эффективные
▫ «быстрая сортировка» (QuickSort)
▫ сортировка «кучей» (HeapSort)
▫ сортировка слиянием (MergeSort)
N
▫ пирамидальная сортировка
14.
Алгоритмизация и программирование, Паскаль, 10 класс14
Быстрая сортировка
78
L
6
82
67
55
44
34
R
34
6
82
L
67
55
44
R
78
34
6
44
67
L
55
R
82
78
34
6
44
55
R
67
L
82
78
!
L > R : разделение закончено!
К.Ю. Поляков, Е.А. Ерёмин, 2013
http://kpolyakov.spb.ru
15.
Сравнение методов по времениN
1000
Метод
пузырька
0,24 с
Метод
выбора
0,12 с
Быстрая
сортировка
0,004 с
5000
5,3 с
2,9 с
0,024 с
15000
45 с
34 с
0,068 с
16.
Домашнее задание1. Прочитать п.64 учебника
2. Составить трассировочную таблицу
пузырькового метода для 7 элементов
3. Составить трассировочную таблицу метода
пузырька с флажком для 7 элементов
4. Составить программу сортировки методом
выбора
Задания 2-4 по выбору