Главная / Разработка алгоритмов / Ветвящийся алгоритм решения квадратного уравнения

Ветвящийся алгоритм решения квадратного уравнения

Задание. Необходимо решить квадратное уравнение:

ax²+bx+c=0,

где a=2; b=-5; c=2. Решение. Представим алгоритм решения квадратного уравнения в словесной форме.
1. Вычислить дискриминант квадратного уравнения:

D=b²-4ac,

2. Если D<0, то уравнение не имеет корней.
3. Если D=0, то уравнение имеет два одинаковых корня (то есть один).
4. Если D>0, то уравнение имеет два корня:


Таким образом, для решения квадратного уравнения необходимо использовать разветвляющийся алгоритм.
Для ввода исходных данных и вывода результатов вычисления можно использовать пользовательскую форму, например, как показано на рис. 1.


Рисунок 1


blok-shema_kv_uravn

Рисунок 2


Программа вычисления корней квадратного уравнения запускается нажатием на кнопку «Решить».
Эта программа имеет следующий вид:

Private Sub CommandButton1_Click()
a = TextBox1
b = TextBox2
c = TextBox3
d = (b ^ 2) - (4 * a * c) ' дискриминант
If d < 0 Then
TextBox4 = "Нет решения" 'X1
TextBox5 = "Нет решения" 'X2
Else TextBox4 = (-b + Sqr(d)) / (2 * a) ' Первый корень (Х1)
TextBox5 = (-b - Sqr(d)) / (2 * a) ' Второй корень (Х2)
End If
End Sub