Программный элемент поиск / 7 (2)
.docxЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №6
«ПРОГРАММНЫЙ ЭЛЕМЕНТ ПОИСК»
ВАРИАНТ 7
1.1) Словесное описание задачи:
Найти наибольший и наименьший элементы одномерного массива R7 размерности M. Найденные элементы поменять местами.
Проанализировать выполнение программы на примере:
R7={3; 2; 7; 2; 1; 9; 1; 6; 5}
1.2) Описание постановки задачи:
Состав входных и выходных данных:
Входные данные:
M – переменная целого типа,
{R7} – массив вещественных чисел.
Выходные данные:
max – переменная вещественного типа, min – переменная вещественного типа.
1.3) Математическое описание задачи:
min=R71 Если min>R7i, то min=R7i; a=i
где i=1, 2, … M
max=R71 Если max<R7i, то max=R7i; b=i
где i=1, 2, … M
R7a=max
R7b=min
1.4) Схема алгоритма решения задачи:
1.5) Листинг кода программы:
Private Sub Command1_Click()
Dim M As Integer, R7() As Single, min As Single, max As Single
Dim i As Integer, a As Integer, b As Integer
M = InputBox("M=")
ReDim R7(1 To M)
Print "R7 (inp)"
For i = 1 To M
R7(i) = InputBox("R7(" & i & ")=")
Print R7(i) & " ";
Next
min = R7(1)
max = R7(1)
For i = 2 To M
If min > R7(i) Then
min = R7(i)
a = i
End If
If max < R7(i) Then
max = R7(i)
b = i
End If
Next
R7(a) = max
R7(b) = min
Print "R7 (exp)"
For i = 1 To M
Print R7(i) & " ";
Next
End Sub
1.6) Выполнение проекта:
2.1) Словесное описание задачи:
Определить и напечатать индексы всех элементов со значением M чётных столбцов матрицы NB8 размерности K × L. Проанализироать выполнение программы на примере M=2
2.2) Описание постановки задачи
Состав входных и выходных данных:
Входные данные:
K – перменная целого типа,
L – перменная целого типа,
{NB8} – массив вещественных чисел, M – перменная целого типа,
Выходные данные:
i – перменная целого типа,
j – перменная целого типа.
2.3) Математическое описание задачи:
Если NB8ij=M, то напечатать i и j где i=1, 2,….., K; j=2, 4,….., L;
2.4) Схема алгоритма решения задачи:
2.5) Листинг кода программы:
Private Sub Command1_Click()
Dim K As Integer, L As Integer, NB8() As Single, M As Integer, i As Integer, j As Integer, fl as Boolean
K = InputBox("K=")
L = InputBox("L=")
ReDim NB8(1 To K, 1 To L)
Print "NB8="
For i = 1 To K
For j = 1 To L
NB8(i, j) = InputBox("NB8(" & i & ", " & j & ")=")
Print NB8(i, j) & " ";
Next
Next
M = InputBox("M=")
Print "Индексы элементов равных " & M & ":"
fl = False
For i = 1 To K
For j = 2 To L Step 2
If NB8(i, j) = M Then
Print i & " " & j
End If
Next
Next
If fl = False then
Print "Элементов равных M нет"
End If
End Sub
2.6) Выполнение проекта: