Иногда бывает так нужны десятка два переменных и, если бы не массив, прищлось бы писать
Dim A As Integer
Dim B As Integer
.......
.......
.......
Dim X As Integer
Dim Y As Integer
Но нет! Для этого есть массивы! Но для того, чтобы его использовать сначало надо его объявить, например:
Dim A(20) As Integer
Это равносильно двадцати переменным!!! Но по-моему так удобней :)? Т.е. этим мы выделили двадцать ячеек памяти.
Массив представляет собой набор значений, связанных с одним именем. Массивы бывают одномерными (список значения), двумерными (таблица значений), но при необходимости работы со сложными математическими моделями, например, трёхмерными фигурами, Вы можете задать и большее количество измерений массива. Массивы могут быть так же динамический, т.е. не содержать определённое количество ячеек. Декларируются они так:
Dim ABC () As ... т.е. в скобках ничего не указывается
Чтобы установить размерность массива нужно использовать ключевое слово ReDim, которое перераспределяет массив, стирая старые ячейки.
Если Вам нужно перераспределить массив, оставив старые ячейки надо использовать ключевое слово Preserve.
Например, у Вас есть восемь чисел и для каждого нужна переменная. Если они одинакового типа, то можно создать массив и присвоить эти значения (
см. примечания):
Dim ABC (8) As Integer
ABC(0) = 123
ABC(1) = 5
ABC(2) = 87
ABC(3) = 4
ABC(4) = 99
ABC(5) = 43
ABC(6) = 7
ABC(7) = 21
ABC(8) = 11
Этот массив графически можно представить так:
Ячейка |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Значение |
123 |
5 |
87 |
4 |
99 |
43 |
7 |
21 |
11 |
Допустим, что Вы пишите программу, которая создаёт палитры и она должна запросить количество цветов, которые она должна смешать и какие (Вы только сильно не радуйтесь следующий пример ничего мешать не будет, он только запросит цвета ;-)):
Sub Main()
Dim MyArray() As Stringобъявляем массив, содержащий цвета
Dim x As Integer объявляем переменную, содержащую кол-во цветов
Dim y As Integer объявляем переменную-счётчик
Dim Msg As String объявляем переменную, содержащую все названия цветов
x = InputBox("Введите число цветов") получаем количество цветов
перераспределяем в массиве столько ячеек, сколько цветов мы получили
ReDim MyArray(x)
запускаем цикл, который должен повториться столько раз сколько всего
цветов
For y = 1 To x
присваеваем каждой ячейке цвет
MyArray(y) = InputBox("Ведите цвет номер " & y)
Next
запускаем цикл, который собирает все цвета в одну переменную
For y = 1 To x
теперь мы вытаскиваем все значения
Msg = Msg + MyArray(y) + Chr(13) + Chr(10)
Next
MsgBox Msg выводим все цвета, которые ввели
End Sub
Здесь вроде бы всё просто! Теперь двумерный массив. Но не пугайтесь, здесь не менее просто, только с непривычки можно чуть-чуть запутаться :-).
Декларируются они так:
Dim ABC(1, 8) As String
Это получается этакая таблица: две ячейки на десять. Примерно так:
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
0 |
красный |
оранжевый |
жёлтый |
зелёный |
голубой |
синий |
фиолетовый |
бирюзовый |
пурпурный |
1 |
коричневый |
серый |
чёрный |
белый |
розовый |
лиловый |
вишнёвый |
прозрачный |
матовый |
И всё это присвоить таким образом:
ABC(0, 0) = "красный"
ABC(0, 1) = "оранжевый"
ABC(0, 2) = "жёлтый"
и т.д. Ну, очень напоминает систему координат! А чтобы вызвать, например, лиловый нужно написать так:
Color = ABC(1, 5) переменной color присваеваем строку "лиловый"
Трёхмерную таблицу я начертить не смогу, но думаю, что и там всё понятно. Объявляется он, например так:
Dim ABC (10, 4, 7)
Таким образом уже создётся как бы геометрический прямоугольник длиной 10, шириной - 4 и высотой - 7. Всего внутри 440 ячеек ( 11 * 5 * 8).
Примечание: Вы должны помнить, что объявляя массив с, например, тремя ячейками, в скобках Вы должны писать 2,
Dim ABC(2) As Variant
т.к. идекс ячеек начинается с нуля: 0, 1, 2 - в сумме получается три. Если в скобках окажется цифра три, то ячеек будет четыре: 0, 1, 2, 3. Если Вам кажется это неудобным, то строкой (в самом верху формы или модуля):
Option Base 1
Вы как бы сдвините массив вверх на один, и нижней границей станет не 0, а 1. Также есть другой способ:
Dim ABC(1 To 2)
Результат одинаков!
Другие работы по теме:
Рекреационные ресурсы
Text Text Рекреация – восстановление здоровья и трудоспособности путем отдыха вне жилища – на лоне природы или во время туристской поездки; рекреация – синоним понятия
Отчет 25 стр., 1 рис
Ключевые слова: космология, внегалактическая астрономия, звезды, межзвездная среда, активные ядра
Метод Хемминга
Алгоритм численного решения системы обыкновенных дифференциальных уравнений методом Хемминга с постоянным шагом интегрирования.
Построение годографов Михайлова при помощи пакета MATHCAD
Цель работы заключается в необходимости получения простого и наглядного инструмента для решения задач расчёта устойчивости систем автоматического управления, что является обязательным условием работоспособности любого промышленного робота и манипулятора.
Индексирование
Чтобы задать смысл индексов для объектов класса используется функция operator[]. Второй параметр (индекс) функции operator[] может быть любого типа. Это позволяет определять ассоциативные массивы и т.п.
Обработка массивов данных в среде Turbo Pascal
Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.
Шпаргалки по Fortrany
Автоматические массивы В процедуре может быть задан локальный массив, размеры которого могут меняться при разных вызовах процедуры. Такие массивы, так же как и локальные строки переменной длины (разд. 10.4), относятся к автоматическим объектам.
Программа, которая упорядочивает элементы чётных строк матрицы по возрастанию, а нечётных – по убыванию
2.24. Составить программу, которая упорядочивает элементы чётных строк матрицы по возрастанию, а нечётных – по убыванию. 17. Задан массив {Ai}: 2; 0,4; 3,14; -1,57; 11; 7,34; -2,6; 0; 5; -1. Вычислить массив {Yi}, каждый элемент которого вычисляется по формуле cos(A), и подсчитать количество элементов L из массива {Yi}, попадающих в интервал [0;1].
Массивы в языках Pascal и Basic
Министерство образования РФ Средняя школа № 4 РЕФЕРАТ по информатике Тема: «Массивы в языках Pascal и Basic» Выполнила: ученица 10 «А» класса Рудых Елена
Лабораторная работа №12
Цель работы: Изучение правил описания и вызова подпрограмм: процедур и функций. Получение навыков и овладение приемами работы над подпрограммами. Задание№ 17
Лабораторная работа № 16
Цель работы: Изучение правил описания и использования строк типа string. Задание№ 17 . Из заданного текста на русском языке вывести слова с максимальным кол-вом гласных букв.
Программное определение числовых массивов
Одномерные числовые массивы, образование элементами целочисленного массива невозрастающей последовательности. Программное нахождение суммы элементов каждой возможной строки матрицы и формирование массива из найденных сумм, вывод массива-результата.
Понятие и элементы массива
Массив - это коллекция переменных, которые имеют общее имя и базовый тип. Функциональные возможности, виды массивов и их характеристика. Основные требования к входным и выходным данным массива. Использование IF THEN для перехвата всех возможных ошибок.
Массивы элементов управления
Массив элементов управления это группа идентичных элементов управления (командные кнопки, текстовые поля и т.д.) имеющие общие процедуры обработки событий.
Одномерные и двумерные массивы таблицы
Массив — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).
Структура внутримашинного информационного обеспечения
Структура внутримашинного информационного обеспечения Под внутримашинным информационным обеспечением (И О) понимают систему специальным образом организованных данных, подлежащих автоматизированной обработке, накоплению, хранению, поиску, передаче в виде, удобном для восприятия техническими средствами.
Программирование на языках высокого уровня 3
Программирование на языках высокого уровня ч2 Лабораторная №1 Задача 1 Составить программу на языке С/С++, содержащую: - объявления и инициализацию указателей на различные типы объектов:
Работа со структурами в языке программирования Си
Лабораторная работа №6 “Работа со структурами в языке программирования Си++” Цель работы: познакомиться с понятием структуры и структурной переменной. Научиться создавать массивы структур и работать со вложенными структурами.
Массивы и указатели в языке программирования Си
Лабораторная работа "Массивы и указатели в языке программирования Си++" Теоретические сведения Цель работы: ознакомиться с основными принципами работы с одномерными и двумерными массивами. Освоить работу с указателями и операциями над указателями.
Массивы в С С
Лабораторная работа На тему: МАССИВЫ в С/С++ Поэлементные операции 1. Одномерные (линейные) массивы Линейным массивом в программе на C++ называется упорядоченный набор однотипных переменных, которые располагаются в памяти последовательно
Внеандийский Восток Южной Америки
Внеандийский Восток включает антеклизы — выступы Южно-Американской платформы, чередующиеся с синеклизами — впадинами. Опущенный край платформы на западе обычно переходит в передовой прогиб Анд.
Географическая характеристика Африки
Описание географического положения, климатических условий, великого и разнообразного растительного и животного мира африканского континента. Уникальные виды флоры и фауны материка в национальных парках Киву и Крюгер, заповедниках Мадагаскара и Эфиопии.
Растительный и животный мир Липецкой области
Липецкая область располагается в лесостепной зоне. Для этой зоны характерно чередование Лесной растительности и степной. Леса распространены в долинах рек, балках, а так же на водоразделах.
Прекордильеры и Пампинские сьерры
Страна Прекордильер (Предгорных хребтов) и Пампинских (или Пампасских) сьерр лежит к западу от равнин южного Чако и Пампы. Высокие, поросшие лесом горные хребты чередуются в ней с обширными-полупустынными впадинами.
Информационные ресурсы 2
Информационные ресурсы - в широком смысле - совокупность данных, организованных для эффективного получения достоверной информации. Информационные ресурсы - по законодательству РФ - отдельные документы и отдельные массивы документов, документы и массивы документов в информационных системах: библиотеках, архивах, фондах, банках данных, других видах информационных систем.