Программный элемент поиск / 10
.docx
Задание №1
1. Постановка задачи
1.1. Словесное описание задачи:
Напечатать значения минимальных элементов вектора W размерности h среди элементов, стоящих на чётных и нечётных местах.
1.2. Состав входных и выходных данных:
Входные данные: h – переменная целого типа, W – массив данных вещественного типа.
Выходные данные: M1 – переменная вещественного типа, M2 – переменная вещественного типа.
2. Математическая модель задачи: M1=W1 Если M1>Wi, то M1=Wi, где i – только нечётные числа 1 ≤ i ≤ h. M2=W2 Если M2>Wi, то M2=Wi, где i – только чётные числа 1 ≤ i ≤ h.
3. Схема алгоритма
4. Код программы
Private Sub Command1_Click()
Dim h As Integer, W() As Single, i As Integer, M1 As Single, M2 As Single
h = InputBox("h=")
ReDim W(1 To h)
Print "{W}="
For i = 1 To h
W(i) = InputBox("W(" & i & ")=")
Print W(i),
Next
M1 = W(1)
i = 3
Do While i <= h
If M1 > W(i) Then
M1 = W(i)
End If
i = i + 2
Loop
M2 = W(2)
i = 4
Do While i <= h
If M2 > W(i) Then
M2 = W(i)
End If
i = i + 2
Loop
Print "Наименьшее нечётное: " & M1
Print " Наименьшее чётное: " & M2
End Sub
5. Отладка кода программы
Задание №2
1. Постановка задачи
1.1. Словесное описание задачи:
Напечатать индексы отрицательных элементов нечётных строк матрицы A размерности d×k.
1.2. Состав входных и выходных данных:
Входные данные: d – переменная целого типа, k – переменная целого типа, A – массив данных вещественного типа.
Выходные данные: i – переменная целого типа, j – переменная целого типа.
2. Математическая модель задачи: Если Aij<0, то напечатать i и j, где i – только нечётные числа 1 ≤ i ≤ d; 1 ≤ j ≤ k.
3. Схема алгоритма
4. Код программы
Private Sub Command1_Click()
Dim d As Integer, k As Integer, A() As Single, i As Integer, P As Single, j As Integer, f as Boolean
d = InputBox("d=")
k = InputBox("k=")
ReDim A(1 To d, 1 To k)
Print "{A}="
For i = 1 To d
For j = 1 To k
A(i, j) = InputBox("A(" & i & ", " & j & ")=")
Print A(i, j),
Next
Next
f = False
i = 1
Print "Индексы отрицательных эл. нечётных строк:"
Print "i", "j"
Do While i <= d
j = 1
Do While j <= k
If A(i, j) < 0 Then
F = True
Print i, j
End If
j = j + 1
Loop
i = i + 2
Loop
If f = False Then
Print "Отрицательных эл. нет"
End If
End Sub
5. Отладка кода программы