Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB. Часть2.doc
Скачиваний:
23
Добавлен:
02.02.2015
Размер:
870.4 Кб
Скачать

7.2. Описание и обращение к массивам

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

Каждый элемент массива имеет свой номер (индекс). Причем таких номеров может быть несколько. Количество различных индексов определяет размерность массива. Бывают массивы одномерные (векторы), двухмерные (матрицы), трехмерные и т.д. Каждый индекс может принимать различные значения из определенного диапазона. Минимальное и максимальное значения диапазона изменения индекса называется граничной парой Nmin и Nmax. Например, для одномерного массива цен, представленных столбцем (табл. 7.1), индекс может изменяться в пределах от Nmin = 1 до Nmax = 3.

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

К= Nmax – Nmin + 1

Если массив многомерный, то количество элементов в нем определяется произведением количества значений Кі по каждому индексу. Здесь i = 1, 2, …, m, где m – размерность массива.

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

Описание одномерного массива осуществляется оператором Dim следующими способами:

1) Dim Имя_переменной(Nmax) [<Аs Тип_элементов>]

2) Dim Имя_переменной(Nmin Nmax) [<Аs Тип_элементов>]

В первом случае предполагается, что Nmin=0. Если требуется, чтобы нижняя граница диапазона изменения индекса у всех массивов, описанных первым способом, была не 0, а 1, то перед первой процедурой кода нужно поместить оператор

Option Base 1

В этом случае верхняя граница будет определять количество элементов в массиве.

Например, массив цен из табл. 7.1 может быть описан следующими способами:

1) Dim curЦена(2) As Currency

2) Option Base 1

Dim curЦена(3) As Currency

3) Dim curЦена(1 То 3) As Currency

Если массив многомерный, то в круглых скобках через запятую указываются диапазоны изменения каждого индекса. Например, если нужно представить цены трех товаров за каждый месяц второго полугодия (месяцы с 7 по 12 включительно), то описать такой массив можно следующими операторами:

Option Base 1

Dim curЦена2ПолГод(3, 7 то 12) As Currency

Доступ к элементу массива осуществляется с помощью имени массива и индекса. В качестве индекса может использоваться выражение.

Например, среднюю цену каждого товара за второе полугодие можно вычислить следующим образом:

For intТовар = 1 То 3

curS = 0

For intМесяц = 7 То 12

curS = сurS + curЦена2ПолГод(intТовар, intМесяц)

Next intМесяц

curЦена(intТовар) = S / 6

Next intТовар

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