Private Sub CommandButton1_Click()
' Пункт 4: Если вместо числа введена буква, выводим ошибку и выходим
If Not (IsNumeric(TextBox1.Text) And IsNumeric(TextBox2.Text) And IsNumeric(TextBox3.Text)) Then
MsgBox "Введите число", vbCritical, "Ошибка ввода"
Exit Sub
End If
' Объявление переменных
Dim a As Double, b As Double, c As Double
Dim d As Double, x1 As Double, x2 As Double
' Считывание коэффициентов из полей
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)
' Вывод самого уравнения на форму (как на скриншоте в image.png)
Label1.Caption = "Уравнение: " & a & "x^2 + (" & b & ")x + (" & c & ") = 0"
' Формула: Дискриминант D = b^2 - 4ac
d = b ^ 2 - 4 * a * c
Label2.Caption = "Дискриминант: " & d
' Проверка условий для корней
If d < 0 Then
' Если D < 0, то уравнение не имеет действительных корней
Label3.Caption = "Ответ: Уравнение не имеет действительных корней"
ElseIf d = 0 Then
' Если D = 0, то один корень
x1 = -b / (2 * a)
Label3.Caption = "Ответ:" & vbCrLf & "Уравнение имеет один корень" & vbCrLf & "x = " & x1
Else
' Если D > 0, то два корня
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
Label3.Caption = "Ответ:" & vbCrLf & "Уравнение имеет два корня" & vbCrLf & "x1 = " & x1 & vbCrLf & "x2 = " & x2
End If
End Sub