Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования в VBA-заставки.doc
Скачиваний:
4
Добавлен:
04.11.2018
Размер:
3.64 Mб
Скачать

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

Поиск максимального