Студопедия

КАТЕГОРИИ:


Архитектура-(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. где 1) Dim – служебное слово




ДЕМОНСТРАЦИОННЫЕ ПРИМЕРЫ

Dim DynArray1

где 1) Dim – служебное слово

2) DynArray – имя переменной массива

То есть, массивом может стать любая объявленная переменная

Далее в программе, где это необходимо, с помощью оператора ReDim указывают размерность массива. Например:

ReDim DynArray1 (5) ' для вектора

или

ReDim DynArray1 (3, 4) ' для матрицы

или

ReDim DynArray1 (2, 4, 7) ' трёхмерного массива

При каждом выполнении оператора ReDim значения всех элементов массива, сохранённые ранее, теряются. VBScript переустанавливает их в Empty (пустое значение) (для Variant-массивов), в нулевые значения (для числовых массивов), в строки нулевой длины (для строковых массивов).

Конечно, это, скорее всего, неудобно. Если вам нужно добавить к массиву новый элемент в конец массива, то есть увеличить размер массива, то нет смысла терять при этом, может быть, «с трудом полученные» ранее элементы. “К счастью”, с помощью ключевого слова Preserve в операторе ReDim можно указать, чтобы система сохранила значения массива, размеры которого изменяются.

В следующем примере размер вектора увеличивается на единицу от текущего размера с сохранением значений, ранее запомненных в массиве. Текущий размер массива определяется с помощью функции UBound (подробнее о ней будет рассказано ниже):

ReDim Preserve DynArray2 (UBound(DynArray)+1)

VBScript имеет функцию, которая освобождают пользователя от необходимости вручную отслеживать верхний предел массива – функция UBound. Эта функция возвращают верхнее граничное значение индекса массива.

Пример использования:

Dim A (3, 4) ' объявление матрицы А

MsgBox UBound (A, 1) ' вывод на экран максимального индекса в строке

MsgBox UBound (A, 2) ' вывод на экран максимального индекса в столбце

Ценное замечание

Для того чтобы определить является ли переменная массивом можно использовать функцию IsArray(ArrName), возвращающую «Истина», тогда и только тогда когда ArrName – массив.

'Имя файла Input_Output_1.vbs

'Программа содержит процедуру ввода и процедуру вывода одномерного 'массива (вектора)

 

Option Explicit

Dim A(4) ' объявление одномерного массива А

Const k=4 ' k-индекс последнего элемента в векторе

'-------------------------------------------------------------------------------

Sub Input (A)

' процедура ввода элементов вектора с клавиатуры

' процедура с параметрами

' A-параметр, передаваемый по ссылке

' k-глобальная константа

Dim i ' параметр цикла

For i=0 to k

A(i)=CDbl(InputBox("Введите "&i&"-й элемент одномерного массива",_

"Ввод вектора A:",5))

Next

End Sub

'-------------------------------------------------------------------------------

Sub Output (A)

' процедура вывода на экран элементов вектора

' процедура с параметрами

' A-параметр, передаваемый по ссылке

' k-глобальная константа

Dim i ' параметр цикла

Dim s ' строковая переменная, в которой будет сохранён массив

For i=0 to k

s=s+CStr(A(i))+" "

Next

MsgBox "Вы ввели одномерный массив:"&vbCrLf&_

s,_

vbExclamation,_

"Вывод вектора A:"

End Sub

'-------------------------------------------------------------------------------

Input A ' вызов процедуры ввода элементов массива

Output A ' вызов процедуры вывода элементов массива




Поделиться с друзьями:


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


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



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




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