Студопедия

КАТЕГОРИИ:


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

Функция Rnd




Функции LBound и UBound

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

Оператор Option Base

Начальный индекс при описании массива можно задать используя, оператор Option Base. Синтаксис этого оператора:

Option Base 0 ô 1.

Оператор Option Base помещается в область объявлений перед объявлением любых переменных, констант или процедур. В программе можно написать только один оператор Option Base, он будет влиять на описание всех массивов, объявляемых в программе, независимо от того, являются они локальными в процедуре или объявлены глобально.

При использовании оператора Option Base нижний диапазон в операторе Dim не указывается:

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

Dim Имя_массива() As Тип_данных.

Количество элементов динамического массиваможет меняться по ходу выполнения программы. При объявлении динамического массива место под него не отводится. Прежде чем использовать такой массив, надо задать в программе его размер процедурой Redim:

ReDim Имя_массива(Кол-во эл-ов по каждой размерности)

Параметры данной процедуры - количество элементов по каждой размерности. Например, Redim А(10,20) - для двумерного массива A. После этого оператора к элементам динамического массива можно обращаться также как к статическому.

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

Lbound(Имя_массива [,Номер индекса])

Ubound(Имя_массива [,Номер индекса])

Функция Lbound возвращает левую границу изменения индекса массива, Ubound возвращает верхнюю границу изменения индекса массива. Аргумент Номер индекса представляет целое число, определяющее измерение массива, для которого необходимо получить нижний или верхний предел. Если аргумент опущен, возвращается предел для первого измерения массива, например:

Фрагмент программы Результат
Dim A(3 To 9) As String For I = Lbound(A) To Ubound(A) A(I) = 0 Next I Очистка одномерного массива А
Dim a_m(1 To 365, 2000 To 2004) For i= Lbound(a_m, 1) To Ubound(a_m, 1) For j = LBound(a_m, 2) To Ubound(a_m, 2) a_m(i,j) = Rnd Next j Next i Заполнение двумерного массива a_m случайными числами

При отладке процедур на обработку массивов очень удобно использовать датчик случайных чисел Rnd для заполнения массивов.

Функция Rnd возвращает, случайное число меньшее 1 и большее или равное нулю типа Single.

Если необходимо получить целое случайное число в диапазоне [ a, b ] следует использовать формулу:

Int((b-a +1) * Rnd +a).

Перед вызовом функции необходимо написать оператор
Randomize без аргументов для инициализации генератора случайных чисел.




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


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


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



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




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