Автор: Пользователь скрыл имя, 18 Марта 2012 в 21:05, контрольная работа
Отдельные элементы данных, составляющие массив, называются элементами массива. Количество элементов в массиве всегда конечно. В определенных условиях массив можно представлять и как тип данных, и как переменная типа массив. Массивы могут быть одномерные и многомерные; фиксированного размера и динамические.
Введение
с. 3
1. Объявление массива
с. 5
1.1. Работа с массивами
с. 5
1.2. Объявление фиксированного массива
с. 7
1.3. Объявление динамического массива
с. 11
Заключение
с. 14
Список литературы
с. 16
Теперь переделаем его в двухмерный массив, чтобы в еще одну строчку записать множитель, на который умножается число 5. Переделаем наш код на такой:
Option Explicit
Option Base 1
Dim Chislo(5, 2) As Long
Dim x As Long
Private Sub Form_Load()
Text1.Text = “”
For x = 1 To 5
Chislo(x, 1) = x
Chislo(x, 2) = x * 5
Next x
Private Sub Command1_Click()
For x = 1 To 5
Text1.Text = Text1.Text & “5 x “ & Chislo(x, 1) & “ = “ & Chislo(x, 2) & vbCrLf
Next x
End Sub
| 1 элемент | 2 элемент | 3 элемент | 4 элемент |
1 элемент | 1 | 2 | 3 | 4 |
2 элемент | 5 | 10 | 15 | 20 |
Значит элемент массива Chislo (3,2) будет иметь значение 15.
Обратим внимание, что размерность массива определяет количество цифр в объявлении. Массив Chislo (4,5) – тоже двухмерный, только строк в таблице будет не две, а пять. А объявление трехмерного массива выглядело бы так
Dim(4,5,2).Такую трехмерную таблицу нарисовать затруднительно. В принципе Visual Basic поддерживает до 64 размерностей массива, но это в голове трудно укладывается.
Иногда мы не знаем, сколько данных будет иметь. И при необходимости, например, нужно дописать в массив новые данные. Для этого существует динамический массив.
1.3. Объявление динамического массива.
Часто возникает ситуация, когда неизвестно заранее, сколько элементов массива будет использоваться. Поэтому массив объявляется без размерности.
Например: Dim Mass () as String
Динамический массив - это массив, при объявлении которого размерность не указывается, но размер которого можно изменять в процессе выполнения программы.
Применение динамических массивов позволяет эффективно управлять памятью, выделяя память под большой массив лишь на то время, когда этот массив используется, а затем освобождая ее.
Создание динамического массива осуществляется следующим образом:
1. Массив объявляется с помощью ключевых слов, используемых при создании массива фиксированного размера. Список размерностей массива остается пустым. При объявлении глобального массива необходимо выбрать ключевое слово Public, при объявлении массива на уровне модуля – Dim, при объявлении массива в процедуре - Dim или Static.
Например, Dim intCountPar () As Integer
2. С помощью выполняемого оператора Redim указывается размерность массива и его размер в виде числа или выражения. Синтаксис этого оператора аналогичен синтаксису оператора объявления массива фиксированного размера.
Например, ReDim intCountPar (1 To 20)
При выполнении оператора ReDim данные, ранее размещенные в массиве, теряются. Это удобно в том случае, если данные больше не нужны и надо переопределить размер массива, подготовив его для размещения новых данных.
Если нужно изменить размер массива, не потеряв при этом данных, то необходимо воспользоваться оператором ReDim с ключевым словом Preserve.
Например, ReDim Preserve intCountPar (X+1)
Чтобы программу можно было прочитать, в текст кода включают комментарии, а операторы большой длины размещают на нескольких строках.
Для включения в текст программы комментария необходимо ввести символ ('), который может быть первым символом в строке или находиться в любом ее месте. Этот символ означает начало комментария, и все символы, находящиеся за ним, Visual Basic не будет транслировать.
Если оператор имеет большую длину, его можно разбить на несколько строк, используя символы продолжения строки: пробел, за которым следует символ подчеркивания ( _ ).
При написании программ операторы размещают на отдельной строке. Если операторы имеют небольшую длину и являются однотипными, Visual Basic позволяет их поместить на одной строке, разделив символом двоеточие (:).
Определяем динамический массив:
Public Sendor() As Integer
В данном случае, размер массива Sendor не определен, и это всегда можно сделать в процессе работы программы.
Dim Listing() As String ' Список элементов.
Dim NumInList As Integer ' Число элементов в списке.
Sub AddToList(value As String) ' Увеличить размер массива.
NumCountArray = NumCountArray + 1
ReDim Preserve Listing (1 To NumCountArray) ' Добавить новый элемент к концу списка.
Listing (NumCountArray) = value
End Sub
Sub RemoveFromList() ' Уменьшить размер массива, освобождая память.
NumCountArray = NumCountArray - 1
ReDim Preserve Listing (1 To NumCountArray)
End Sub
При изменении размера массива при помощи оператора ReDim все содержимое массива пропадает, чтобы этого не происходило, то следует использовать ключевое слово Preserve, что и выполнено в примере выше. Нужно всегда, когда необходимость в данных массива отпала очищать память, занятую этими данными. Наиболее просто это сделать при помощи конструкции:
ReDim Listing (0)
Будьте внимательны и не используйте оператор ReDim внутри цикла. Это приведет к резкому снижению производительности.
For I =1 To 255
ReDim Listing (I)
Next I
2
[1] Робертсон Л.А. Программирование – это просто. Пошаговый подход; М.:БИНОМ. Лаборатория знаний, 2008. – стр.369