Студопедия

Главная страница Случайная страница

Разделы сайта

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






Организация программ обработки одномерных массивов






Массив данных в программе рассматривается как переменная структурированного (составного) типа. Массиву присваивается имя, посредством которого можно ссылаться как на массив данных в целом, так и на любую из его компонент.

Переменные, представляющие элементы массивов, называются переменными с индексами в отличие от простых переменных, представляющих в программе элементарные данные. Индекс в обозначении компонент массивов может быть константой, переменной или выражением целого типа.

Если за каждым элементом массива закреплен только один индекс - его порядковый номер, то такой массив называется одномерным.

Пример: числовая последовательность четных натуральных чисел 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.

Например,

Dim arrA () As Integer ‘Описание типа массива
n=InputBox(“Введите размерность массива”) ‘Ввод значения размерности в диалоговое окно ввода
ReDim arrA(n) As Integer ‘Указание размерности

С элементами массива удобно работать, используя цикл 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 были построены математические модели и блок-схемы наиболее распространенных алгоритмов обработки одномерных массивов. Рассмотрим примеры программ, где алгоритм представляет собой обработку массива данных.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.