Описание массива фиксированного размера

Для описания массива фиксированного размера используется следующий синтаксис:

Dim ИмяПеременной[([индексы])] [As тип]

(Квадратные скобки указывают на наличие необязательного параметра).

Для задания аргумента индексы может использоваться следующий синтаксис:

[нижний индекс To ] верхний индекс[, [нижний индекс To ] верхний индекс]...

Если нижний индекс не задан явно, нижняя граница массива равняется нулю. Верхняя границаопределяет максимальное значение количества элементов в массиве. To – зарезервированное слово. Тип элементов массива можно не указывать явно, поскольку по умолчанию тип данных – variant.

В описании массива в языке VBA размерность задается числом граничных пар или максимальных значений. Рассмотрим несколько способов объявления одного и того же двумерного массива вещественного типа.

Dim mass (8, 3) as double – ‘объявление массива заданием его максимальных значений;

Dim mass (0 To 8, 0 To 3) as double – ‘объявление массива заданием его граничных пар.

Индексация массива по умолчанию начинается с 0. В языке VBa допускается индексация и с 1. Для этого необходимо использовать инструкцию Option Base 1, которая должна находиться в разделе описания модуля.

ОПИСАНИЕ МАССИВА ПЕРЕМЕННОГО РАЗМЕРА

Если массив описан как динамический, то можно изменять его размер во время программы.

Синтаксис:

Dim ИмяПеременной () [As Type ]

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

Например:

Redim mass(25) – одномерный массив из 26 элементов;

Redim mass(10,10)- двумерный массив из 121 элемента.

Инструкцию Redim в программе можно применять столько раз, сколько потребуется. Однако при каждом применении Redim данные, содержащиеся в массиве, теряются.

Типовые алгоритмы обработки массивов

1. Обнуление всех элементов массива:

For i=0 To N

mass(i)=0 

Next i

2. Заполнение элементов массива значениями с клавиатуры

For i=0 To N

mass(i)= InputBox(“Ввод числа”)

Next i

3. Заполнение элементов массива случайными целыми значениями

Randomize

For i=0 To N

 mass(i)=Int(Rnd*100+1)

Next i

4. Заполнение и вывод на экран элементов массива

Dim s as string

For i=0 To N

mass(i)= Int(Rnd*100+1)

s=s & mass(i) & ”-” (накапливание в строке значений элементов массива)

Next i

5. Формирование одного массива из элементов другого массива, удовлетворяющих заданному условию.

For i=0 To N

 massА(i)=Int(Rnd*100+1)

  If massA(i)>50 then

      massB(j)=massA(i)

      j=j+1

End if

Next i

6. Поиск максимального и минимального элементов массива

max=mass(0)

min=mass(0)

For i=1 To n

If mass(i)>max Then max=mass(i)

If mass(i)<min Then min=mass (i)

Next i

7. Обмен местами максимального и минимального элементов массива

max=mass(0)

min=mass(0)

For i=1 To n

If mass(i)>max Then

max=mass(i)

imax=i

End if

If mass(i)<min Then

min=mass (i)

imin=i

End if

Next i

x = mass(imax)

mass(imax) = mass(imin)

mass(imin) = x


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



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