Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Статические и динамические массивы

Размерность массива

 

Одномерный массив – это список элементов данных, записанных в одну строку. Такой массив можно представить в виде таблицы. Каждый элемент данных, хранимых в массиве, называется элементом массива. Массив на рис. 1 имеет 8 элементов; каждый элемент сохраняет число. Элементы в массиве пронумерованы от 0 до 7, что составляет 8 элементов. Такая система нумерации довольно распространена в программировании и называется нумерацией с нулевой базой.

Для доступа к данным, хранящимся в определенном элементе массива, следует указывать имя массива с последующим числом, называемым индексом элемента. Индекс всегда заключается в круглые скобки. Например, если массив на рис. 1 имеет имя DoubleArray, то следующий оператор присваивает число 0.11 переменной Double Any:

 

DoubleAny = DoubleArray (6)

 

10,2 11,2 22,1 1,1 21,3 123,0 0,11 1,1
0-й элемент 1-й элемент 2-й элемент 3-й элемент 4-й элемент 5-й элемент 6-й элемент 7-й элемент

При выполнении приведенного выше оператора VBA выбирает значение 0.11 из указанного элемента массива и сохраняет это значение в переменной DoubleAny.

Можно также использовать индекс всякий раз, когда необходимо сохранить данные в отдельном элементе массива. Например, следующий оператор сохраняет число 12.3 в восьмом элементе массива.

 

DoubleArray (7) =12.3

 

При выполнении этого оператора VBA помещает значение 12.3 в указанный элемент массива, заменяя предыдущее содержимое этого элемента. Можно использовать элемент массива в любом выражении VBA – точно так же, как используется значение константы или переменной в каком-либо выражении.

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

В VBA можно также создавать массивы, имеющие более трех измерений; фактически, VBA позволяет создавать массивы, имеющие до 60 измерений.

 

 

Число элементов в массиве обычно задается во время объявления массива. Объявление массива указывает VBA величину различных измерений массива (диапазон изменения каждого индекса). После того, как массив объявлен, VBA выделяет достаточный объем памяти для всех элементов массива. Например, для показанного выше массива VBA выделит объем памяти, достаточный для 8 чисел типа Double.

Переменные типа массив подчиняются тем же правилам области дейст­вия, что и любые другие переменные.

VBA сохраняет зарезервированной область памяти для всех элементов в массиве, пока существует переменная типа массив. Подобные массивы называются статическими, потому что число элементов в массиве не меняется.

Выбор размера массива может быть затруднен, если неизвестно, сколько данных будет введено в массив, или если объем данных, собираемых для массива, значительно меняется. Если иногда приходится сохранять 100 значений, а иногда – 10 значений, то потенциально напрасно расходуется область памяти, необходимая для сохранения 90 значений.

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

 

<== предыдущая лекция | следующая лекция ==>
Операции с массивами | Ввод одномерных массивов. Вывод одномерных массивов
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 489; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.