Объявление массивов на языке Visual Bаsic

В общем случае объявление массива может быть записано следующим образом:

одномерного массива

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

двухмерного массива

Dim <имя массива>(количество строк, количество столбцов) As <тип>

По умолчанию, в языке Visual Basic первый элемент массива имеет нулевые индексы.

Если заранее известна размерность массива, то он может быть объявлен, например, так:

– одномерный массив:

Dim a(5) As Integer,

где а – имя массива, число 5 указывает конкретную размерность массива (в приведённом примере массив состоит из 6 элементов: a0, а1, а2, а3, а4, а5).

Integer – ключевое слово, определяющее тип данных рассматриваемого массива (целый).

– двухмерный массив:

Dim a(2,3) Аs Single,

где a – имя массива. Число 2 – количество строк массива (в рассматриваемом примере оно равно 3). Число 3 – количество столбцов массива (в рассматриваемом примере оно равно 4);

Single – ключевое слово, определяющее тип данных рассматриваемого массива (вещественный).

При таком объявлении элементы массива будут иметь следующие индексы:

.

Если размерность массива заранее неизвестна, то объявляется пустой массив (динамический), например: Dim a() Аs Integer.

Затем определяется конкретная размерность массива, например, путём ввода размерности массива с помощью функции InputBox(). После того, как определена конкретная размерность, массив необходимо переобъявить с помощью оператора ReDim, например:

ReDim a(m), где m – размерность массива.

Позднее количество элементов массива снова можно изменить. Для этого необходимо воспользоваться оператором ReDim с ключевым словом Preserve:

ReDim Preserve a(n), где n – новая размерность массива. Аналогичным образом объявляются двухмерные массивы.

П р и м е ч а н и е. Язык Visual Basic позволяет изменить начальное значение индекса первого элемента массива с нуля на единицу. При использовании опции Option Base с параметром 1 значение индекса первого элемента будет равно 1.

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

Dim a(1 To 5) или Dim a(1 To m), Dim b(1 To 3,1 To 5) или Dim b(1 To m,1 To n)

1. ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС ЗАПОЛНЕНИЕ

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

1.1. Производная алгоритмическая структура Формирование

Используется для заполнения вычислительной среды конкретными значениями в соответствии с заданными математическими зависимостями.

Особенности алгоритма.

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

2. В зависимости от размерности массива организуется простой циклический процесс (одномерный массив) или цикл в цикле (двухмерный массив). Телом цикла служит правило заполнения, в соответствии с которым формируются значения элементов массива.

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

Рассмотрим несколько примеров, иллюстрирующих использование производной алгоритмической структуры Формирование.

Пример 1.

Разработать информационную технологию, позволяющую заполнить в вычислительной среде единичную матрицу произвольной размерности m´ m.

Входные данные: m – целое число.

Выходные данные: матрица Е = [eij], , – массив целых чисел.

Математическая модель:

,

Схема алгоритма заполнения матрицы Е:

 
 

Код приложения:

Option Base 1

Private Sub Command1_Click()

Dim m As Integer, i As Integer, j As Integer, e() As Byte

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

ReDim e(m,m)

For i=1 To m

For j=1 To m

If i=j Then

e(i,j)=1

Else

e(i,j)=0

End If

Next

Next

‘Вывод значений элементов матрицы на форму

Print “Значения элементов матрицы Е:”

For i=1 To m

Print

For j=1 To m

Print e(i,j);

Next

Next

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: