Решить уравнение четырьмя способами - VB

Формулировка задачи:

Необходимо написать программу для решения уравнения: 2 - х - lnx = 0. Это уравнение нужно решить 4 способами в 1 проге: 1) Метод половинного деления 2) Метод хорд (линейной аппроксимации) 3)Метод касательных (Ньютона) 4) Метод итераций. Заранее спасибо!)

Код к задаче: «Решить уравнение четырьмя способами - VB»

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
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

15   голосов, оценка 3.733 из 5


СДЕЛАЙТЕ РЕПОСТ