Написать программу для нахождения корней системы уравнений методом Гаусса - VB
Формулировка задачи:
Здравствуйте
помогите пожалуйста
Составить алгоритм и написать программу для нахождения корней системы уравнений методом Гаусса. Представить в отчете аналитическое решение и результаты программного расчета.
12x-4y-5z=11 11x+y+z=12 -3x-2y-14z=14
Решение задачи: «Написать программу для нахождения корней системы уравнений методом Гаусса»
textual
Листинг программы
- Option Base 1
- Sub matriza()
- Dim z As String
- Dim z1 As String
- Dim z2 As String
- Dim z3 As String
- Dim i As Integer
- Dim u As Integer
- Dim l As Integer
- Dim l1 As Integer
- Dim n As Integer
- z = ""
- z1 = ""
- z2 = ""
- z3 = ""
- y = 1
- u = 1
- n = InputBox("Введите количество неизвестных(кол-во уравнений системы)")
- ReDim a(n, n + 1)
- ReDim r(n, n + 1)
- MsgBox "Размер матрицы А " & n + 1 & "х" & n
- 'ЗАПОЛНЕНИЕ МАТРИЦЫ
- For l = 1 To n Step 1
- For l1 = 1 To n + 1 Step 1
- a(y, u) = InputBox("Введите число a(" & y & "," & u & ")")
- r(y, u) = a(y, u)
- z = z & a(y, u) & " | "
- u = u + 1
- Next l1
- z = z & " " & Chr(13)
- u = 1
- y = y + 1
- Next l
- 'ОТОБРАЖЕНИЕ МАТРИЦЫ
- MsgBox "Введенная матрица" & Chr(13) & z
- If n = 3 Then
- MsgBox "Уравнение:" & Chr(13) & a(1, 1) & "х+" & "(" & a(1, 2) & ")" & "y+" & "(" & a(1, 3) & ")" & "z=" & a(1, 4) & Chr(13) & a(2, 1) & "х+" & "(" & a(2, 2) & ")" & "y+" & "(" & a(2, 3) & ")" & "z=" & a(2, 4) & Chr(13) & a(3, 1) & "х+" & "(" & a(3, 2) & ")" & "y+" & "(" & a(3, 3) & ")" & "z=" & a(3, 4)
- End If
- z = ""
- ReDim x(n)
- ReDim q(n)
- 'ПЕРЕСТРОЙКА МАТРИЦЫ
- For k = 2 To n Step 1
- For p = k To n Step 1
- m = a(k - 1, k - 1) / a(p, k - 1)
- For f = k - 1 To n + 1 Step 1
- a(p, f) = a(k - 1, f) - a(p, f) * m
- Next f
- Next p
- Next k
- 'РАСЩЕТ Х
- x(n) = a(n, n + 1) / a(n, n)
- For i = n - 1 To 1 Step -1
- s = 0
- For j = i + 1 To n Step 1
- s = s + x(j) * a(i, j) / a(i, i)
- Next j
- x(i) = (a(i, n + 1) / a(i, i)) - s
- Next i
- 'ВЫВОД ОТВЕТА
- For b = 1 To n Step 1
- z1 = z1 & x(b) & Chr(13)
- Next b
- MsgBox "Ответы:" & Chr(13) & z1
- 'ПРОВЕРКА
- For t = 1 To n Step 1
- For o = 1 To n Step 1
- If o = 1 Then
- q(t) = r(t, o) * x(o)
- Else
- q(t) = q(t) + r(t, o) * x(o)
- End If
- Next o
- z2 = z2 & q(t) & Chr(13)
- z3 = z3 & r(t, n + 1) & Chr(13)
- Next t
- MsgBox "ПРОВЕРКА:" & Chr(13) & z2 & Chr(13) & "Исходные данные:" & Chr(13) & z3
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д