![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Организация программ обработки одномерных массивов
Массив данных в программе рассматривается как переменная структурированного (составного) типа. Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент. Переменные, представляющие элементы массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением целого типа. Если за каждым элементом массива закреплен только один индекс - его порядковый номер, то такой массив называется одномерным. Пример: числовая последовательность четных натуральных чисел 2, 4, 6, ¼, N представляет собой одномерный массив, элементы которого можно обозначить А(1)=2, А(2)=4, А(3)=6, ¼, А(К)=2 × (К+1), где К - номер элемента, а 2, 4, 6, ¼, N - значения. Индекс (порядковый номер элемента) записывается в круглых скобках после имени массива. Например, A(7) - седьмой элемент массива А; D(6) - шестой элемент массива D. Для размещения массива в памяти компьютера отводится область памяти, размер которой определяется типом, длиной и количеством элементов массива. Существует две разновидности массивов: статические и динамические. Статические массивы При объявлении такого массива значения его верхней и нижней границ не могут быть изменены в программе. Данный вид массивов описывается так же, как и переменные - при помощи служебного слова Dim с последующим указанием типа после служебного слова As. При этом может быть указана как верхняя граница, так и обе границы одновременно. Например, Dim A(9) As Integer Dim B(l To 10) As Single В данном случае оба массива содержат одно и то же количество элементов. Однако нумерация элементов массива А начинается с нуля, в то время как нумерация элементов В - с единицы. Для явного указания границ следует использовать служебное слово То, в то время как при описании стандартного массива с нумерацией элементов от нуля необходимо просто указать значение верхней границы. Динамические массивы используются в том случае, когда количество элементов массива заранее неизвестно и будет определяться в процессе выполнения программы. Описание динамических массивов осуществляется в два этапа: 1. объявить массив с использованием служебного слова Dim, но без указания размерности; 2. в нужном месте программы описать данный массив с требуемым значением для размерности при помощи оператора ReDim. Например,
С элементами массива удобно работать, используя цикл For. В этом случае в качестве счетчика цикла будет использоваться значение индекса элемента. Цикл ввода элементов массива с последующим их выводом в окно Immediate на языке VBA можно записать как показано в Листинге 9 и Листинге 10. Листинг 9. Введение последовательности чисел 1, 2, –5, 6, –111, 0 в память компьютера Sub Ввод_статического_массива() Dim i, N As Integer Dim A(6) As Single For i = 1 To 6 A(i) = InputBox(" Введите" & i & " -й элемент массива") Debug.Print i; " -й элемент ", A(i) Next i End Sub Листинг 10. Заполнение одномерного массива элементами, отвечающими данному соотношению: a 1=1; a 2=1; ai = ai –2+ ai –1 (i = 3, 4, ¼, n) Sub Ввод_динамического_массива() Dim i, N As Integer Dim A() As Single N = InputBox(" Введите количество элементов") ReDim A(N) As Single A(1) = 1 A(2) = 1 For i = 3 To N A(i) = A(i - 1) + A(i - 2) Next i For i = 1 To N Debug.Print i; " -й элемент ", A(i) Next i End Sub В пункте 2.6.4 были построены математические модели и блок-схемы наиболее распространенных алгоритмов обработки одномерных массивов. Рассмотрим примеры программ, где алгоритм представляет собой обработку массива данных.
|