Использование двумерных массивов в VBA на уроках информатики | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 23 ноября, печатный экземпляр отправим 27 ноября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №6 (192) февраль 2018 г.

Дата публикации: 10.02.2018

Статья просмотрена: 4931 раз

Библиографическое описание:

Алексеев, Н. Л. Использование двумерных массивов в VBA на уроках информатики / Н. Л. Алексеев. — Текст : непосредственный // Молодой ученый. — 2018. — № 6 (192). — С. 15-20. — URL: https://moluch.ru/archive/192/48265/ (дата обращения: 15.11.2024).



VBA — универсальный язык программирования. С помощью его можно создавать полноценные приложения на Visual Basic, поскольку эти языки — близкие родственники. Создавать программы на нем можно очень быстро и легко, не нужно заботиться об установке и настройке среды программирования и наличии нужных библиотек на компьютере пользователя — MS Office есть практически на любом компьютере. Рассмотрим пример создания программы с использованием двумерных массивов.

Удобство среды VBA заключается в том, что она внедрена в пакет прикладных программ Microsoft Office и, соответственно, является доступной практически на любом ПК, не требует установки дополнительного программного обеспечения.

Немногие учителя используют в своей работе возможности так называемого офисного программирования. С помощью языка VBA можно создавать различные проекты, которые пригодны к использованию, в том числе на уроках информатики.

Массив — набор однотипных переменных, объединенных одним именем и доступных через это имя и порядковый номер переменной в наборе. Организуем в электронных таблицах Excel двумерный массив А, состоящий из 20 х 10 = 200 элементов. Для этого в Excel создадим поле, в котором определим элементы массива целыми случайными числами от 1 до 100.

Рис. 1. Поле двумерного массива в Excel

Перейдём во вкладку Разработчик → Visual Basic. Затем вкладка Insert → Module. Откроется окно для создания программного кода.

Рис. 2. Окно для создания программного кода

Sub Двумерный_Массив()

Dim A(20, 10) As Integer

For i = 1 To 20 'Число строк в массиве

For j = 1 To 10 'Число столбцов в массиве

A(i, j) = Int(Rnd * 100 + 1) 'Задание массива целыми числами от 1 до 100

Cells(i, j) = A(i, j)

Next j

Next i

При выполнении программы на активном листе Excel образуется следующее поле:

Рис. 3. Заполнение двумерного массива в Excel

Определим переменные для нахождения максимального, минимального, среднего значения в таблице, кроме того, вычислим сумму и размах таблицы. Все перечисленные переменные целые, кроме действительного среднего значения. Присвоим им соответствующие типы данных: Dim Max, Min, Сумма, Размах As Integer, Среднее As Single.

Используя принцип математической индукции, найдём наибольшее и наименьшее значения таблицы: If A(i, j) >Max Then Max = A(i, j)

If A(i, j) < Min Then Min = A(i, j)

Для вычисления суммы: Сумма = Сумма + A(i, j), среднего значения: Среднее = Сумма / 200, размаха таблицы: Размах = Max — Min. Результат программы будет следующий:

Sub Двумерный_Массив()

Dim A(20, 10) As Integer

Dim Max, Min, Сумма, Размах As Integer, Среднее As Single

Max = 0 'Начальное значение Максимального элемента в массиве

Min = 100 'Начальное значение Минимального элемента в массиве

Сумма = 0

For i = 1 To 20 'Число строк в массиве

For j = 1 To 10 'Число столбцов в массиве

A(i, j) = Int(Rnd * 100 + 1) 'Задание массива целыми числами от 1 до 100

Cells(i, j) = A(i, j)

If A(i, j) >= Max Then Max = A(i, j) 'Вычисление Максимального элемента в массиве

If A(i, j) <= Min Then Min = A(i, j) 'Вычисление Минимального элемента в массиве

Сумма = Сумма + A(i, j) 'Вычисление Суммы

Next j

Next i

Среднее = Сумма / 200 'Вычисление Среднего значения

Размах = Max — Min

Range(«A22").Value = «Max ="

Range(«A23").Value = «Min ="

Range(«A24").Value = «Сумма ="

Range(«A25").Value = «Среднее ="

Range(«A26").Value = «Размах ="

Range(«B22").Value = Max

Range(«B23").Value = Min

Range(«B24").Value = Сумма

Range(«B25").Value = Среднее

Range(«B26").Value = Размах

End Sub

Для создания копии таблицы, сдвинем её на 11 позиций вправо.

'Создание копии таблицы

For i = 1 To 20

For j = 1 To 10

Cells(i, j + 11) = A(i, j)

Next j

Next i

Наглядно видно, что перед нами копия таблицы.

Рис. 4. Копия таблицы

С этой таблицей мы может выполнять какие-либо действия, например: Заменим все числа кратные 2 на 2, кратные 3 на 3, кратные 5 на 5, остальные на «*». Произведём подсчёт таких чисел. Для этого добавим строки:

'Обработка таблицы

Dim Кратные2, Кратные3, Кратные5, Звезд As Integer

Кратные2 = 0

Кратные3 = 0

Кратные5 = 0

Звезд = 0

For i = 1 To 20

For j = 1 To 10

If A(i, j) \ 2 = A(i, j) / 2 Then Cells(i, j + 22) = 2

If A(i, j) \ 3 = A(i, j) / 3 Then Cells(i, j + 22) = 3

If A(i, j) \ 5 = A(i, j) / 5 Then Cells(i, j + 22) = 5

If A(i, j) \ 2 <> A(i, j) / 2 And A(i, j) \ 3 <> A(i, j) / 3 And A(i, j) \ 5 <> A(i, j) / 25 Then Cells(i, j + 22) = "*"

If A(i, j) \ 2 = A(i, j) / 2 Then Кратные2 = Кратные2 + 1 'Подсчёт количества чисел кратных 2

If A(i, j) \ 3 = A(i, j) / 3 Then Кратные3 = Кратные3 + 1 'Подсчёт количества чисел кратных 3

If A(i, j) \ 5 = A(i, j) / 5 Then Кратные5 = Кратные5 + 1 'Подсчёт количества чисел кратных 5

If Cells(i, j + 22) = "*" Then Звезд = Звезд + 1 'Подсчёт количества "*"

Next j

Next i

Range(«D22").Value = «Таблица»

Range(«O22").Value = «Копия Таблицы»

Range(«Z22").Value = «Обработанная таблица»

Range(«W22").Value = «Кратные 2" 'Вывод результатов

Range(«W23").Value = «Кратные 3"

Range(«W24").Value = «Кратные 5"

Range(«W25").Value = «Кол-во *"

Range(«X22").Value = Кратные2

Range(«X23").Value = Кратные3

Range(«X24").Value = Кратные5

Range(«X25").Value = Звезд

Рис. 5. Обработанная таблица

Используя офисное программирование можно сформировать у студентов комплекс знаний, умений и навыков, необходимых для решения профессиональных задач в области автоматизации работы с офисным пакетом Microsoft Office.

Литература:

  1. И. Г. Фризен. Офисное программирование: Учебное пособие / М. Издательско-торговая корпорация «Дашков и К», 2013 г.
  2. Языки управления приложениями: Учебно-методическое пособие. — М.: Издательский отдел факультета ВМиК МГУ имени М. В. Ломоносова № 05899; 2015 г.
  3. https://studfiles.net/preview/2897110/
  4. https://www.intuit.ru/studies/courses/23/23/info
Основные термины (генерируются автоматически): VBA, массив, двумерный массив, Задание массива, Максимальный элемент, Начальное значение, программный код, размах таблицы, Число столбцов, Число строк.


Задать вопрос