Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Динамические массивы

Option Base 1

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

Массивы

 

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

Массив (arraus - эрейз) – это набор элементов определенного типа, каждый из которых имеет порядковый номер, называемый индексом. Различаются статические и динамические массивы.

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

 

Границы статического массива устанавливаются на этапе разработки, и в конкретной версии программы изменяться не могут.

Например, нужно хранить фамилии 150 участников конференции. Можно было бы объявить и присвоить значения 150 переменным типа String, что крайне неудобно.

Поэтому объявляется одномерный массив: Dim straФамилия (149) As String

Задается одномерный массив типа Integer. Затем обязательно идет объявление типа данных. Иначе подразумевается тип данных Variant.

Как видно, разница объявлений обычных переменных и массивов в том, что в объявлении массива за именемследуют скобки, в которых содержатся значения, задающие размеры массива по каждому из измерений.

Нижнюю границу по умолчанию не указывают.

Следует помнить, что элементы массива именуются с 0 (первый индекс в массиве), при этом 10-й элемент имеет индекс – 9. Например, восьмой элемент одномерного массива обозначен:

aФамилия (7) = "Иванов"

Тогда при исполнении команды:

Print aФамилия(7)

будет выведено "Иванов"

Объявление четырехмерного массива типа Integer:

Dim intaКомплектующие (34, 13, 4, 29) As Integer

(Например: Комплектующие – Метизы – Вид – Размер)

 

В этом случае массив занимает: 35х14х5х30 = 73500 элементов.

Если нужно пронумеровать элементы с 1, то нужно в раздел объявлений (Declarations) модуля поместить оператор

При этом областью действия данного оператора является только этот модуль.

Статический массив объявляется не локально (внутри процедуры), а только для контейнера (формы, модуля или класса) или глобально.

Полный синтаксис для глобального массива: Static Public Dim [ИмяМассива] (значения измерений)

Массивы могут быть многомерными с размерностью - до 60.

 

Динамические массивы изменяют свои границы в ходе выполнения программы в соответствии с конкретными условиями.

Объявление динамических массивов:

- если вы не знаете и не можете узнать размер массива до выполнения программы;

- если знаете, что размер массива изменяется в ходе выполнения программы;

- если после завершения использования массива хотите освободить занимаемую им память для других целей.

Чтобы объявить динамический массив, нужно просто не указывать размер массива при его объявлении. Например:

Dim dateДниРождения () As Date

 

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

ReDim dateДниРождения (intЧислоДнейРождения – 1)

т. е. предполагается, что значение переменной (intЧислоДнейРождения) уже задано ранее, а уменьшение числа элементов на 1 приводит в соответствие число элементов массива в соответствии с его нумерацией от нуля.

Чтобы в программе использовать конкретный элемент динамического массива, необходимо напечатать имя массива, за которым следуют скобки с указанным в них индексом этого элемента (значениями для каждого из измерений массива через запятую), например, datДаты рождения (25, 10).

Элемент массива можно использовать как обычную переменную, то-есть

присвоить значение, хранящееся в массиве, некоторой переменной

datДатаРожденияИванова = datДаты рождения (25, 10).

 

Элементу массива можно присваивать конкретное числовое значение:

curБольшие деньги (5, 8, 19) = 2700

 

Копирование одного массива в другой, это делается с помощью оператора:

strМассивКопия () = strИсходныйМассив (….)

 

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

Типы данных исходного массива и нового должны быть совместимы.

Операции, которые производятся с массивами, - статистические (т. е., применительно к Excel, могут вычисляться итоговые функции), например:

- Count – определение количества чисел в массиве;

- Sum – суммирование элементов массива и т. п.

 

<== предыдущая лекция | следующая лекция ==>
Аксиомы (схемы аксиом) исчисления высказываний | Пример работы с массивом
Поделиться с друзьями:


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


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



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




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