Программный элемент поиск / Лр поиск (2)
.docxЗадание 1
1 Постановка задачи
Найти минимальный элемент вектора H размерности m. Если есть несколько элементов, имеющих минимальные значения, напечатать индексы первого и последнего из них.
Входные данные:
H – исходный вектор, массив вещественных чисел,
m – размерность вектора, целое число.
Выходные данные:
e1 – индекс 1 минимального элемента, целое число,
e2 – индекс последнего минимального элемента, целое число.
2 Математическая модель
3 Разработка алгоритма
4 Разработка визуальной части проекта
На форме располагаем только командную кнопку Command1.
В свойстве Caption кнопки записываем «Найти минимальные эл.».
5 Код приложения
Private Sub Command1_Click()
Dim m As Integer, H() As Single, e1 As Integer, e2 As Integer, f As Boolean
m = InputBox("m =")
ReDim H(1 To m)
Print "{H} = ";
For i = 1 To m
H(i) = InputBox("H(" & i & ")=")
Print H(i);
Next
e1 = 1
For i = 2 To m
If H(i) < H(e1) Then
e1 = i
f = False
ElseIf H(i) = H(e1) Then
e2 = i
f = True
End If
Next
If f = True Then
Print "Индексы первого и последнего минимальных эл.: " & e1 & " и " & e2
Else
Print "Индекс минимального эл.: " & e1
End If
End Sub
6 Отладка программы
Ручной счет: Минимальные элементы имеют индексы 2 и 4.
Задание 2
1 Постановка задачи
Напечатать элементы столбцов матрицы X, в которых обнаружены элементы, значения которых равны значению ключу поиска d.
Входные данные:
d – ключ поиска, вещественное число,
m – количество строк матрицы, целое число,
n – количество столбцов матрицы, целое число,
X – массив вещественных чисел.
Выходные данные:
xij – элементы столбцов матрицы, в которых обнаружены элементы, значения которых равны значению ключу поиска, вещественное число.
2 Математическая модель
Для 1 ≤ j ≤ n: 1 ≤ i ≤ m: Eсли xij = d, то напечатать элементы c индексами 1 ≤ i ≤ m и j и завершить внутренний цикл.
3 Разработка алгоритма
4 Разработка визуальной части проекта
На форме располагаем только командную кнопку Command1.
В свойстве Caption кнопки записываем «Поиск по ключу».
5 Код приложения
Private Sub Command1_Click()
Dim m As Integer, n As Integer, X() As Single, i As Integer, j As Integer, d As Single , k as Integer
m = InputBox("m =")
n = InputBox("n =")
ReDim X(1 To m, 1 To n)
For i = 1 To m
For j = 1 To n
X(i, j) = InputBox("X(" & i & ", " & j & ")=")
Print X(i, j),
Next
Next
d = InputBox("d =")
Print "Индексы элементов, в столбцах которых"
Print "имеется элемент равный " & d & ":"
For j = 1 To n
For i = 1 To m
If X(i, j) = d Then
For k = 1 To m
Print "(" & k & ", " & j & ")";
Next
Exit For
End If
Next
Next
End Sub
6 Отладка программы
Ручной счет: Элементы, равные ключу массива имеются в 1 и 3 столбцах.