АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. IV. Относительные величины, динамические ряды
  2. Агрегатные состояния и термодинамические фазы
  3. Аэродинамические схемы.
  4. Воздействия на горные породы и их массивы
  5. Газодинамические способы создания управляющей силы перегрузки.
  6. Гидродинамические характеристики гребного винта
  7. Двумерные массивы
  8. ДВУМЕРНЫЕ МАССИВЫ
  9. Динамические и статистические методы в физике.
  10. Динамические и статистические теории
  11. Динамические процессы в больших группах

 

Динамическим называется массив, размерность которого определяется в ходе выполнения программы. Синтаксис описания массива: Dim <Имя массива>() As <Тип>

Размерность массива устанавливается и изменяется с помощью инструкции ReDim <Имя массива>(<размерность>)

Для установки и изменения размерности массива без потери его содержимого применяется инструкция

ReDim Preserve<Имя массива>(<размерность>)

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

LBound(<Имя>[,<Размерность>])

Эта функция возвращает нижнюю границу указанной размерности массива.

Ubound(<Имя>[,<Размерность>])

Данная функция возвращает верхнюю границу указанной размерности массива. Если размерность не указана, то подразумевается значение, равное 1.

Пример:

Sub Mas4()

Dim a() As Integer

Dim i As Integer, k As Integer, j As Integer,

N As Integer

Dim prom As Variant

WorkSheets(“Лист1”).Select

Cells.Clear

k=2

i=0

Do

Prom=InputBox(“Введите количество

элементов N=)

If Not IsNumeric(prom)

Then MsgBox(“Повторите ввод!”)

Loop Until IsNumeric(prom)

N=prom

ReDim a(1 to N) As Integer ‘Устанавливается

фактическая размерность массива a

ReDim Preserve a(1 to N) As Integer ‘Это

другой вариант установки размерности массива а

с сохранением значений его элементов

Do‘Формирование массива а

a(i)=Int(Rnd(i)*100)

i=i+1

Loop Until i=N

For j=1 To N ‘Вывод массива a на рабочий лист

Cells(k,j+1)=a(j)

Next j

End Sub

 

Array(<Список аргументов>)

С помощью такой инструкции создается массив типа
Variant. Список аргументов представляет разделенный запятыми список значений, присваиваемых элементам массива.

Пример:

Dim День As Variant

День=Array(“Пн”, “Вт”, “Ср”, “Чт”, “Пт”, “Сб”)

 

IsArray(<Имя переменной>)

Эта функция используется для проверки факта, является ли переменная типа Variant массивом. Она возвращает значение True, если переменная является массивом, и False в противном случае.

Erase(<Список массивов>)

С помощью этой инструкции повторно инициализируются элементы статических массивов и освобождается память, отведенная для динамических массивов. Список представляет собой имена очищаемых массивов, разделенных запятой. В статических массивах их элементам вместо чисел присваиваются нулевые значения, а строки переменной длины становятся пустыми.
В массивах типа Variant каждому элементу присваивается значение Empty.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)