SlideShare a Scribd company logo
1 of 15
Сортировка в массивах

        11 класс


         2013г.
Сортировка
  Сортировка – важный навык, который ребѐнок должен
усовершенствовать до того, как пойдѐт в школу. Когда
ребѐнок разделяет предметы по определѐнному признаку, он
изучает основы счѐта, развивает мелкую моторику и учится
называть и группировать объѐкты.
Задание
  Имеются чѐрный, белый и синий ящики. В полосатом
ящике находятся черные, белые и синие шары, по 5 шаров
каждого цвета. Выполните сортировку шаров, поместив
белые шары в белый ящик, черные в черный, синие в синий.
Составьте алгоритм решения предложенной задачи и
представьте его в виде блок-схемы.
Шар
                             черный?              Шар
   Шар
                                                 синий?
  белый?

                    В полосатом
                     ящике есть
                       шары?
                                           Положить шар в
                                             синий ящик
   Положить шар в
    белый ящик          Положить шар в
                         черный ящик
                                           Вынуть из
                                           полосатого
                                         ящика один шар
    Взять
белый, синий и                                 конец
черный ящики                  начало
начало
                                     В полосатом          нет
         Взять
     белый, синий и                   ящике есть
     черный ящики                       шары?
                                              да
                                                          конец
                                     Вынуть из
                                     полосатого
                                   ящика один шар

            да                     нет
                         Шар
                        белый?
Положить шар в                       Шар            нет
 белый ящик               да       черный?

                  Положить шар в             Положить шар в
                   черный ящик                 синий ящик
Сортировка массива
   Сортировкой или упорядочением массива называется
расположение его элементов по возрастанию (или
убыванию). Если не все элементы различны, то надо
говорить о неубывающем (или невозрастающем) порядке.
   Известно много различных алгоритмов. Критерии оценки
эффективности этих алгоритмов могут включать следующие
параметры:
• количество    шагов   алгоритма,   необходимых    для
упорядочения;
• количество сравнений элементов;
• количество перестановок, выполняемых при сортировке.
Метод пузырька
   Представьте, что массив (таблица) расположен вертикально.
Элементы с большим значением всплывают вверх наподобие
больших пузырьков. При первом проходе вдоль массива, начиная
проход "снизу", берется первый элемент и поочередно сравнивается
с последующими. При этом:
• если встречается более "легкий" (с меньшим значением)
элемент, то они меняются местами;
• при встрече с более "тяжелым" элементом, последний
становится "эталоном" для сравнения, и все следующие
сравниваются с ним .
   В результате наибольший элемент оказывается в самом верху
массива.
   Во время второго прохода вдоль массива находится второй по
величине элемент, который помещается под элементом, найденным
при первом проходе, т.е на вторую сверху позицию, и т.д.
Пример
   Заполнить квадратную матрицу случайными целыми числами.
Упорядочить каждую строку матрицы по возрастанию значений
элементов.
   Const n=4;
   Type: vector=array[1..n] of integer;
   Var Matr: array[1..n] of vector; k,l: integer;
   {Начало процедуры сортировки}
   Procedure SortVector(Var A: vector);
   Var i,j,x: integer; Flag: boolean;
   Begin
        Flag:=true; i:=1;
        While (i<=n-1) and Flag Do
        Begin
                  Flag:=false;
                  For j:=1 To n-I Do
If A[j]>A[j+1] Then
                     Begin X:=A[j]; A[j]:=A[j+1];
                            A[j+1]:=X; flag:=true End;
            i:=i+1
     End
End; {Конец процедуры сортировки}
{Начало процедуры вывода матрицы}
Procedure PrintMatr(Var M: array[1..n] of vector;
Var I,j: integer;
Begin
     For i:=1 To n Do
     Begin
               For j:=1 To n Do Write (M[i][j]:3);
              Writeln
     End
End; {Конец процедуры вывода матрицы}
{Основная программа}
Begin
Randomize;
{Заполнение матрицы}
For k:=1 To n Do
 For l:=1 To n Do
         Matr[k][l]:=Random(10);
{Вывод исходной матрицы}
Writeln(‘Исходная матрица:’);
PrintMatr(Matr);
{построчная сортировка}
For k:=1 To n Do SortVector(Matr[k]);
{вывод отсортированной матрицы}
Writeln(‘отсортированная матрица:’);
PrintMatr(Matr)
End.
Сортировка вставками
   Второй метод называется метод вставок., т.к. на j-ом
этапе мы "вставляем" j-ый элемент M[j] в нужную позицию
среди элементов M[1], M[2],. . ., M[j-1], которые уже
упорядочены. После этой вставки первые j элементов
массива M будут упорядочены.
Сортировка посредством перебора
   Идея сортировки с помощью выбора не сложнее двух
предыдущих. На j-ом этапе выбирается элемент наименьший
среди M[j], M[j+1],. . ., M[N] и меняется местами с
элементом M[j]. В результате после j-го этапа все
элементы M[j], M[j+1],. . ., M[N]будут упорядочены.
Задания
1. Дан массив, состоящий из 100 целых чисел:
А) вывести все числа, которые встречаются в этом массиве
    по нескольку раз;
Б) вывести все числа, которые встречаются в массиве только
    по одному разу.
2. В целочисленном массиве размером 10х10 найдите
    максимальное      значение     и     индексы      всех
    элементов, равных ему.
Упражнения для глаз
• Закрыть глаза, сильно напрягая глазные мышцы, на счет 1-
  4, затем раскрыть глаза, расслабив мышцы глаз, посмотрев
  вдаль на счет 1-6.
   – Повторить 4-5 раз.
• Посмотреть на переносицу и задержать взор на счет 1-4.
  До усталости глаза доводить нельзя. Затем открыть
  глаза, посмотреть вдаль на счет 1-6.
   – Повторить 3-4 раза.
  Упражнения выполняются стоя или сидя, отвернувшись от
экрана при ритмичном дыхании, с максимальной амплитудой
движения глаз.
Источники
• Семакин И.Г. Информатика и ИКТ. Профильный уровень: учебник для
  11 класса/ И.Г.Семакин, Е.К.Хеннер, Л.В.Шестакова.– М.: БИНОМ.
  Лаборатория знаний, 2012.
• http://www.mamask.ru/threeyear/6-leaving/878-igri-deti-2-goda
• http://festival.1september.ru/articles/212288/
• http://www.vzmakh.ru/info/pascal/modules/page14.html

More Related Content

What's hot

6345 урок в 8 классе
6345 урок в 8 классе6345 урок в 8 классе
6345 урок в 8 классеjasperwtf
 
Irracionalnye uravneniya
Irracionalnye uravneniyaIrracionalnye uravneniya
Irracionalnye uravneniyaIvanchik5
 
7 klas algebra_merzljak_2007_ros
7 klas algebra_merzljak_2007_ros7 klas algebra_merzljak_2007_ros
7 klas algebra_merzljak_2007_rosUA7009
 
Pokazatelnye uravneniya
Pokazatelnye uravneniyaPokazatelnye uravneniya
Pokazatelnye uravneniyaDimon4
 
контрольные математика 2 класс башмаков нефедова
контрольные математика 2 класс башмаков нефедоваконтрольные математика 2 класс башмаков нефедова
контрольные математика 2 класс башмаков нефедоваYchebnikRU
 
Принцип Дирихле
Принцип ДирихлеПринцип Дирихле
Принцип Дирихлеrasparin
 
7 алг мерзляк_полонский_2016_рус
7 алг мерзляк_полонский_2016_рус7 алг мерзляк_полонский_2016_рус
7 алг мерзляк_полонский_2016_русAira_Roo
 
2 m3 d 3 часть
2 m3 d 3 часть2 m3 d 3 часть
2 m3 d 3 часть11book
 
Geometricheskie tela i_ploskie_figury
Geometricheskie tela i_ploskie_figuryGeometricheskie tela i_ploskie_figury
Geometricheskie tela i_ploskie_figuryИван Иванов
 

What's hot (16)

6345 урок в 8 классе
6345 урок в 8 классе6345 урок в 8 классе
6345 урок в 8 классе
 
математический диктант 1
математический диктант 1математический диктант 1
математический диктант 1
 
задачи со спичками
задачи со спичкамизадачи со спичками
задачи со спичками
 
Irracionalnye uravneniya
Irracionalnye uravneniyaIrracionalnye uravneniya
Irracionalnye uravneniya
 
Logic
LogicLogic
Logic
 
7 klas algebra_merzljak_2007_ros
7 klas algebra_merzljak_2007_ros7 klas algebra_merzljak_2007_ros
7 klas algebra_merzljak_2007_ros
 
Pokazatelnye uravneniya
Pokazatelnye uravneniyaPokazatelnye uravneniya
Pokazatelnye uravneniya
 
софизмы
софизмысофизмы
софизмы
 
0000d056 cf10fb99
0000d056 cf10fb990000d056 cf10fb99
0000d056 cf10fb99
 
контрольные математика 2 класс башмаков нефедова
контрольные математика 2 класс башмаков нефедоваконтрольные математика 2 класс башмаков нефедова
контрольные математика 2 класс башмаков нефедова
 
Принцип Дирихле
Принцип ДирихлеПринцип Дирихле
Принцип Дирихле
 
7 алг мерзляк_полонский_2016_рус
7 алг мерзляк_полонский_2016_рус7 алг мерзляк_полонский_2016_рус
7 алг мерзляк_полонский_2016_рус
 
конспект
конспектконспект
конспект
 
2 m3 d 3 часть
2 m3 d 3 часть2 m3 d 3 часть
2 m3 d 3 часть
 
7
77
7
 
Geometricheskie tela i_ploskie_figury
Geometricheskie tela i_ploskie_figuryGeometricheskie tela i_ploskie_figury
Geometricheskie tela i_ploskie_figury
 

Viewers also liked

разбор заданий на исполнители
разбор заданий на исполнителиразбор заданий на исполнители
разбор заданий на исполнителиЕлена Ключева
 
корреляционные зависимости
корреляционные зависимостикорреляционные зависимости
корреляционные зависимостиЕлена Ключева
 
элементы математической логики
элементы математической логикиэлементы математической логики
элементы математической логикиЕлена Ключева
 
прогнозирование по регрессионной модели
прогнозирование по регрессионной моделипрогнозирование по регрессионной модели
прогнозирование по регрессионной моделиЕлена Ключева
 
информационное общество
информационное обществоинформационное общество
информационное обществоЕлена Ключева
 
вентили и булевы функции
вентили и булевы функциивентили и булевы функции
вентили и булевы функцииЕлена Ключева
 
конспект структуры алгоритмов и программ
конспект структуры алгоритмов и программконспект структуры алгоритмов и программ
конспект структуры алгоритмов и программЕлена Ключева
 
задание на системы счисления
задание на системы счислениязадание на системы счисления
задание на системы счисленияЕлена Ключева
 
памятка по табличным моделям
памятка по табличным моделямпамятка по табличным моделям
памятка по табличным моделямЕлена Ключева
 
алгоритм как модель деятельности
алгоритм как модель деятельностиалгоритм как модель деятельности
алгоритм как модель деятельностиЕлена Ключева
 
краткий конспект по программированию ветвлений и задания
краткий конспект по программированию ветвлений и заданиякраткий конспект по программированию ветвлений и задания
краткий конспект по программированию ветвлений и заданияЕлена Ключева
 
задачи на перебор возможных вариантов
задачи на перебор возможных вариантовзадачи на перебор возможных вариантов
задачи на перебор возможных вариантовЕлена Ключева
 
задания по теме исполнители2
задания по теме исполнители2задания по теме исполнители2
задания по теме исполнители2Елена Ключева
 
минимизация булевых функций
минимизация булевых функцийминимизация булевых функций
минимизация булевых функцийЕлена Ключева
 

Viewers also liked (20)

разбор заданий на исполнители
разбор заданий на исполнителиразбор заданий на исполнители
разбор заданий на исполнители
 
Алгоритмы
АлгоритмыАлгоритмы
Алгоритмы
 
корреляционные зависимости
корреляционные зависимостикорреляционные зависимости
корреляционные зависимости
 
создание форм
создание формсоздание форм
создание форм
 
элементы математической логики
элементы математической логикиэлементы математической логики
элементы математической логики
 
прогнозирование по регрессионной модели
прогнозирование по регрессионной моделипрогнозирование по регрессионной модели
прогнозирование по регрессионной модели
 
информационное общество
информационное обществоинформационное общество
информационное общество
 
вентили и булевы функции
вентили и булевы функциивентили и булевы функции
вентили и булевы функции
 
конспект структуры алгоритмов и программ
конспект структуры алгоритмов и программконспект структуры алгоритмов и программ
конспект структуры алгоритмов и программ
 
задание на системы счисления
задание на системы счислениязадание на системы счисления
задание на системы счисления
 
массивы
массивымассивы
массивы
 
памятка по табличным моделям
памятка по табличным моделямпамятка по табличным моделям
памятка по табличным моделям
 
исполнитель
исполнительисполнитель
исполнитель
 
алгоритм как модель деятельности
алгоритм как модель деятельностиалгоритм как модель деятельности
алгоритм как модель деятельности
 
моделирование
моделированиемоделирование
моделирование
 
краткий конспект по программированию ветвлений и задания
краткий конспект по программированию ветвлений и заданиякраткий конспект по программированию ветвлений и задания
краткий конспект по программированию ветвлений и задания
 
задачи на перебор возможных вариантов
задачи на перебор возможных вариантовзадачи на перебор возможных вариантов
задачи на перебор возможных вариантов
 
задания по теме исполнители2
задания по теме исполнители2задания по теме исполнители2
задания по теме исполнители2
 
музей истории искусств
музей истории искусствмузей истории искусств
музей истории искусств
 
минимизация булевых функций
минимизация булевых функцийминимизация булевых функций
минимизация булевых функций
 

сортировка в массивах

  • 2. Сортировка Сортировка – важный навык, который ребѐнок должен усовершенствовать до того, как пойдѐт в школу. Когда ребѐнок разделяет предметы по определѐнному признаку, он изучает основы счѐта, развивает мелкую моторику и учится называть и группировать объѐкты.
  • 3. Задание Имеются чѐрный, белый и синий ящики. В полосатом ящике находятся черные, белые и синие шары, по 5 шаров каждого цвета. Выполните сортировку шаров, поместив белые шары в белый ящик, черные в черный, синие в синий. Составьте алгоритм решения предложенной задачи и представьте его в виде блок-схемы.
  • 4. Шар черный? Шар Шар синий? белый? В полосатом ящике есть шары? Положить шар в синий ящик Положить шар в белый ящик Положить шар в черный ящик Вынуть из полосатого ящика один шар Взять белый, синий и конец черный ящики начало
  • 5. начало В полосатом нет Взять белый, синий и ящике есть черный ящики шары? да конец Вынуть из полосатого ящика один шар да нет Шар белый? Положить шар в Шар нет белый ящик да черный? Положить шар в Положить шар в черный ящик синий ящик
  • 6. Сортировка массива Сортировкой или упорядочением массива называется расположение его элементов по возрастанию (или убыванию). Если не все элементы различны, то надо говорить о неубывающем (или невозрастающем) порядке. Известно много различных алгоритмов. Критерии оценки эффективности этих алгоритмов могут включать следующие параметры: • количество шагов алгоритма, необходимых для упорядочения; • количество сравнений элементов; • количество перестановок, выполняемых при сортировке.
  • 7. Метод пузырька Представьте, что массив (таблица) расположен вертикально. Элементы с большим значением всплывают вверх наподобие больших пузырьков. При первом проходе вдоль массива, начиная проход "снизу", берется первый элемент и поочередно сравнивается с последующими. При этом: • если встречается более "легкий" (с меньшим значением) элемент, то они меняются местами; • при встрече с более "тяжелым" элементом, последний становится "эталоном" для сравнения, и все следующие сравниваются с ним . В результате наибольший элемент оказывается в самом верху массива. Во время второго прохода вдоль массива находится второй по величине элемент, который помещается под элементом, найденным при первом проходе, т.е на вторую сверху позицию, и т.д.
  • 8. Пример Заполнить квадратную матрицу случайными целыми числами. Упорядочить каждую строку матрицы по возрастанию значений элементов. Const n=4; Type: vector=array[1..n] of integer; Var Matr: array[1..n] of vector; k,l: integer; {Начало процедуры сортировки} Procedure SortVector(Var A: vector); Var i,j,x: integer; Flag: boolean; Begin Flag:=true; i:=1; While (i<=n-1) and Flag Do Begin Flag:=false; For j:=1 To n-I Do
  • 9. If A[j]>A[j+1] Then Begin X:=A[j]; A[j]:=A[j+1]; A[j+1]:=X; flag:=true End; i:=i+1 End End; {Конец процедуры сортировки} {Начало процедуры вывода матрицы} Procedure PrintMatr(Var M: array[1..n] of vector; Var I,j: integer; Begin For i:=1 To n Do Begin For j:=1 To n Do Write (M[i][j]:3); Writeln End End; {Конец процедуры вывода матрицы} {Основная программа} Begin
  • 10. Randomize; {Заполнение матрицы} For k:=1 To n Do For l:=1 To n Do Matr[k][l]:=Random(10); {Вывод исходной матрицы} Writeln(‘Исходная матрица:’); PrintMatr(Matr); {построчная сортировка} For k:=1 To n Do SortVector(Matr[k]); {вывод отсортированной матрицы} Writeln(‘отсортированная матрица:’); PrintMatr(Matr) End.
  • 11. Сортировка вставками Второй метод называется метод вставок., т.к. на j-ом этапе мы "вставляем" j-ый элемент M[j] в нужную позицию среди элементов M[1], M[2],. . ., M[j-1], которые уже упорядочены. После этой вставки первые j элементов массива M будут упорядочены.
  • 12. Сортировка посредством перебора Идея сортировки с помощью выбора не сложнее двух предыдущих. На j-ом этапе выбирается элемент наименьший среди M[j], M[j+1],. . ., M[N] и меняется местами с элементом M[j]. В результате после j-го этапа все элементы M[j], M[j+1],. . ., M[N]будут упорядочены.
  • 13. Задания 1. Дан массив, состоящий из 100 целых чисел: А) вывести все числа, которые встречаются в этом массиве по нескольку раз; Б) вывести все числа, которые встречаются в массиве только по одному разу. 2. В целочисленном массиве размером 10х10 найдите максимальное значение и индексы всех элементов, равных ему.
  • 14. Упражнения для глаз • Закрыть глаза, сильно напрягая глазные мышцы, на счет 1- 4, затем раскрыть глаза, расслабив мышцы глаз, посмотрев вдаль на счет 1-6. – Повторить 4-5 раз. • Посмотреть на переносицу и задержать взор на счет 1-4. До усталости глаза доводить нельзя. Затем открыть глаза, посмотреть вдаль на счет 1-6. – Повторить 3-4 раза. Упражнения выполняются стоя или сидя, отвернувшись от экрана при ритмичном дыхании, с максимальной амплитудой движения глаз.
  • 15. Источники • Семакин И.Г. Информатика и ИКТ. Профильный уровень: учебник для 11 класса/ И.Г.Семакин, Е.К.Хеннер, Л.В.Шестакова.– М.: БИНОМ. Лаборатория знаний, 2012. • http://www.mamask.ru/threeyear/6-leaving/878-igri-deti-2-goda • http://festival.1september.ru/articles/212288/ • http://www.vzmakh.ru/info/pascal/modules/page14.html