Решение систем линейных уравнений на Visual Basic методом Крамера
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?тоит из раздела меню Файл(подменю На главное, Решить СЛАУ и Выход) и Справка(подменю О методе). При нажатие на кнопку На главное откроется титульная форма, а использованная информационная форма закроется, при нажатие на кнопку Решить СЛАУ - форма ввода размерности системы.
Вызвать данные формы возможно из меню Справка любой формы, кроме формы ввода размерности системы:
Справка > О создателе.
Меню формы Form5 (Метод Крамера) состоит из раздела меню Файл, имеющий подменю На главное, Решить СЛАУ и Выход, которые выполняют процессы, соответствующие форме информации о создателе.
3. Создание программ
.1 Ввод данных
Данная программа запускаться при нажатии кнопки ENTER на клавиатуре, при котором будет вводиться данные из TextBox1, расположенной на основной форме (Form3). При активации Form3 переменным i и j присваиваются значение 1.
Блок-схема программы:
Текст программы:Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
If (i <= n) And (j <= n + 1) Then
If j = n + 1 Then
b(i) = Val(Text1.Text)
Picture2.Print Format(b(i), " ##0")
Picture1.Print
Else
a(i, j) = Val(Text1.Text)
Picture1.Print Format(a(i, j), " ##0 ");
End If
Text1.Text = " "
If j = n + 1 Then
j = 0
i = i + 1
End If
j = j + 1
End If
End If
Sub
3.2 Основная программа
Данная программа запускаться при нажатии кнопки Решить, расположенной на основной форме (Form3). Программа имеет входные данные (матрица с неизвестными переменными и матрица, не имеющий неизвестные переменные), промежуточные и конечное выходные данные. При активации Form3 переменной n присваивается значение от 2 до 10.
Блок-схема программы:
Текст программы:Sub Command1_Click().Clsk = 1 To n(k) = 1
For i = 1 To n
For j = 1 To n
If j = k Then
c(i, j) = b(i)
Else
c(i, j) = a(i, j)
End If
'Picture2.Print Format(c(i, j), "##0.0##"),
Next
'Picture2.Print
Next
m1 = c(n - 1, n - 1) * c(n, n) - c(n - 1, n) * c(n, n - 1)m1 = 0 Then
For j = 1 To n
t = a(n, j)
c(n, j) = c(i, j)
c(i, j) = t
NextIfWhile m1 = 0
For j = 1 To n - 2
z = j + 1
If c(j, j) = 0 Then
If c(z, j) <> 0 Then
For z1 = j To n
w = c(j, z1)
c(j, z1) = c(z, z1)
c(z, z1) = w
Next
End If
End If
For i = j + 1 To n
h1 = c(i, j) / c(j, j)
For r = j To n
'Picture2.Print h1
c(i, r) = c(i, r) - c(j, r) * h1
Next
Next
d(k) = (-1)*d(k) * c(j, j)= c(n - 1, n - 1) * c(n, n) - c(n - 1, n) * c(n, n - 1)(k) = d(k) * m1
'Picture2.Print d(k)
'----------------------------= 1= a(n - 1, n - 1) * a(n, n) - a(n - 1, n) * a(n, n - 1)m1 = 0 Then
For j = 1 To n
t = a(n, j)
a(n, j) = a(i, j)
a(i, j) = t
NextIfWhile m1 = 0
j = 1 To n - 2
z = j + 1
If a(j, j) = 0 Then
If a(z, j) <> 0 Then
For z1 = j To n
w = a(j, z1)
a(j, z1) = a(z, z1)
a(z, z1) = w
Next
End If
End If
For i = j + 1 To n
h = a(i, j) / a(j, j)
For k = j To n
'Picture1.Print h
a(i, k) = a(i, k) - a(j, k) * h
Next
Next
m = m * a(j, j)= a(n - 1, n - 1) * a(n, n) - a(n - 1, n) * a(n, n - 1)= m * m1
'Picture4.Print mx = 1 To n(x) = d(x) / m.Print Format(d(x), "#0.0##")
NextSub
.3 Программа построения графика
Данная программа запускаться при активации Form4, которую можно активировать с основной формы (Form3) при нажатии кнопки Решить на рамке Графическое решение. Если число данных уравнений не будет равен двум, то кнопка активации Form4 не будет отображаться на основной форме.
Программу можно разбить на несколько этапов:
1.Вычисление шага и построение осей координат;
2.Постройка графика.
Текст программы:Sub Form_Activate()
a(1, 1) = Val(Text1.Text)
a(1, 2) = Val(Text2.Text)
a(1, 3) = Val(Text3.Text)
a(2, 1) = Val(Text4.Text)
a(2, 2) = Val(Text5.Text)
a(2, 3) = Val(Text6.Text)
'размеы picture= Picture1.Width= Picture1.Height
'точка пересечения= (a(2, 3) * a(1, 1) - a(1, 3) * a(2, 1)) / (a(2, 2) * a(1, 1) - a(1, 2) * a(2, 1))= (a(1, 3) - a(1, 2) * X2) / a(1, 1)
'шаг= Int((l - 500) / (Abs(X1) + 2))= Int((p - 500) / (Abs(X2) + 2))h1 > h2 Then h = h2 Else h = h1
'начала координатX1 > 0 Then
If X2 > 0 Then
x0 = 500
y0 = p - 500
Else
x0 = 500
y0 = 500
End If
If X2 > 0 Then
x0 = l - 500
y0 = p - 500
Else
x0 = l - 500
y0 = 500
End IfIf
'координатные оси.Line (x0, 0)-(x0, p).Line (0, y0)-(l, y0)
'построение гафика
r = Int((l - x0) / h) + 1
k = (Int(x0 / h) + 1) * (-1)= (a(1, 3) - a(1, 1) * k) / a(1, 2)= (a(2, 3) - a(2, 1) * k) / a(2, 2)= k * h
'Picture1.Line (0, 0)-(0, 100)
'Picture1.Print r, k, f1, f2, i1i = k To r Step 0.1= i * h= h * (a(1, 3) - a(1, 1) * i) / a(1, 2)= h * (a(2, 3) - a(2, 1) * i) / a(2, 2).Line (x0 + i0, y0 - f1)-(x0 + i1, y0 - fx1), RGB(0, 0, 200).Line (x0 + i0, y0 - f2)-(x0 + i1, y0 - fx2), RGB(0, 200, 0)= fx1= fx2= i1
'цифры.Line (x0, y0)-(x0 - 175, y0).Print 0Abs(k) > r Then z = k Else z = (-1) * ri = z To (-1) * zi <> 0 Then.Line (x0, y0 - i * h)-(x0 + 100, y0 - i * h).Print i.Line (x0 - i * h, y0)-(x0 - i * h, y0 + 100).Print -iIf.Line (x0 + X1 * h, y0)-(x0 + X1 * h, y0 - X2 * h), RGB(200, 0, 0).Line (x0, y0 - X2 * h)-(x0 + X1 * h, y0 - X2 * h), RGB(200, 0, 0) Sub
3.4 Программа завершения работы приложения
При выборе команды меню Файл > Выход на любой форме данного приложения запускается программа, завершающая работу приложения. После выполнения действий для запуска данной программы появляется диалоговое окно с подтверждением завершения работы приложения или отклонением.
Текст программы:Sub exit_Click()
If MsgBox("Вы действительно хотите закрыть приложение?",vbYesNo+ vbQuestion, "Exit System...") = vbNo Then
Exit Sub
End IfSub
3.5 Программы перехода между формами
линейный уравнение метод крамер
При выборе команды в меню форм или нажатие кнопки построить график на основной форме (Form2), Отменить в форме сохранения (Form5) открывается форма, которая требуется для дальнейшей работы приложения.
Текст программы перехода титульной формы(Form1):
Private Sub metod1_Click().ShowSubSub prog1_Click().Show.HideSubSub sozd1_Click().Show Sub
Текст программы перехода формы ввода размерности системы(Form2):
Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)KeyCode = 13 Then.Show.Picture1.Cls.Picture2.Cls.Picture3.Cls.HideIfSub
Текст программы перехода основной формы(Form3):
Private Sub Command2_Click().ShowSubSub glav3_Click().Show.HideSubSub metod3_Click().Show.HideSubSub sozd3_Click().Show.HideSubSub vrazm3_Click().Show3.Hide
End Sub
Текст программы перехода формы Графика(Form4):
Private Sub glav4_Click