
- •Технология программирования вложенных циклов
- •Правила работы с вложенными циклами:
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Описание многомерных массивов
- •Обозначение элементов многомерного массива
- •Создание двумерного массива
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Параллельно вложенные циклы
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Программирование задачи с графическим интерфейсом
- •Сортировка элементов массивов
- •Ранжирование числовых массивов
- •Ранжирование по убыванию основным методом
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ранжирование по возрастанию методом «пузырька»
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ранжирование символьных массивов
- •Ранжирование символов в строке по алфавиту
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Ранжирование массива символьных строк по алфавиту
- •Постановка задачи
- •Формирование математической модели
- •Выбор метода решения
- •Составление алгоритма решения
- •Программирование задачи
- •Заключение
- •Вопросы для контроля
-
Сортировка элементов массивов
Знакомство с технологиями организации вложенных циклов и поиска наибольшего (наименьшего) некоторой совокупности числовых данных позволяет перейти к рассмотрению задач сортировки (ранжирования) элементов таких совокупностей.
Ранжирование – размещение элементов некоторой совокупности данных по убыванию (возрастанию) их численных значений (кодов).
Определение позволяет сделать вывод, что под совокупностью данных может пониматься как числовая, так и символьная информация (рис. 9.9).
Рис. 9.9. Типы сортируемых данных
-
Ранжирование числовых массивов
Числовые массивы ранжируются по направлениям (рис. 9.10).
Рис. 9.10. Классификация направлений ранжирования
В математике разработаны различные методы сортировки числовых массивов. Основной (универсальный) метод формулируется следующим образом:
-
определить в рассматриваемом массиве элемент с максимальным (минимальным) значением (кодом) и запомнить его индекс;
-
поменять местами содержимое первого элемента и элемента с максимальным (минимальным) значением – отсортировать экстремальный элемент рассматриваемого массива;
-
сформировать новый (текущий) массив уменьшением исходного (предыдущего) на единицу (без уже отсортированного первого элемента);
-
повторять предыдущие пункты до тех пор, пока количество элементов в текущем массиве не станет меньше двух.
Графическая интерпретация метода представлена на рис. 9.11.
-
И
сходный (рассматриваемый) массив X(n)
x1
x2
x3
.
.
.
xj
.
.
.
xmax1
xn-1
xn
-
Формируемый массив X(n)
Т
екущий массив Х(n-1)
xmax1
x2
x3
.
.
.
xj
.
.
.
xmax2
xn-1
xn
-
Формируемый массив X(n)
Т
екущий массив Х(n-2)
xmax1
xmax2
x3
.
.
.
xmax
.
.
.
xn-1
xn
-
Формируемый массив X(n)
Т
екущий
м
ассив
xmax1
xmax2
xmax3
.
.
.
xmaxi
.
.
.
xmax n-1
xmax n
Рис. 9.11. Схема основного метода ранжирования
Частный случай – сортировка методом «всплывающего пузырька».
Методика – последовательное сравнение двух смежных элементов массива, начиная с последних (n и n-1). Если n-й элемент больше (при поиске максимума) или меньше (при поиске минимума) предыдущего – они меняются местами. Результат – больший (меньший) «всплыл» на элемент вверх.
Затем значение n уменьшается на единицу. Конечным становится n-1 элемент и сравнение двух последних (n-1 и n-2) повторяется по предыдущим правилам.
Указанные компоненты методики повторяются до полного «всплытия» максимального (минимального) значения в первый элемент массива. После чего исходный массив уменьшается на единицу, лишаясь первого (отсортированного) элемента. И весь процесс повторяется n-1 раз.
В конечном счете, осуществляется ранжирование по убыванию (возрастанию) всех элементов рассматриваемого массива.
Графическая интерпретация представлена на рис. 9.12.
М с а с о с и н в й
|
xmax1 |
е к у щ и й
|
xmax1 |
ф о р м и р
у е м
й |
xmax1 |
c о з д а н н ы й |
x |
xmax2 |
xmax2 |
||||
х3 |
х3 |
xmax3 |
||||
|
|
xmax4 |
||||
… |
… |
… |
||||
xi |
xi |
xmax i |
||||
… |
… |
… |
||||
x |
xmax2 |
… |
||||
|
|
xmax n-3 |
||||
|
|
xmax n-2 |
||||
x |
xn-1 |
x |
||||
xn |
xn |
xn |
Рис. 9.12. Схема метода «всплывающего пузырька»
Предмашинная подготовка вычислительных процессов выполнения сортировок типовых совокупностей данных представлена ниже.