Решить уравнение четырьмя способами - VB
Формулировка задачи:
Необходимо написать программу для решения уравнения: 2 - х - lnx = 0.
Это уравнение нужно решить 4 способами в 1 проге: 1) Метод половинного деления 2) Метод хорд (линейной аппроксимации) 3)Метод касательных (Ньютона) 4) Метод итераций.
Заранее спасибо!)
Решение задачи: «Решить уравнение четырьмя способами»
textual
Листинг программы
Private Sub CommandButton1_Click() 'деление пополам Dim a!, b! a = 0.001: b = 10 Do While Abs(b - a) > 0.000001 f1 = f(a) f2 = f(b) f3 = f((a + b) / 2) If (f1 > 0 And f3 > 0) Or (f1 < 0 And f3 < 0) Then a = a / 2 + b / 2 Else b = a / 2 + b / 2 End If DoEvents Loop MsgBox a / 2 + b / 2 MsgBox (f(a / 2 + b / 2)) End Sub Function f(x As Single) As Single f = 2 - x - Log(x) End Function Private Sub CommandButton2_Click() 'метод хорд Dim a!, b!, c! a = 0.001: b = 10 Do While Abs(b - a) > 0.000001 c = b - f(b) * (b - a) / (f(b) - f(a)) a = b b = c DoEvents Loop MsgBox a / 2 + b / 2 MsgBox (f(a / 2 + b / 2)) End Sub Private Sub CommandButton3_Click() 'метод ньютона Dim a! a = 1 Do While Abs(f(a)) > 0.000001 a = a - f(a) / (-1 - 1 / a) DoEvents Loop MsgBox a MsgBox f(a) End Sub Private Sub CommandButton4_Click() 'метод итераций Dim a!, b!, c! a = 1 b = 2 - Log(a) Do While Abs(b - a) > 0.000001 c = 2 - Log(b) a = b b = c DoEvents Loop MsgBox a / 2 + b / 2 MsgBox (f(a / 2 + b / 2)) End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д