Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
390983.rtf
Скачиваний:
1
Добавлен:
15.09.2019
Размер:
10.92 Mб
Скачать
    1. 2.4 Форма графика системы линейного уравнения 2 ряда

Кнопка «Решить» на рамке «Графическое решение» основной формы открывает форму График (Form4) системы и запускает программу построения графика решения, если размерность системы равна 2, иначе данная кнопка не отображается.

На данную форму помещены PictureBox1, Label1, Label2, TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6.

С помощью TextBox и Label отображаются уравнения прямых. В PictureBox1 выводится график данных уравнений.

Меню данной формы состоит из раздела меню Файл и Справка. Раздел Файл имеет подменю: На главное, Решить СЛАУ и Выход. Раздел Справка имеет одно подменю – О создателе.

    1. 2.5 Информационные формы

Form4 и Form6 несут собой только информационный смысл: в Form6 (Информация о создателе) находится информация о создателе приложения, в Form5 (Метод Крамера) вкратце написано о методе Крамера.

Каждый из данных формы имеет только один объект – OLE1, в которую включен файл MS Word.

Меню формы Form6 (Информация о создателе) состоит из раздела меню Файл(подменю На главное, Решить СЛАУ и Выход) и Справка(подменю О методе). При нажатие на кнопку «На главное» откроется титульная форма, а использованная информационная форма закроется, при нажатие на кнопку «Решить СЛАУ» - форма ввода размерности системы.

Вызвать данные формы возможно из меню Справка любой формы, кроме формы ввода размерности системы:

Справка → О создателе.

Меню формы Form5 (Метод Крамера) состоит из раздела меню Файл, имеющий подменю На главное, Решить СЛАУ и Выход, которые выполняют процессы, соответствующие форме информации о создателе.

  1. 3. Создание программ

    1. 3.1 Ввод данных

Данная программа запускаться при нажатии кнопки «ENTER» на клавиатуре, при котором будет вводиться данные из TextBox1, расположенной на основной форме (Form3). При активации Form3 переменным i и j присваиваются значение 1.

Блок-схема программы:

Текст программы:

Private 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

End Sub

    1. 3.2 Основная программа

Данная программа запускаться при нажатии кнопки «Решить», расположенной на основной форме (Form3). Программа имеет входные данные (матрица с неизвестными переменными и матрица, не имеющий неизвестные переменные), промежуточные и конечное выходные данные. При активации Form3 переменной n присваивается значение от 2 до 10.

Блок-схема программы:

Текст программы:

Private Sub Command1_Click()

Picture3.Cls

For k = 1 To n

d(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)

Do

If m1 = 0 Then

For j = 1 To n

t = a(n, j)

c(n, j) = c(i, j)

c(i, j) = t

Next

End If

Loop While 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)

Next

m1 = c(n - 1, n - 1) * c(n, n) - c(n - 1, n) * c(n, n - 1)

d(k) = d(k) * m1

'Picture2.Print d(k)

Next

'----------------------------

m = 1

m1 = a(n - 1, n - 1) * a(n, n) - a(n - 1, n) * a(n, n - 1)

Do

If m1 = 0 Then

For j = 1 To n

t = a(n, j)

a(n, j) = a(i, j)

a(i, j) = t

Next

End If

Loop While m1 = 0

For 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)

Next

m1 = a(n - 1, n - 1) * a(n, n) - a(n - 1, n) * a(n, n - 1)

m = m * m1

'Picture4.Print m

For x = 1 To n

d(x) = d(x) / m

Picture3.Print Format(d(x), "#0.0##")

Next

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]