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

4.4. Функция Array.

Функция Array в качестве своих аргументов имеет упорядоченный список значений элементов массива. Ее синтаксис:

<имя массива> = Array(<упорядоченный список значений элементов>)

Например:

Dim dn As Variant

dn = Array(“воскр.”, “понед.”, “втор.” , “среда”, “четв.”, “пятн.”, “cуб.”)

Так как по умолчанию индексы элементов массива начинаются с нуля, то в разделе General окна формы нужно установит опцию Option Base 1. Иначе перебор элементов может не соответствовать ожидаемому порядку. Кроме того, в объявлении переменной для такого массива нужно указывать тип Variant либо вообще не указывать его в расчете на то, что среда принудительно назначит ему этот тип по умолчанию. Обратите также внимание на то, что перечисление дней недели здесь соответствует порядку, принятому на Западе, где первым днем недели считается воскресенье. Если этого не придерживаться, то можно ошибиться при использовании функций работы с датами, приведенными в разделе 3.5.5.

4.5. Генератор случайных чисел.

Вводить с клавиатуры значения элементов массива, особенно двумерного (а тем более - трёхмерного), довольно длительная процедура. В режиме отладки такой ввод приходится повторять многократно. Чтобы ускорить отладку, ввод с клавиатуры можно заменить программным заполнением массива с помощью генератора случайных чисел (функция Rnd). При однократном обращении к функции Rnd она возвращает случайное число в диапазоне от 0 до 1. При многократном обращении к ней в цикле, она возвращает последовательность случайных чисел с равномерным распределением на отрезке [0,1]. При повторном запуске программы эта функция выработает ту же самую последовательность случайных чисел. Чтобы каждый раз эта последовательность была другой нужно предварительно вне цикла, в котором вызывается Rnd, выполнить оператор Randomize, который обеспечивает случайный выбор вырабатываемой Rnd последовательности случайных чисел.

Пример 1. С помощью генератора случайных чисел ввести элементы одномерного массива. Полученный массив вывести в текстовое окно.

Private Sub Command1 Click()

Dim i%, st$, n%, a%()

n = InputBox (“Введите размерность массива”)

ReDim a(1 To n)

Randomize

For i = 1 To n

a(i) = Int(Rnd*100)-50

st = st & a(i) & “ “

Next i

Text1.Text = st

End Sub

В результате массив a будет заполнен случайными целыми числами в диапазоне от -50 до 50. Благодаря Randomize, при повторных запусках программы последовательность каждый раз будет иной.

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

Пример 2. В целочисленной матрице размерности M x N определить количество элементов, кратных 5.

Private Sub Command1_Click()

Dim n%, m%, i%, j%, k%, a%(), b As Variant

Задаем случайное число строк и столбцов матрицы и вводим ее

элементы:

Randomize

m = Int(Rnd*3) + 4: n = Int(Rnd*4) + 6

For i = 1 To m

For j = 1 To n

a(i, j) = Int(Rnd*100)

Next j, i

Решаем нашу задачу:

k = 0

For Each b In a

If b mod 5 = 0 Then k = k + 1

Next b

Text1.Text=”Количество чисел кратных 5 = ” & k

End Sub

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