MatrVektVB
.doc
Option Explicit
Private Sub Form_Click()
Dim i As Integer, J As Integer
Dim A(4, 4) As Single, B(4, 4) As Single
Dim MinA As Single, MinB As Single
Print "Матрица А"
For i = 1 To 4
For J = 1 To 4
A(i, J) = 2 * Sin(i / Sqr(16 - J))
B(i, J) = ((1 + (i + J) * J) / (i * (J + 1)) * 4 ^ (i - J))
Print Format(A(i, J), "00.00"),
Next J
Next i
Print "MinA - MinB = "; Min(A) - Min(B)
End Sub
Function Min(M() As Single)
Dim i As Integer, J As Integer, Mn As Single
Mn = M(1, 1)
For i = 1 To 4
For J = 1 To 4
If M(i, J) <= Mn Then Mn = M(i, J)
Next J
Next i
Min = Mn
End Function
35. Вычислить матрицу и найти сумму элементов главной диагонали этой матрицы.
Option Explicit
Private Sub Form_Click()
Dim i As Integer, J As Integer, k As Integer
Dim A(4, 4) As Single, B(4, 4) As Single, C(4, 4) As Single
Dim D(4, 4) As Single, S As Single
For i = 1 To 4
For J = 1 To 4
A(i, J) = 2 * Sin(i / Sqr(16 - J))
B(i, J) = ((1 + (i + J) * J) / (i * (J + 1)) * 4 ^ (i - J))
C(i, J) = (5 * Log(2) - Exp(i + J)) / (4 ^ Abs(i - J) + 5)
D(i, J) = A(i, J) / 3 + 2 * B(i, J) - C(J, i)
Next J
Next i
S = 0
For i = 1 To 4
S = S + D(i, i)
Next i
Print "S = "; S
End Sub
36. Вычислить среднее геометрическое модулей наибольшего и наименьшего элементов матрицы С.
Option Explicit
Private Sub Form_Click()
Dim i As Integer, J As Integer
Dim C(4, 4) As Single
Dim SG As Single, Max As Single, Min As Single
For i = 1 To 4
For J = 1 To 4
C(i, J) = (5 * Log(2) - Exp(i + J)) / (4 ^ Abs(i - J) + 5)
Print Format(C(i, J), "00.00"),
Next J
Next i
Max = C(1, 1)
Min = C(1, 1)
For i = 1 To 4
For J = 1 To 4
If C(i, J) > Max Then Max = C(i, J)
If C(i, J) < Min Then Min = C(i, J)
Next J
Next i
SG = Sqr(Abs(Max) * Abs(Min))
Print "SG = "; SG
End Sub
37. Определить матрицу D = k ( А + С), где k наименьший элемент матрицы В.
Option Explicit
Private Sub Form_Click()
Dim i As Integer, J As Integer
Dim A(4, 4) As Single, B(4, 4) As Single, C(4, 4) As Single
Dim D(4, 4) As Single, k As Single
For i = 1 To 4
For J = 1 To 4
A(i, J) = 2 * Sin(i / Sqr(16 - J))
B(i, J) = ((1 + (i + J) * J) / (i * (J + 1)) * 4 ^ (i - J))
C(i, J) = (5 * Log(2) - Exp(i + J)) / (4 ^ Abs(i - J) + 5)
Print Format(A(i, J), "00.00"),
Next J
Next i
k = B(1, 1)
For i = 1 To 4
For J = 1 To 4
If B(i, J) < k Then k = B(i, J)
Next J
Next i
For i = 1 To 4
For J = 1 To 4
D(i, J) = k * (A(i, J) + C(i, J))
Print Format(D(i, J), "00.00"),
Next J
Next i
End Sub
38. Переписать все элементы В по строкам с сохранением порядка следования элементов в вектор Z.
Option Explicit
Private Sub Form_Click()
Dim i As Integer, J As Integer, k As Integer
Dim B(4, 4) As Single, Z(16) As Single
For i = 1 To 4
For J = 1 To 4
B(i, J) = ((1 + (i + J) * J) / (i * (J + 1)) * 4 ^ (i - J))
Print Format(B(i, J), "00.00"),
Next J
Next i
k = 0
For i = 1 To 4
For J = 1 To 4
k = k + 1
Z(k) = B(i, J)
Next J
Next i
For i = 1 To 16
Print Format(Z(i), "00.00")
Next i
End Sub
39. Вычислить сумму элементов матрицы D, определяемой формулой , где ВТ транспонированная матрица В, а С 2 = С С .
Option Explicit
Private Sub Form_Click()
Dim i As Integer, J As Integer, k As Integer
Dim A(4, 4) As Single, B(4, 4) As Single, C(4, 4) As Single
Dim D(4, 4) As Single, P(4, 4) As Single, S As Single
For i = 1 To 4
For J = 1 To 4
A(i, J) = 2 * Sin(i / Sqr(16 - J))
B(i, J) = ((1 + (i + J) * J) / (i * (J + 1)) * 4 ^ (i - J))
C(i, J) = (5 * Log(2) - Exp(i + J)) / (4 ^ Abs(i - J) + 5)
Next J
Next i
For i = 1 To 4
For J = 1 To 4
P(i, J) = 0
For k = 1 To 4
P(i, J) = P(i, J) + B(i, k) * C(k, J)
Next k
Next J
Next i
S = 0
For i = 1 To 4
For J = 1 To 4
D(i, J) = (1 / 3) * A(i, J) + B(J, i) - P(i, J)
S = S + D(i, J)
Next J
Next i
Print "S = "; S
End Sub
40. Вычислить матрицу D по формуле D = А (С В). Получить новую матрицу F, умножив положительные элементы матрицы D на 5.
Option Explicit
Private Sub Form_Click()
Dim i As Integer, J As Integer, k As Integer
Dim A(4, 4) As Single, B(4, 4) As Single, C(4, 4) As Single
Dim D(4, 4) As Single, P(4, 4) As Single, R(4, 4) As Single
Dim F(4, 4) As Single
For i = 1 To 4
For J = 1 To 4
A(i, J) = 2 * Sin(i / Sqr(16 - J))
B(i, J) = ((1 + (i + J) * J) / (i * (J + 1)) * 4 ^ (i - J))
C(i, J) = (5 * Log(2) - Exp(i + J)) / (4 ^ Abs(i - J) + 5)
R(i, J) = C(i, J) - B(i, J)
Next J
Next i
For i = 1 To 4
For J = 1 To 4
D(i, J) = 0
For k = 1 To 4
D(i, J) = D(i, J) + A(i, k) * R(k, J)
Next k
Print Format(D(i, J), "00.00"),
Next J
Next i
For i = 1 To 4
For J = 1 To 4
If D(i, J) > 0 Then
F(i, J) = 5 * D(i, J)
Else
F(i, J) = D(i, J)
End If
Print Format(F(i, J), "00.00"),
Next J
Next i
End Sub