Введение в информатику процессов первичной переработки нефти. Новиков А.А - 57 стр.

UptoLike

Составители: 

56
MsgBox “Пласт ” & D(1) & ", вязкость " & D(2) & “ мПа*с” & ", дата " & D(3)
End Sub
Здесь элементам массива присваиваются значения различных типов: первому
элементу строка, второму целое число, третьему дата. Поскольку массив D
объявлен как массив типа Variant, его элементам можно присваивать значения лю-
бого типа. В строке 6 значения всех элементов массива передаются в функцию
MsgBox для отображения в диалоговом окне (рис. 2.5).
Рис. 2.5. Пример работы программы Pro10
Сравнивая примеры 9 и 10, можно сделать еще один важный вывод, если
вспомнить материал раздела о типах данных (2.3). Массив из трех элементов в при-
мере 10 займёт 48 байт памяти, а массив также из трех элементов в примере 9 –
только 6 байт памяти.
Таким образом, универсальный тип данных потребляет во много раз больше
памяти и, если Вам предстоит обработка больших массивов данных, об этом необ-
ходимо помнить и, по-возможности, применять тот тип данных, который потребля-
ет меньше памяти и обеспечивает диапазон обрабатываемых данных.
Кроме описанных массивов фиксированного размера, в VBA есть массивы еще
одного вида динамические. До сих пор мы всегда явно указывали размерность
массива в инструкции. При описании динамического массива его размер не указы-
вается. Он определяется позже, при выполнении кода.
Динамический массив удобен, если Вы предполагаете, что в ходе выполнения
программы его размер может измениться. И в этой ситуации можно сэкономить па-
мять: сделайте так, чтобы размеры массивов точно соответствовали Вашим теку-
щим потребностям. В противном случае Вы рискуете создать массивы, которые
только попусту занимают место, а это плохо отразится на производительности.
Рассмотрим динамический массив подробнее. В процедуре Pro11 массив Data4 сна-
чала (с помощью инструкции ReDim) объявлен как одномерный двухэлементный
массив, а затем как двумерный трехэлементный.
Sub Pro11()
Dim Data4() As Variant
ReDim Data4(2)
Data4(1) = 854.5
Data4(2) = 896
i=InputBox("Какую
нефть выбираете? 1– пластовую, 2 – товарную")
MsgBox "Плотность выбранной нефти: " & Data4(i) & ".”
ReDim Data4(2, 3)
Data4(1, 1) = "Urals"