Добавил:
Negorov1337@gmail.com inst:vech.no_17 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб 7 массивы / Лабораторный_практикум_по_программированию_пр.7.doc
Скачиваний:
5
Добавлен:
11.10.2020
Размер:
1.71 Mб
Скачать

Новые значения свойств элементов управления формы

Элемент

управления

Свойство

Значение

по умолчанию

Новое значение

Label (метка)

Name (имя)

Label1

Lbl1

Caption (надпись)

Label1

Массив А

Label (метка)

Name (имя)

Label2

Lbl2

Caption (надпись)

Label2

Массив В

Label (метка)

Name (имя)

Label3

Lbl3

Caption (надпись)

Label3

Массив С

Label (метка)

Name (имя)

Label4

Lbl4

Caption (надпись)

Label4

Индекс Элемент

Label (метка)

Name (имя)

Label5

Lbl5

Caption (надпись)

Label5

Индекс Элемент

Label (метка)

Name (имя)

Label6

Lbl6

Caption (надпись)

Label6

Индекс Элемент

ListBox (список)

Name (имя)

ListBox1

LbxMassivA

ListBox (список)

Name (имя)

ListBox2

LbxMassivB

ListBox(срисок)

Name (имя)

ListBox3

LbxMassivC

CommandButton

(командная кнопка)

Name (имя)

CommandButton1

CmdMassivA

Caption (надпись)

CommandButton1

Вывод (визуализация) массива А

CommandButton

(командная кнопка)

Name (имя)

CommandButton2

CmdMassivB

Caption (надпись)

CommandButton2

Вывод (визуализация) массива B

CommandButton

(командная кнопка)

Name (имя)

CommandButton3

CmdSumma

Caption (надпись)

CommandButton3

Обработка (суммирование) массивов

CommandButton

(командная кнопка)

Name (имя)

CommandButton4

CmdMassivC

Caption (надпись)

CommandButton4

Вывод массива результатов С

Рис. 4. Форма и её элементы управления

после переименования и изменения свойств

Таким образом, в программном коде следует записать четыре процедуры обработки события Click (кликанье левой кнопки мыши) для четырех командных кнопок.

Объявим переменные, используемые во всех процедурах.

Option Base 1 ‘нижняя граница индекса равна 1

Dim n As Integer ‘количество элементов массива

Dim i As Integer ‘индекс элемента

Dim a As Variant ‘объявление массива А

Dim b As Variant ‘объявление массива B

Dim c(6) As Variant ‘объявление массива C

Dim stri As String * 3 ‘строковая переменная для индекса

Dim stra As String ‘строковая переменная для элемента массива А

Dim strb As String ‘строковая переменная для элемента массива B

Dim strc As String ‘строковая переменная для элемента массива C

Сгенерируем процедуру обработки события Click (кликанье левой кнопки мыши) для командной кнопки CmdMassivA с надписью «Вывод (визуализация) массива А». Для этого достаточно быстро кликнуть на этой кнопке два раза левой кнопкой мыши. В результате будет создана нужная нам процедура, в которую надо ввести следующий код.

Private Sub CmdMassivA_Click()

a = Array(1.1, 2, 5, -7, 6, 3)

n = UBound(a)

For i = 1 To n

stri = Str(i)

stra = Str(a(i))

LbxMassivA.AddItem stri & " | " & stra

Next i

End Sub

Пояснение. Данная процедура предназначена для ввода одномерного массива А и вывода его на экран.

Для ввода массива А использована функция Array. В результате выполнения операторов

Dim A As Variant

a = Array(1.1, 2, 5, -7, 6, 3)

элементы массива А примут значения: А(1)=1.1, А(2)=2, А(3)=5, А(4)=-7, А(5)=6, А(6)=3.

С помощью функции UBound(a) можно выяснить, сколько элементов может вместить некоторое измерение массива.

Синтаксис:

UBound(Имя_Массива[,измерение])

Измерение задает целое число, которое указывает, какое измерение вас интересует. Если измерение не указано, функция UBound(a) возвратит размер первого измерения массива.

В нашем случае функция UBound(a) возвращает количество элементов одномерного массива А.

Ввод массивов А и B организован с помощью структуры «цикл с параметром». Причем оба массива вводятся в одном цикле. Структура «цикл с параметром» реализована на алгоритмическом языке оператором цикла For/Next. Параметром цикла является индекс I одномерных массивов А и В.

Для визуализации массивов А, В и С использовали три элемента управления (объекта) ListBox (Список).

Для добавления в список нового элемента массива используем метод AddItem, который является наиболее часто используемым методом элемента управления элемента ListBox (Список). Обратиться к методу объекта можно точно так же, как и к свойству объекта, с использованием точечной нотации.

Метод AddItem в качестве аргумента имеет строковую переменную. Отметим использование функции Str(), которая позволяет переводить преобразование десятичного числа в десятичное число в строковой форме. Аргументом функции является десятичное число, а значением – строка. Всегда форматирует строку в соответствии со стандартом английского языка США с точкой в качестве десятичного разделителя.

Для слияния строк использована операция & (конкатенация). Допустимо использовать также «+».

Private Sub CmdMassivB_Click()

b = Array(9, -5.9, 2, 3, -6, 4)

n = UBound(b)

For i = 1 To n

stri = Str(i)

strb = Str(b(i))

LbxMassivB.AddItem stri & " | " & strb

Next i

End Sub

Пояснение. Данная процедура предназначена для ввода одномерного массива В и вывода его на экран.

Сгенерируем процедуру обработки события Click (кликанье левой кнопки мыши) для третьей командной кнопки CmdSumma с надписью «Обработка (суммирование) массивов» и впишем в нее программный код.

Private Sub CmdSumma_Click()

For i = 1 To n

c(i) = a(i) + b(i)

Next i

End Sub

Пояснение. Данная поцедура предназначена для суммирования двух одномерных массивов А и В.

При «кликанье» левой кнопки мыши на третьей командной кнопке CmdSumma с надписью «Обработка (суммирование) массивов» результатов работы этой процедуры мы не увидим, так как массив результатов С пока хранится в оперативной памяти.

Чтобы их увидеть, создадим процедуру обработки события Click для четвертой командной кнопки CmdMassivC с надписью «Вывод массива результатов С» и впишем в нее программный код.

Private Sub CmdMassivC_Click()

n = UBound(c)

For i = 1 To n

stri = Str(i)

strc = Str(c(i))

LbxMassivc.AddItem stri & " | " & strc

Next i

End Sub

Пояснение. Данная процедура предназначена для вывода одномерного массива С, который получился в результате суммирования двух одномерных массивов А и В.

Программный код полностью представлен в окне программы VBA на рисунке 5.

Рис. 5. Программный код в окне программы VBA

Запустите ваше приложение, выбрав команду Run Run Sub/UserForm или нажав функциональную клавишу F5. Появится экранная форма (рис. 6).

Рис. 6. Экранная форма после запуска приложения

Щелкайте последовательно по каждой из четырех командных кнопок.

Результаты выполнения программного кода при значениях одномерного массива А = (1.1, 2, 5, -7, 6, 3) и массива В = (9, -5.9, 2, 3, -6, 4) представлены на рисунке 7.

Рис. 7. Результаты решения задачи суммирования

двух одномерных массивов при значениях одномерного массива

А = (1.1, 2, 5, -7, 6, 3) и массива В = (9, -5.9, 2, 3, -6, 4)

Проанализируйте результаты выполнения программы.

Соседние файлы в папке лаб 7 массивы