Студопедия Главная Случайная страница Обратная связь

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

Массивы. Массив – это совокупность нескольких переменных одного типа, которые могут принимать одинаковые или различные значения





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

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

В общем случае индексирование элементов начинается с нуля, однако, использование оператора Option Base 1 позволяет установить индексацию с 1. Данный оператор указывается в секции (General)(Declarations) контейнера. Границы индексации можно установить в опции РАЗМЕРНОСТЬ (см. ниже).

Шаблон объявления массивов:

Static | Public | Dim [Shared] ПЕРЕМЕННАЯ [РАЗМЕРНОСТЬ]

где РАЗМЕРНОСТЬ – указывает диапазон изменения индекса массива, такой индекс является переменной величиной и используется для указания конкретного элемента массива; РАЗМЕРНОСТЬ имеет следующий вид m To n, где m – начальное значение индекса, n – конечное значение индекса; если при обработке массива значение индекса выходит из указанного в объявлении диапазона, выдается сообщение об ошибке. В данном параметре можно через запятую указать диапазон изменения для нескольких индексов (многомерные массивы). Примеры:

Dim a$(1To 20) – массив из 20-ти строковых элементов: а$(1) – 1-й элемент, a$(2) – 2-й элемент и т. д;

Dim p%(5 To 10) – массив из 6-ти целых элементов: p%(5) – 1-й элемент, р%(6) – 2-й элемент и т.д.;

Dim x(10) As Single – массив из 11вещественных чисел х(0) – й элемент, х(1) – 2-й элемент, …, х(10) – 11-й элемент.

Если определить переменную-индекс как Dim i As Integer, то можно обратиться к любому элементу массива (предварительно задавая конкретное значение для i), например х(i) – это i-й элемент массива х. С учетом вышесделанного определения этого массива x(n) индекс i может изменяться в диапазоне от 1 до n и при i = 1 ‘это будет 1-й элемент массива.

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

Dim c(5) As Integer

Dim s(5) As String

Dim X(2) As Variant

c() =... 'заполнение данными первых двух массивов

s() =…

X(1) = c() 'заполнение массива X другими массивами

X(2) = s()

 

Массивы могут быть многомерными: например, двумерный массив Dim m(5, 10).

Массивы могут быть динамическими, т. е. их размеры могут меняться в любое время. Для создания динамического массива надо: 1) объявить массив оператором Public или Dim, или Static с пустой размерностью в секции (General)(Declarations) контейнера, например Dim D() As Variant; 2) оператором ReDim распределить фактическое количество элементов ReDim D(100) [As ТИП]; этот оператор может появляться только в процедурах; он может изменять нижний и верхний пределы размерностей, но не изменяет количества размерностей.

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

Начиная с Visual Basic 6.0, можно присвоить содержимое одного массива В другому С так же как для обычных переменных: С = В. При следует учитывать, что могут появиться ошибки из-за несоответствия типов, размерности или количества измерений статических массивов. В то же время для динамических массивов указанная операция, как правило, проходит успешно.

Пределы динамического массива могут также устанавливаться с помощью переменных ReDim B(X, Y).







Дата добавления: 2014-11-10; просмотров: 628. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Studopedia.info - Студопедия - 2014-2026 год . (0.011 сек.) русская версия | украинская версия