Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика учебник.doc
Скачиваний:
89
Добавлен:
04.11.2018
Размер:
3.46 Mб
Скачать

10.7. Массивы

Массив это набор элементов одинакового типа, имеющих общее имя.

Массивы позволяют работать с целым набором однотипных данных как с е д и н ы м целым. В алгоязыке VBA каждый конкретный массив должен иметь своё собственное имя и сдержать один или более элементов.

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

10.7.1. Одномерные массивы

Пусть у нас есть набор чисел, представляющий собой список телефонных номеров:

5533467 2382219 5541235 2312278 2641710 2401199

Массив, представляющий собой простой список данных, называется одномерным массивом, а число в скобках, стоящее рядом с именем массива, называется индексом элемента данного массива.

Если присвоить этому массиву имя TelefNomer, то обращаться к его пятому элементу (2401199) надо так: TelefNomer (5).

Как же так? Ведь этот телефонный номер явно шестой по порядку!

Дело в том, что в языке VBA по умолчанию нумерация элементов в массиве начинается с нуля, однако с помощью оператора Option Base можно изменить начальный индекс элементов массива. Поэтому в нашем примере при стандартной нумерации элементов, записывая TelefNomer (5), мы обращаемся именно к пятому (считая от нулевого!) элементу от начала массива, т.е., к телефонному номеру 2401199. Если же перед именем массива поставить ещё и ключевое слово Int, то оно будет указывать уже на то, что в этом массиве хранятся только целые числа. Поэтому любое, хранящееся в массиве intTelefNomer значение также будет представлять собой целое число.

10.7.2. Многомерные массивы

Кроме одномерных массивов, которые подходят только для представления в программе простых списков с единственным индексом, в языке VBA можно создавать и многомерные массивы. Они могут иметь два и более индексов. В случае двух индексов сохраняемые в массиве данные можно представить в виде таблицы, состоящей из строк и столбцов.

Например, Dim Matrica (1 to 4, 1 to 6) — это матрица размером 4x6 элементов, состоящая из четырёх строк и шести столбцов. Количество размерностей массива в языке VBA не ограничено, т.е., разрешается создавать массивы как одно- или двухмерные, так и шестидесятимерные и т.д. Но чаще всего используются одномерные, двух- и трёхмерные массивы.

Иногда значение, хранимое в элементе массива, может случайно совпасть (или иметь сходство) с его индексом. Чтобы не запутаться, надо чётко понимать, что индекс в VBA – всего лишь средство обнаружения места, где находится соответствующее значение. Причём, это место определяется от начального адреса массива в оперативной памяти, где все его элементы размещаются последовательно.

В оперативной памяти каждому элементу отводится столько байтов, сколько определенно его типом. Все переменные могут ссылаться только на один адрес в памяти, в том числе и переменные массивов. Они ссылаются на адрес первого элемента.