Методом половинного деления найти корень уравнения - VB (59864)
Формулировка задачи:
Есть такая вот методичка:
Мой бедный мозг кричит, что это решить нельзя.
Из исходных данных нашел это:
У кого-нибудь есть хоть какие-нибудь идею как ЭТО сделать?
Спойлер
Решение задачи: «Методом половинного деления найти корень уравнения»
textual
Листинг программы
Sub Main()
Const e = 0.0001
Dim X1#, X2#, x#, f1#, f2#, fx#
X1 = InputBox("Введите x1", , 0)
f1 = F(X1)
X2 = InputBox("Введите x2", , 10)
f2 = F(X2)
If f1 * f2 > 0 Then
MsgBox ("Функция имеет одинаковый знак на границах интервала")
Exit Sub
End If
Do
x = (X1 + X2) / 2
fx = F(x)
If f1 * fx < 0 Then
X2 = x
f2 = fx
Else
X1 = x
f1 = fx
End If
Loop Until Abs(X1 - X2) < e
x = (X1 + X2) / 2
MsgBox "x=" & x & vbTab & "F(x)=" & F(x)
End Sub
Function F(Rc As Double) As Double
'F = 2 * Log(Rc) - Rc ^ 2
F = Rc ^ 2 - 4
End Function