Программный элемент поиск / 15 (2)
.docxЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №6
«ПРОГРАММНЫЙ ЭЛЕМЕНТ ПОИСК»
ВАРИАНТ 15
1.1 Словесное описание задачи:
Найти наименьший из последних K элементов вектора R и присвоить его значение первому элементу.
Проанализировать выполнение программы на примере K = 4;
R = {2; -6; -2; -3; -4; 0}
1.2 Описание постановки задачи:
Состав входных и выходных данных:
Входные данные:
{R} – массив вещественных чисел, N – переменная целого типа, K – переменная целого типа.
Выходные данные:
{R} – массив вещественных чисел.
1.3 Математическое описание задачи:
R1 = RK
Если RN-K+i < R1, то R1 = Ri, где i = 1, 2, … K-1
1.4 Схема алгоритма решения задачи:
1.5 Листинг кода программы:
Private Sub Command1_Click()
Dim R() As Single, i As Integer, N As Integer, K As Integer
N = InputBox("Введите размерность массива")
ReDim R(1 To N)
Print "{R}=";
For i = 1 To N
R(i) = InputBox("R(" & i & ")=")
Print R(i);
Next
K = InputBox("K=")
R(1) = R(K)
For i = 1 To K - 1
If R(N - K + i) < R(1) Then
R(1) = R(N - K + i)
End If
Next
Print "Изменённый массив при K=" & K
Print "{R}=";
For i = 1 To N
Print R(i);
Next
End Sub
1.6 Выполнение проекта:
2.1 Словесное описание задачи:
Напечатать индексы положительных элементов матрицы K размерности M × M.
Для отладки программы контрольный вариант выбрать самостоятельно.
2.2 Описание постановки задачи
Состав входных и выходных данных:
Входные данные:
M – переменная целого типа, {K} – массив вещественных чисел.
Выходные данные:
i – переменная целого типа, j – переменная целого типа.
2.3 Математическое описание задачи:
F = False
Если Ki > 0, то F = True и напечатать i и j, где i = 1, 2, … M; j = 1, 2, … M.
2.4 Схема алгоритма решения задачи:
2.5 Листинг кода программы:
Private Sub Command1_Click()
Dim M As Integer, i As Integer, j As Integer, K() As Single, F As Boolean
M = InputBox("Введите размерность массива")
ReDim K(1 To M, 1 To M)
Print "{K}="
For i = 1 To M
For j = 1 To M
K(i, j) = InputBox("K(" & i & "," & j & ")=")
Print K(i, j),
Next
Next
Print "Положительные элементы:"
F = False
For i = 1 To M
For j = 1 To M
If K(i, j) > 0 Then
F = True
Print "K(" & i & "," & j & ")"
End If
Next
Next
If F = False Then
Print "Положительных элементов нет в массиве"
End If
End Sub
2.6 Выполнение проекта: