Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР №2 Э11-21.doc
Скачиваний:
0
Добавлен:
03.08.2019
Размер:
218.62 Кб
Скачать

Типы и объявление массивов

Массив является набором переменных одного типа, объединенных одним именем. Различают массивы одномерные, двумерные, трехмерные и т.д., а также различных типов: числовые, строковые и т.д. Объявление массива производится аналогично объявлению переменных, необходимо только дополнительно указать диапазон изменения индексов.

Пример объявления одномерного массива чисел целого типа:

Dim X(1 To 100) As Integer

Здесь 1 - нижняя граница индекса, 100 - верхняя граница индекса.

Пример объявления двумерного массива чисел целого типа:

Dim t (1 To 3, 1 To 4) As Integer

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

Dim a(20 To 60) As Integer

Здесь под числа отводится 41 ячейка. Еще пример:

Dim b(0 To 9, -20 To 30) As Integer

Здесь под числа отводится 10∙51 = 510 ячеек.

Если нижняя граница индекса массива равна нулю, то можно вместо

Dim f(0 To 9) As Integer

писать

Dim f(9) As Integer

— в Visual Basic нижней границей индекса всех массивов по умолчанию считается число 0.

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

Dim Y() As Integer

Затем в массив необходимо добавить элементы, в которых будут храниться значения. Для этого используется оператор ReDim, который может встречаться только в процедурах (подпрограммах и функциях):

ReDim Y(5)

Созданным элементам следует присвоить значения. Позднее количество элементов массива снова можно изменить:

ReDim Y(7)

Заметим, что после выполнения этого оператора все значения, хранящиеся в массиве, теряются. Чтобы сохранить их, следует пользоваться ключевым словом Preserve:

ReDim Preserve Y(7)

Заполнение массива с клавиатуры

Для начала работы с массивом его необходимо предварительно заполнить, т.е. присвоить входящим в него элементам определенные значения. Заполнение массива можно производить различными способами.

Первый способ состоит в том, что значения элементов массива вводятся пользователем с клавиатуры, например с помощью функции InputBox. Тогда для заполнения числового массива dblA(bytI) десятичными числами двойной точности можно использовать следующую событийную процедуру, предварительно расположив на форме соответствующий элемент управления, например кнопку Command1:

Dim dblA(1 To 30) As Double, bytI As Byte

Sub Command1_Click()

For bytI = 1 To 30

dblA(bytI) = InputBox (“Введите число”, _

“Заполнение массива”)

Next bytI

End Sub

Здесь надо дать определения событийного программирования.

Заполнение массива с помощью оператора присваивания

Второй способ заполнения массива состоит в использовании оператора присваивания. Числовой массив заполняется случайными числами, например целыми числами в интервале от 1 до 100.

Для генерации псевдослучайной последовательности из интервала 0 ≤ < 1 с равномерным распределением используется функция Rnd (без аргументов). В этом случае последовательность каждый раз повторяется. Для того чтобы генерировались различающиеся между собой последовательности, можно использовать оператор Randomize.

Чтобы получить последовательность случайных чисел в заданном интервале ≤ B, необходимо использовать следующее выражение:

(B-A)* Rnd + A

Для генерации целочисленной последовательности случайных чисел из интервала 0 ≤ < 100 можно использовать функцию выделения целой части числа:

Int(Rnd * 100)

Тогда событийная процедура заполнения массива может иметь вид:

Dim bytA(1 To 100), bytI As Byte

Sub Command1_Click()

For bytI = 1 To 100

bytA(bytI) = Int(Rnd * 100)

Next bytI

End Sub