УФО_Информатика_Лаб_2 сем_VBA / Лаб_2_2_Решение квадратного уравнения
.doc
Option Explicit
Private Sub CommandButton1_Click()
'Построение графика параболы
Dim A As Single, B As Single, C As Single
Dim X As Single, Xmin As Single, Xmax As Single, dX As Single
Dim P As Single, i As Integer
'Чтение коэффициентов
A = Лист1.Cells(3, 2).Value
MsgBox ("A=" & A)
B = Лист1.Cells(3, 4).Value
MsgBox ("B=" & B)
C = Лист1.Cells(3, 6).Value
MsgBox ("C=" & C)
Xmin = Лист1.Cells(8, 2).Value
Xmax = Лист1.Cells(8, 4).Value
dX = Лист1.Cells(8, 6).Value
MsgBox ("Xmin=" & Xmin)
MsgBox ("Xmax=" & Xmax)
MsgBox ("dX=" & dX)
'Построение таблицы
i = 11 'Начальная строка таблицы
For X = Xmin To Xmax Step dX
P = A * X ^ 2 + B * X + C
Лист1.Cells(i, 1).Value = X
Лист1.Cells(i, 2).Value = P
i = i + 1
Next X
End Sub
Private Sub CommandButton2_Click()
'Решение квадратного уравнения
Dim A As Single, B As Single, C As Single
Dim D As Single, X1 As Single, X2 As Single
Dim Re As Single, Im As Single
'Чтение коэффициентов
A = Лист1.Cells(3, 2).Value
MsgBox ("A=" & A)
B = Лист1.Cells(3, 4).Value
MsgBox ("B=" & B)
C = Лист1.Cells(3, 6).Value
MsgBox ("C=" & C)
D = B ^ 2 - 4 * A * C
If D < 0 Then
Лист1.Cells(10, 4).Value = "Корни комплексные"
Лист1.Cells(11, 4).Value = "Действительная часть"
Re = -B / (2 * A)
Лист1.Cells(12, 4).Value = "Re="
Лист1.Cells(12, 5).Value = Re
Лист1.Cells(13, 4).Value = "Мнимая часть"
Лист1.Cells(14, 4).Value = "Im="
Im = Sqr(-D) / (2 * A)
Лист1.Cells(14, 5).Value = Im
Else
Лист1.Cells(10, 4).Value = "Корни вещественные"
Лист1.Cells(11, 4).Value = "Первый корень"
X1 = (-B + Sqr(D)) / (2 * A)
Лист1.Cells(12, 4).Value = "X1="
Лист1.Cells(12, 5).Value = X1
Лист1.Cells(13, 4).Value = "Второй корень"
X2 = (-B - Sqr(D)) / (2 * A)
Лист1.Cells(14, 4).Value = "X2="
Лист1.Cells(14, 5).Value = X2
End If
End Sub