Решение систем линейных уравнений на 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