Программный элемент поиск / 7
.docxЗадание №1
1 Постановка задачи
Найти и напечатать минимальные элементы двух векторов C и D разной размерности. Определить их сумму и разность.
Входные данные: m – размерность вектора C, переменная целого типа, С – исходный вектор 1, массив вещественного типа, n – размерность вектора D, переменная целого типа, D – исходный вектор 2, массив вещественного типа.
Выходные данные: S – сумма минимальных элементов, переменная вещественного типа, R – разность минимальных элементов, переменная вещественного типа.
2 Математическая модель
3 Разработка алгоритма
4 Разработка визуальной части проекта
На форме располагаем только командную кнопку Command1. В свойстве Caption кнопки записываем «Вычислить».
5 Код приложения
Private Sub Command1_Click()
Dim m As Integer, C() As Single, Cm As Single, n As Integer, D() As Single, Dm As Single, i As Integer, S As Single, R As Single
m = InputBox("m=")
n = InputBox("n=")
ReDim C(1 To m), D(1 To n)
Print "{C} =";
For i = 1 To m
C(i) = InputBox("C(" & i & ")=")
Print C(i);
Next
Print "{D} =";
For i = 1 To n
D(i) = InputBox("D(" & i & ")=")
Print D(i);
Next
Cm = C(1)
For i = 2 To m
If Cm > C(i) Then
Cm = C(i)
End If
Next
Dm = D(1)
For i = 2 To n
If Dm > D(i) Then
Dm = D(i)
End If
Next
S = Cm + Dm
R = Cm - Dm
Print "Сумма минимальных элементов S = " & S
Print "Разность минимальных элементов R = " & R
End Sub
6 Отладка программы
Ручной счёт:
Задание №2
1 Постановка задачи
Найти значение наибольшего элемента матрицы А размерности m×n, не превышающее значение ключа поиска F.
Входные данные: m – количество строк матрицы, переменная целого типа, n – количество столбцов матрицы, переменная целого типа, A – исходная матрица, массив вещественного типа, F – ключ поиска, переменная вещественного типа.
Выходные данные: Am – наибольший элемент, не превышающий F, переменная вещественного типа.
2 Математическая модель
3 Разработка алгоритма
4 Разработка визуальной части проекта
На форме располагаем только командную кнопку Command1. В свойстве Caption кнопки записываем «Вычислить».
5 Код приложения
Private Sub Command1_Click()
Dim A() As Single, m As Integer, n As Integer, i As Integer, j As Integer, Am As Single, Flag As Boolean, F As Single
m = InputBox("m=")
n = InputBox("n=")
ReDim A(1 To m, 1 To n)
Print "{A}="
For i = 1 To m
For j = 1 To n
A(i, j) = InputBox("A(" & i & ", " & j & ")")
Print A(i, j),
Next
Next
F = InputBox("F=")
Am = A(1, 1)
For i = 1 To m
For j = 1 To n
If Am > A(i, j) Then
Am = A(i, j)
End If
Next
Next
Flag = False
For i = 1 To m
For j = 1 To n
If Am <= A(i, j) And A(i, j) <= F Then
Flag = True
Am = A(i, j)
End If
Next
Next
If Flag = True Then
Print "Значение наибольшего элемента, не превышающего " & F & ": " & Am
Else
Print "Все элементы > " & F
End If
End Sub
6 Отладка программы
Ручной счёт:
Наибольший элемент, не превышающий 8 имеет значение 6.