- •Часть 3 Работа с массивами
- •Основные операции над одномерными массивами Лабораторная работа № 1
- •Общие сведения об одномерных массивах
- •Решение
- •Решение
- •Упражнения для самостоятельной работы к лабораторной работе № 1
- •Лабораторная работа № 2
- •Общие сведения о динамических массивах
- •Решение
- •Лабораторная работа № 3
- •Общие сведения о сортировке массивав
- •Решение
- •Решение
- •Упражнения для самостоятельной работы к лабораторным работам № 2, 3
- •Лабораторная работа № 4
- •Общие сведения о двумерных массивах
- •Решение
- •Упражнения для самостоятельной работы к лабораторной работе № 4
- •Литература Основная
- •Дополнительная
- •Встроенные диалоговые окна
Лабораторная работа № 3
Цель работы: Студенты должны освоить два метода упорядочения (сортировки) неупорядоченных массивов: метод пузырька и методы нахождения минимального элемента.
Общие сведения о сортировке массивав
Сортировка массива методом пузырька – медленная, но если скорость не главное, можно применить и его. Алгоритм очень прост – если два соседних элемента расположены не по порядку, то меняем их местами. Так повторяем до тех пор, пока в очередном проходе не сделаем ни одного обмена, т.е. массив будет упорядоченным.
Сортировка массива методом нахождения минимального элемента – этот вариант сортировки более быстрый, чем метод пузырька. Заключается он в следующем: при каждом просмотре массива находим минимальный элемент и меняем местами его с первым на первом проходе, со вторым - на втором и т.д.
Задача 3. (Сортировка массива методом пузырька) Упорядочить массив М(13) методом пузырька по убыванию. Вывести результат.
Решение
Этап 1. Математическая часть
Алгоритм записан на естественном языке
|
|
Этап 2. Ввод данных в таблицу Excel
В ячейки А1:A13 вводятся элементы массива М(i).
Этап 3. Определение переменных
Константа n = 13 размер массива M(13)
Вводится: массив М(i) (Single).
Выводятся (результат): массив М(13) (Упорядоченный массив, (Single)).
Промежуточные переменные: i – счетчик цикла с параметром (Integer), ii – счетчик, вспомогательная переменная для сортировки (Integer), Temp – вспомогательная переменная для перестановки элементов при сортировке, Flag – переменная, принимающая значение True или False для определения, были ли в массиве сделаны перестановки; если перестановка элементов была, – значение Truе; если перестановок не было, то значение переменной будет (Boolean).
Этап 4. Написание процедуры
На рабочем листе Лист1 при помощи Элементов управления создать элемент Кнопка (СommandBatton1).
Переименовать Кнопку в режиме конструктора. Вызвать контекстное меню ПКМ Свойства закладку Alhpabetic Caption в Поле ввода ввести новое название кнопки Метод Пузырька.
Написать Процедуру-Событие для Кнопки «Метод Пузырька»:
Private Sub CommandBatton1_Click()
'Описание констант
Const n As Integer = 13
'Описание переменных
Dim M(1 To n) As Single
Dim Temp As Single
Dim i As Integer
Dim ii As Integer
Dim Flag As Boolean
'Ввод массива из столбца А
For i = 1 To n
M(i) = Cells(i, 1).Value
Next i
'Сортировка массива методом пузырька
Do
Flag = False
For i = 1 To n - 1
ii = i + 1
If M(i) < M(ii) Then
Temp = M(i)
M(i) = M(ii)
M(ii) = Temp
Flag = True
Else: GoTo 1
End If
1: Next i
Loop Until Flag = False
'Вывод массива в столбец C
Range("C1:C30").Clear
For i = 1 To n
Cells(i, 3).Value = M(i)
Next i
End Sub
|
|
Этап 5. Выполнение.
Перейти на рабочий лист (ViewMicrosoft Excel или Alt+F11). Выйти из режима Конструктора. В ячейках А1:А12 вводится массив x(). Нажать Кнопку «Метод Пузырька». В диапазоне C1:C13 появится результат сортировки методом пузырька по убыванию (рис.5).
Этап 6. Переименование листа. Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название листа и с клавиатуры набрать новое М_Пузырьков, нажать Enter.
Задача 4. (Сортировка массива методом нахождения минимального элемента) Упорядочить массив М(10) методом нахождения минимального элемента по убывания. Вывести результат.
