Лекция 7 МАССИВЫ

Лекция 7

МАССИВЫ

Массивы используют в программах с использованием большого количества однотипных упорядоченных данных. Пример однотипных упорядоченных данных: список студентов в группе, значения дневных температур воздуха в апреле, время начала учебных пар по расписанию.

МАССИВ – это упорядоченная группа фиксированного количества переменных одного типа, имеющая общее имя.

«Группа переменных» означает, что массив является контейнером, хранящим несколько переменных, т.е. каждый элемент массива является переменной.

«Упорядоченная»- означает, что переменные в массиве хранятся не хаотично, а в установленном порядке, по очереди.

«Фиксированное количество» означает, что количество переменных в массиве не бесконечно, оно ограничено определенным числом (размерностью массива), которое указывается при описании массива.

«Одного типа» — означает, что переменные, входящие в массив, должны хранить данные одного и того же типа (Single, Integer, String и т.д.), который называется типом массива.

Массив имеет собственное имя.

Над переменными, составляющими массив (над элементами массива) можно выполнять те же действия, что и над обычными переменными — записывать и считывать значения, сравнивать их.

ОПИСАНИЕ ОДНОМЕРНЫХ МАССИВОВ

Каждый массив, используемый в программе, должен быть описан. Массив описывается так же, как и переменные — командой Dim. При описании массива указывается его имя, тип данных и количество элементов в массиве (размерность массива).

DimИмя массива(размерность) AsТип

К имени массива предъявляются те же требования, что и к имени переменной.

Размерность массива — это диапазон целых чисел, являющихся порядковыми номерами (индексами) элементов массива. Обычно элементы массива нумеруют, начиная от единицы.

SubPrimer( )

DimA(1 To50) AsSingle

' Массив «А» состоит из 50-ти дробных чисел

DimB(1 To10) Asinteger

' Массив «В» состоит из десяти целых чисел

DimS(1 To20) AsString

' Массив «S» состоит из 20-ти текстовых строк

Каждый элемент массива имеет свое имя, состоящее из имени массива и порядкового номера элемента в массиве (индекса элемента). Индекс указывают в круглых скобках: имя массива(индекс). Например: A(1), D(24), Massiv(5), Mas(12).

В качестве индекса элемента массива можно использовать не только целое число, но и целочисленную переменную, значение которой равно номеру элемента массива, или формулу, результат вычисления по которой равен целому числу. Например, при обращении к элементам числового массива «A» один и тот же индекс можно задавать разными способами:

i=6

k=1

A(6)

A(i)

A(k+5)

Ввод-вывод данных в элементах массива выполняется так же, как при использовании обычных переменных.

Option Explicit

Sub Primer1( )

Dim A(1 To 5) As Single, B(1 To 5) As Single

A(1)= VAL(InputBox(«A(i)= », "Введитерадиус",""))

B(1)= 3.14*A(1)^2

MsgBox«Площадь окружности= „+STR(B(1))

End Sub

ДОСТУП К ЭЛЕМЕНТАМ МАССИВА В ЦИКЛЕ

Для обращения к элементу массива надо указать порядковый номер этого элемента (индекс элемента). Изменяя индекс, получаем доступ к разным элементам массива:

Option Explicit

Sub Primer2( )

Dim A(1 To 4) As Single

A(1)= VAL(InputBox(“A(1)= », "",""))

A(2)= VAL(InputBox(«A(2)= », "",""))

A(3)= VAL(InputBox(«A(3)= », "",""))

A(4)= VAL(InputBox(«A(4)= », "",""))

MsgBox"A(1)= "+STR(A(1))

MsgBox «A(2)= „+STR(A(2))

MsgBox “A(3)= „+STR(A(3))

MsgBox “A(4)= „+STR(A(4))

End Sub

Ввод, вывод данных в массив, а так же обработку массива удобнее выполнять в цикле:

Option Explicit

Sub Primer3( )

Dim A(1 To 4) As Single, i As Byte

For i=1 To 4

A(i)= VAL(InputBox(“A(» +STR(i)+ ")= ", "",""))

Next i

For i=1 To 4

MsgBox «A(» +STR(i)+ ")= "+STR(A(i))

Nexti

EndSub

В последнем примере вывод содержимого ячеек массива на экран нагляднее выполнить, используя строковую переменную:

Option Explicit

Sub Primer4( )

Dim A(1 To 4) As Single, i As Byte, S As String

For i=1 To 4

A(i)= VAL(InputBox(«A(» +STR(i)+ ")= ", "",""))

Next i

S=""

For i=1 To 4

S = S+ «A(» +STR(i)+ ")="+STR(A(i))+" "

Nexti

MsgBox S

EndSub


ПРИМЕРЫ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ
ОДНОМЕРНОГО МАССИВА

OptionExplicit' Найти максимум в массиве

SubPrimer5( ) 'из 5-ти чисел

Dim A(1 To 5) As Single

Dim i As Byte, S As String, Max As Single

S=""

For i=1 To 5

A(i)= VAL(InputBox(«A(» +STR(i)+ ")= ", "",""))

S = S+ «A(» +STR(i)+ ")="+STR(A(i))+" "

Next i

Max= A(1)

For i=2 To 5

If A(i)>Max Then Max=A(i)

Nexti

MsgBox«Содержимое массива: „+vbCrLf+S+vbCrLF+ _

“Максимальное значение= „+STR(Max)

End Sub

Результат работы этой программы:

OptionExplicit' Найти сумму элементов массива

Sub Primer6( )

Dim A(1 To 5) As Single

Dim i As Byte, S As String, Sum As Single

S=“»

For i=1 To 5

A(i)= VAL(InputBox(«A(» +STR(i)+ ")= ", "",""))

S = S+ «A(» +STR(i)+ ")="+STR(A(i))+" "

Next i

Sum=0

For i=1 To 5

Sum=Sum+A(i)

Next i

MsgBox "Содержимоемассива: "+vbCrLf+S+vbCrLF+ _

«Сумма= „+STR(Sum)

End Sub

OptionExplicit' Найти сумму

SubPrimer7( ) ' чётных значений массива

Dim A(1 To 5) As Single

Dim i As Byte, S As String, Sum As Single

S=“»

For i=1 To 5

A(i)= VAL(InputBox(«A(» +STR(i)+ ")= ", "",""))

S = S+ «A(» +STR(i)+ ")="+STR(A(i))+" "

Next i

Sum=0

For i=1 To 5

If A(i) mod 2=0 Then Sum=Sum+A(i)

Next i

MsgBox "Содержимоемассива: "+vbCrLf+S+vbCrLF+ _

«Сумма чётных значений= „+STR(Sum)

EndSub

OptionExplicit' Подсчитать количество

SubPrimer8( ) ' чётных значений массива

Dim A(1 To 5) As Single

Dim I, N As Byte, S As String

S=“»

For i=1 To 5

A(i)= VAL(InputBox(«A(» +STR(i)+ ")= ", "",""))

S = S+ «A(» +STR(i)+ ")="+STR(A(i))+" "

Next i

N=0

For i=1 To 5

If A(i) mod 2=0 Then N=N+1

Next i

MsgBox "Содержимоемассива: "+vbCrLf+S+vbCrLF+ _

«Количество чётных значений= „+STR(N)

EndSub

136
RSS
Нет комментариев. Ваш будет первым!
Загрузка...
Этот сайт использует файлы cookies, чтобы облегчить вам пользование нашим веб-сайтом. Продолжая использовать этот веб-сайт, вы даете согласие на использование файлов cookies. Подробнее о том, как мы пользуемся файлами cookies и как ими управлять, вы можете узнать нажав на ссылку ниже.