Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
работа с массивами.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

Лабораторная работа № 3

Цель работы: Студенты должны освоить два метода упорядочения (сортировки) неупорядоченных массивов: метод пузырька и методы нахождения минимального элемента.

Общие сведения о сортировке массивав

Сортировка массива методом пузырька – медленная, но если скорость не главное, можно применить и его. Алгоритм очень прост – если два соседних элемента расположены не по порядку, то меняем их местами. Так повторяем до тех пор, пока в очередном проходе не сделаем ни одного обмена, т.е. массив будет упорядоченным.

Сортировка массива методом нахождения минимального элемента – этот вариант сортировки более быстрый, чем метод пузырька. Заключается он в следующем: при каждом просмотре массива находим минимальный элемент и меняем местами его с первым на первом проходе, со вторым - на втором и т.д.

Задача 3. (Сортировка массива методом пузырька) Упорядочить массив М(13) методом пузырька по убыванию. Вывести результат.

Решение

Этап 1. Математическая часть

Алгоритм записан на естественном языке

  1. Const n = 13

  2. i = 1

  3. Если i <= n, то шаг 4, иначе 7 шаг 7

  4. Ввести М(i)

  5. i = i + 1

  6. шаг 3

  7. Если Flag = False, то шаг 11, иначе шаг 14

  8. i = 1

  9. Если i <= n-1, то шаг 10, иначе шаг 14

  10. ii = i+ 1

  1. Если M(i) < M(ii), то Temp =M(i)) M(i) =M(ii) M(ii) = Temp Flag = True, иначе шаг 12

  2. i = i + 1

  3. шаг 9

  4. i = 1

  5. Если i <= n, то шаг 16, иначе 19 шаг 7

  6. Вывести М(i)

  7. i = i + 1

  8. шаг 15

  9. конец

Этап 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) методом нахождения минимального элемента по убывания. Вывести результат.