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

Глава 4. Массивы.

Для решения некоторых задач исходные или промежуточные данные должны храниться в оперативной памяти для их многократного просмотра или использования. Например, если вы вводите температуру воздуха t для каждого дня месяца, то каждое новое значение переменной t “затирает” его предыдущее значение, и после ввода всех значений определить, какая температура была, например, пять дней назад уже невозможно. Для решения таких задач используются структуры данных называемые массивами.

Массив - это упорядоченная по номерам поименованная совокупность данных одинакового типа. Массив характеризуется именем, размерностью, размером по каждому из имеющихся у него измерений и типом данных, предназначенных для хранения в его элементах. Каждый элемент массива характеризуется:

- именем, совпадающим с именем массива;

- индексом, определяющим его положение в массиве;

- значением.

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

Объявление массива:

Dim <имя массива>(<размерность>) [As <Имя типа>]

Здесь< размерность> это одно или более чисел, представляющих задаваемое максимально возможное значение индекса элемента массива, то есть верхнюю границу диапазона возможных значений индекса. Нижняя граница по умолчанию равна нулю. Так, например, в объявлении Dim B(10) As Integer задан массив 11 целых чисел. Если вы хотите, чтобы индексы начинались не с нуля, а с единицы, то в разделе General формы нужно разместить оператор “Option Base 1”. Тогда в любом объявленном вами массиве для данной формы индексы элементов будут начинаться с единицы. Другим способом изменения нижней границы индекса массива является ее явное объявление:

Dim M (<нижняя граница> To <верхняя граница>) [As <имя типа>]

Например: Dim В (5 To 10) As Byte. Здесь объявлен массив, состоящий из шести элементов, индексация которых начинается с 5. Значение параметра <верхняя граница> должно быть больше значения параметра <нижняя граница>. Верхняя граница не может принимать, значений, определяемых типом переменных Long. Если для указания типа используете суффикс, то его необходимо записывать после имени массива перед круглой скобкой: Dim В% (5 To 10).

Обратиться к отдельному элементу массива можно, указав его имя и за ним в круглых скобках значение его индекса. Так, например, если мы хотим передать переменной r значение пятого элемента массива В, то мы должны написать: r = B(9).

Рассмотренные массивы являются одномерными, их иногда называют векторами. С их помощью можно, например, задать одну строку таблицы. Если нужно задать всю таблицу, т.е. задать матрицу, то нужно использовать столько одномерных массивов, сколько строк имеет матрица. Это нерационально, так как придётся делать много объявлений одномерных массивов. Решает такую задачу двумерный массив.

4.2. Двумерные массивы.

Синтаксис объявления двумерного массива:

Dim M(<индекс строки>,<индекс столбца>) [As <имя типа>]

Например: Dim В(5,6).

К элементу 3-ей строки и 4-ого столбца можно обратиться так: r = B(3,4)

Массивы могут быть многомерными. В одном и том же операторе Dim можно смешивать разные способы задания нижней границы индексов:

Dim В(1 То 4, 20, 1 То к\2)

Здесь задан трёхмерный массив, у элементов которого первый индекс изменяется в пределах от 1 до 4, второй от 0 до 20, третий от 1 до значения выражения k\2.

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

Const n = 5

Dim A(10) As Byte, B(n) As String*5

Здесь мы объявили константу n, а затем верхнюю границу индексов для элементов массива В задаём равной значению этой константы.

Среда VB осуществляет контроль границ индексов массивов, поэтому если в процессе вычислений индекс у некоторого элемента выйдет за установленные при объявлении массива пределы, будет выдано сообщение: “Subscript out of Range”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]