Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа № 9 Стасюк М.Ю.
Тема: Операции с двумерными массивами.
Среднее арифметическое:
Код программы:
Option Explicit
Dim N As Single, M As Integer
Dim A() As Single
Dim L() As Single, S() As Single
Dim i As Integer, j As Integer
Dim st As Single, Min As Single, Max As Single
Dim h As Integer, K As Integer
Private Sub Command1_Click()
N = Val(InputBox("Укажите число строк"))
M = Val(InputBox("Укажите число столбцов"))
ReDim A(N, M) As Single
ReDim L(M) As Single
For i = 1 To N
For j = 1 To M
A(i, j) = Val(InputBox("Элемент массива", "Ввод элементов"))
Next j
Next i
For i = 1 To N
For j = 1 To M
Print A(i, j),
Next j
Next i
End Sub
Private Sub Command2_Click()
st = 0
h = 1
For j = 1 To M
Min = A(1, j)
For i = 1 To N
If A(i, j) < Min Then
Min = A(i, j)
End If
Next i
L(j) = Min
Load Label1(h)
Label1(h).Top = Label1(h - 1).Top + Label1(h - 1).Height
Label1(h).Caption = L(j)
Label1(h).Visible = True
h = h + 1
Next j
st = 0
h = 1
For j = 1 To M
Max = A(1, j)
For i = 1 To N
If A(i, j) > Max Then
Max = A(i, j)
End If
Next i
L(j) = Max
Load Label2(h)
Label2(h).Top = Label2(h - 1).Top + Label2(h - 1).Height
Label2(h).Caption = L(j)
Label2(h).Visible = True
Load Label3(h)
Label3(h).Top = Label3(h - 1).Top + Label3(h - 1).Height
Label3(h).Caption = Val(Label1(h).Caption) + L(j)
Label3(h).Visible = True
h = h + 1
Next j
End Sub
Private Sub Command3_Click()
K = 0
For j = 1 To M
K = K + Val(Label3(j).Caption)
Next j
st = K / M
MsgBox "результат=" & st, vbExclamation, "Среднее значение"
End Sub
Private Sub Command4_Click()
End
End Sub
Контрольные вопросы:
Объявление массива фиксированного размера зависит от области его видимости и осуществляется следующим образом:
При объявлении массива после его имени в круглых скобках указывается верхняя граница массива. По умолчанию нижней границей массива является 0. Например, в приведенном ниже коде, который вводится в секцию Declaration модуля, задается массив из 21 элемента. Индекс элементов массива изменяется от 0 до 20:
Dim intCountPar (20) As Integer
В случае, когда размер массива заранее неизвестен. Visual Basic позволяет использовать динамические массивы, размеры которых можно изменять во время выполнения. Применение динамических массивов позволяет эффективно управлять памятью, выделяя память под большой массив лишь на то время, когда этот массив используется, а затем освобождая ее.
Создание динамического массива осуществляется следующим образом:
1. Объявляется массив с помощью ключевых слов, используемых при создании массива фиксированного размера. Список размерностей массива остается пустым. При объявлении глобального массива необходимо выбрать ключевое слово Public, при объявлении массива на уровне модуля Dim, при объявлении массива в процедуре Dim или static. Например,
Dim intCountPar О As Integer
2. С помощью выполняемого оператора ReDim указывается размерность массива в виде числа или выражения. Синтаксис оператора ReDim аналогичен синтаксису оператора объявления массива фиксированного размера. Например, размерность массива может быть задана любым из следующих способов:
ReDim intCountPar (х)
ReDim intCountPar (20)
ReDim intCountPar (1 То 20)
При выполнении оператора ReDim данные, размещенные в массиве ранее, теряются. Это удобно в том случае, если данные вам больше не нужны и вы хотите переопределить размерность массива и подготовить его для размещения новых данных. Если вы хотите изменить размер массива, не потеряв при этом данных, то необходимо воспользоваться оператором ReDim с ключевым словом Preserve. Например, приведенный ниже программный код увеличивает размер массива на единицу без потери хранящихся в массиве данных:
ReDim Preserve intCountPar (X + 1)
For i = 1 To N
For j = 1 To m
Print A(i, j),
Next j
Next i