Программный элемент поиск / 25
.docx
ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №6
«ПРОГРАММНЫЙ ЭЛЕМЕНТ ПОИСК»
1.1 Словесное описание задачи:
Определить наибольший из 6 средних элементов вектора Y размерности n=12.
Для отладки программы вектор выбрать самостоятельно.
1.2 Описание постановки задачи
Состав входных и выходных данных:
Входные данные: {Y} – массив вещественных чисел.
Выходные данные: m – переменная целого типа, Ym – переменная вещественного типа.
1.3 Математическое описание задачи:
m=4 Если Yi>Ym, то m=i, где i=5, 6, 7, 8, 9
1.4 Схема алгоритма решения задачи:
1.5 Листинг кода программы:
Private Sub Command1_Click()
Dim Y() As Single, i As Integer, m As Integer
Const n As Integer=12
ReDim Y(1 To n)
Print "{Y}"
For i = 1 To n
Y(i) = InputBox("Y(" & i & ")=")
Print Y(i) & " ";
Next
m=5
For i = 5 To 9
If Y(i)>Y(m) Then
m=i
End If
Next
Print "Наибольший из 6 средних элементов: Y(" & m & ")=" & Y(m)
End Sub
1.6 Выполнение проекта:
2.1 Словесное описание задачи:
Определить наименьший из элементов двух матриц A и B размерности M×K.
Проанализировать выполнение программы на примере:
2.2 Описание постановки задачи
Состав входных и выходных данных:
Входные данные: M – переменная целого типа, K – переменная целого типа, {A} – массив вещественных чисел. {B} – массив вещественных чисел.
Выходные данные: G – переменная целого типа, H – переменная целого типа, X – переменная вещественного типа.
2.3 Математическое описание задачи:
X=A11 Flag=False Если Aij>X, то где i=1, 2 … M; j=1, 2 … K.
Если Bij>X, то где i=1, 2 … M; j=1, 2 … K.
2.4 Схема алгоритма решения задачи:
2.5 Листинг кода программы:
Private Sub Command1_Click()
Dim A() As Single, B() As Single, M As Integer, K As Integer, Flag As Boolean
Dim i As Integer, j As Integer, G As Integer, H As Integer, X As Single
M = InputBox("M=")
K = InputBox("K=")
ReDim A(1 To M, 1 To K), B(1 To M, 1 To K)
Print "{A}="
For i = 1 To M
For j = 1 To K
A(i, j) = InputBox("A(" & i & "," & j & ")=")
Print A(i, j),
Next
Next
Print "{B}="
For i = 1 To M
For j = 1 To K
B(i, j) = InputBox("B(" & i & "," & j & ")=")
Print B(i, j),
Next
Next
X = A(1, 1)
Flag = False
For i = 1 To M
For j = 1 To K
If A(i, j) > X Then
G = i
H = j
X = A(i, j)
End If
Next
Next
For i = 1 To M
For j = 1 To K
If B(i, j) > X Then
G = i
H = j
X = A(i, j)
Flag = True
End If
Next
Next
If Flag = True Then
Print "Наибольший элемент: B(" & G & ", " & H & ")=" & X
Else
Print "Наибольший элемент: A(" & G & ", " & H & ")=" & X
End If
End Sub
2.6 Выполнение проекта: