Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 Основы программирования и представления инфор...doc
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
1.36 Mб
Скачать

4Массивы

Массивы были первым составным типом данных, кото­рый появился в языках высокого уровня, и использовался в вычислительных задачах при работе с векторами и мат­рицами. В литературе массивы иногда называют регуляр­ным типом данных.

Массив (регулярный тип данных) — класс объектов, которые состоят из элементов одного и того же типа.

В VBA реализовано два типа массива — статические массивы и динамические массивы. Во многих языках про­граммирования термин массив используется для статиче­ских массивов, т. к. динамические в них не реализованы

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

%

Integer

&

Long

!

Single

#

Double

@

Currency

$

String

Как и в других языках программирования, в VBA вы можете использовать массивы. Примеры объявления массивов приведены ниже

Dim B(3, 3) As Single

Dim А(12) As Integer

Первая строка объявляет двумерный массив 3x3 (матрицу), состоящий из действительных чисел. Вторая строка объявляет одномерный массив (вектор) из 12 целых чисел, причем по умолчанию первый элемент массива будет А(0), а последний A(11). В этом случае говорят, что 0 — базовый ин­декс. Можно изменить базовый индекс, написав в начале листа модуля ин­струкцию Option Base l. После этого индексы массивов Aбудут начи­наться с единицы. Другим способом изменения базового индекса является использование ключевого слова To при объявлении массива:

Dim B(1 To 3, 1 To 3) As Single

Dim A(1 To 12) As Integer

Массив в программе определяется поэлементно. Например,

Dim B(1 To 2, 1 To 2) As Single

B(1,1)=2

B(1,2)=4

B(2,1)=1

B(1,2)=6

Удобным способом определения одномерных массивов является функция Ar­ray, преобразующая список элементов, разделенных запятыми, в вектор из этих значений, и присваивающая их переменной типа Variant. Например,

Dim A As Variant

А = Array(10, 20, 30)

В = A(2)

Статический массив — массив, состоящий из фикси­рованного числа элементов.

Синтаксис:

Dim | Private | Public | Static nameArray ([i1, To] j1[, [i2, To] j2]...) [As nameType]

где, nameArray — имя массива;

nameType — имя типа эле­ментов массива;

iK — нижняя граница к-го индекса масси­ва;

jK — верхняя граница к-го индекса;

Dim|Private|Pub-lic|Static, To, As — ключевые слова.

Динамический массив — массив, у которого количест­во элементов и их тип может меняться в процессе работы программы.

Синтаксис:

Dim | Private | Public nameArray 0 [As nameType]

где, nameArray — имя массива; nameType — имя типа эле­ментов массива; Dim|Private|Public, As — ключевые слова.

Иногда в процессе выполнения программы требуется изменять размер масси­ва. В этом случае первоначально массив объявляют как динамический. Для этого при объявлении массива не надо указывать размерность, например:

Dim R() As Single

В программе следует вычислить необходимый размер массива и связать его с некоторой переменной, например n, затем изменить размер динамиче­ского массива с помощью оператора ReDim.

Синтаксис:

ReDim [Preserve] ИмяПеременной(Индексы) [As Тип] _

[, ИмяПеременной (Индексы) [As Тип]] ...