Программный элемент поиск / 19
.docx
Задание №1
Постановка задачи:
Словестное описание задачи:
Найти и напечатать значения и индексы первых K и последних N положительных элементов вектора G8 размерности M. Проанализировать выполнение программы на примере:
K=3; N=4; G8={-1; 3; 10; -8; 7; 0; 1; 20; -4; 6}
Состав входных и выходных данных:
Входные данные:
K – количество первых положительных элементов, переменная целого типа,
N – количество последних положительных элементов, переменная целого типа,
M – размерность вектора, переменная целого типа,
G8={g8i}, i= – исходный вектор, массив вещественных чисел.
Выходные данные:
i – индексы положительных элементов, переменная целого типа,
g8i – значения положительных элементов, переменная вещественного типа.
Математическая модель задачи:
Если K>0 и g8i>0, то напечатать i и g8i где i=
Если N>0 и g8i>0, то напечатать i и g8i где i=
Схема алгоритма
Код приложения
Private Sub Command1_Click()
Dim G8() As Single, i As Integer, K As Integer, N As Integer, M As Integer
K = InputBox("K=")
N = InputBox("N=")
M = InputBox("Введите размерность вектора")
ReDim G8(1 To M)
Print "G8=";
For i = 1 To M
G8(i) = InputBox("G8(" & i & ")=")
Print G8(i) & " ";
Next
Print "Первые K положительных элементов:"
Print " i"; Tab; "G8(i)"
i = 1
Do While i <= M And K > 0
If G8(i) > 0 Then
K = K - 1
Print i; Tab; G8(i)
End If
i = i + 1
Loop
Print "Последние N положительных элементов:"
Print " i"; Tab; "G8(i)"
i = M
Do While i >= 1 And N > 0
If G8(i) > 0 Then
N = N - 1
Print i; Tab; G8(i)
End If
i = i - 1
Loop
End Sub
Отладка программы
Задание №2
Постановка задачи:
Словестное описание задачи:
Определить наибольший элемент K-го столбца матрицы Q размерности N×L.
Для отладки программы значения N, L, K и Q выбрать самостоятельно.
Состав входных и выходных данных:
Входные данные:
N – количество строк матрицы, переменная целого типа,
L – количество столбцов матрицы, переменная целого типа,
K – индекс заданного столбца, переменная целого типа,
Q={qij}, где i= j= – исходная матрица, массив вещественных чисел.
Выходные данные:
m – индекс строки наибольшего элемента в столбце K, переменная целого типа,
qm,K – значение наибольшего элемента, переменная вещественного типа.
Математическая модель задачи:
m=1
Если qi,K>qm,K, то m=i где i=
Схема алгоритма:
Код приложения
Private Sub Command1_Click()
Dim Q() As Single, m As Integer, K As Integer, N As Integer, L As Integer, i As Integer, j As Integer
N = InputBox("N=")
L = InputBox("L=")
ReDim Q(1 To N, 1 To L)
Print "Q="
For i = 1 To N
For j = 1 To L
Q(i, j) = InputBox("Q(" & i & ", " & j & ")=")
Print Q(i, j) & " ";
Next
Next
K = InputBox("K=")
m = 1
For i = 2 To N
If Q(i, K) > Q(m, K) Then
m = i
End If
Next
Print "Наибольший элемент " & K & "-го столбца: Q(" & m & ", " & K & ")="; Q(m, K)
End Sub
Отладка программы