- •Программирование на
- •1. Создание программы
- •Сервис → Макрос → Макрос
- •Сервис → Макрос → Макрос
- •Алфавит языка
- •5. Представление вещественного числа
- •7. Переменные в vba
- •8. Константы в vba
- •9. Операции и функции языка vba
- •10. Структура программы
- •11. Правила записи операторов
- •14. Ввод и вывод данных с использованием рабочего листа ms Excel
- •15. Понятие алгоритма
- •16. Изображение алгоритма в виде блок-схемы
- •17. Ввод и вывод данных с использованием встроенных функций vba
- •18. Условный оператор
- •20. Операторы циклической структуры
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •21. Решение задач с использованием циклов
- •22. Обработка массивов
- •23. Ввод-вывод элементов массива
- •24. Основные алгоритмы обработки массивов Сумма элементов массива.
- •Элемента и его номера
- •Удаление элемента из массива
- •Упорядочение элементов массива
22. Обработка массивов
Массив – структурированный тип данных, состоящий из фиксированного числа элементов.
Переменную, представляющую собой просто список данных, называют одномерным массивом или вектором.
Для доступа к данным, хранящимся в одномерном массиве, указывают имя массива и порядковый номер (индекс) элемента.
Объявление одномерного массива в VBA имеет следующий синтаксис:
Dim имя (размерность) AS Тип
имя - любое имя для массива, удовлетворяющее правилам VBA для имен переменных.
Размерность массива записывают так:
(нач.знач. To кон.знач)
или
(кон. значене)
нач.знач. и кон.знач - границы допустимых индексов массива.
нач.знач. - определяет нижний предел допустимых индексов.
кон.знач. - верхний предел.
Параметр кон.знач. является обязательным, часть нач.знач. To может отсутствовать. В этом случае элементы массива нумеруются с нуля.
Определение нач.знач. делает программный код более понятным, а также позволяет выявлять ошибки программирования. Кроме того, это дает возможность определения иного начального индекса, отличного от 0.
Размерность массива и тип его элементов определяют объем памяти, который необходим для хранения массива. Следовательно, размерность должна быть определена целыми положительными константными выражениями.
Тип - любой допустимый тип VBA. Если Тип не указан, то все элементы массива имеют тип Variant.
Dim A (1 To 10) As Integer
Dim B (0 To 9) As Single
Dim C (9)
Const N=20
Dim M(1 to N)
Для доступа к элементу массива необходимо указать имя массива, а затем в круглых скобках, значение индекса. Синтаксис обращения к элементу массива имеет следующий вид:
Имя (Индекс)
A(1), В(0), C(8)
Индексом массива может быть любая целочисленная переменная или выражение, имеющее результатом целое число в диапазоне объявленных измерений массива.
Например,
Dim K As Integer
K=2
C(K)=A(K+1)+B(2*K)
Все манипуляции с массивами в осуществляются поэлементно.
Организовывается цикл, в котором происходит последовательное обращение к 1-му, 2-му и т.д. элементам.
Алгоритм обработки массива в общем виде:
При работе с массивами удобно хранить данные в ячейках рабочих листов Excel, а ввод и вывод элементов массива осуществлять при помощи свойства Cells.
23. Ввод-вывод элементов массива
Алгоритм ввода массива:
Фрагмент программы.
Sub inp() Dim i As Integer Dim n As Integer Dim X(1 To 10) As Single n = InputBox("n=", ,10) For i = 1 To n X(i) = Cells(i, 1) Next End Sub
|
Алгоритм вывода массива
Фрагмент программы.
For i = 1 To n Cells(i, 2) = X(i) Next
|
24. Основные алгоритмы обработки массивов Сумма элементов массива.
Фрагмент программы: |
S = 0 For i = 1 To n S = S + X(i) Next MsgBox "S=" & S |
Произведение элементов массива.
|
|
Фрагмент программы: |
|
P = 1 For i = 1 To n P = P * X(i) Next MsgBox "P=" & P |
|
Поиск максимального