p30suite
چهارشنبه 14 اسفند 1387, 12:47 عصر
سلام دوستان!امروز یکی از استادم یه مسئله داده که به روش نصف کردن ریشه یک معادله ای رو که داده بررسی کنیم و اون ریشه رو بدست بیاریم!
برنامه ای که نوشتم و اشکال داره رو می زارم اینجا تا راهنماییم کنید
اگر هم روش نصف کردن رو نمی دونید که من اون رو هم با الگوریتمش قرار بدم واستون
ممنونم
Private Sub Command1_Click()
a = Text1.Text
b = Text2.Text
e = Text3.Text
fa = (a ^ 3) - (5 * (a ^ 2)) - (2 * a) + 10
fb = (b ^ 3) - (5 * (b ^ 2)) - (2 * b) + 10
ft = fa * fb
If ft < 0 Then
Text4.Text = "Darad"
C = (a + b) / 2
fc = (C ^ 3) - (5 * (C ^ 2)) - (2 * C) + 10
g = fa * fc
If fc > e Then
Do While fc < e
If g < 0 Then
a = a
b = C
C = (a + b) / 2
fc = (C ^ 3) - (5 * (C ^ 2)) - (2 * C) + 10
ElseIf g > 0 Then
a = C
b = b
C = (a + b) / 2
fc = (C ^ 3) - (5 * (C ^ 2)) - (2 * C) + 10
Loop
End If
Text4.Text = C
End If
Else
Text4.Text = "Nadarad"
End If
End Sub
برنامه ای که نوشتم و اشکال داره رو می زارم اینجا تا راهنماییم کنید
اگر هم روش نصف کردن رو نمی دونید که من اون رو هم با الگوریتمش قرار بدم واستون
ممنونم
Private Sub Command1_Click()
a = Text1.Text
b = Text2.Text
e = Text3.Text
fa = (a ^ 3) - (5 * (a ^ 2)) - (2 * a) + 10
fb = (b ^ 3) - (5 * (b ^ 2)) - (2 * b) + 10
ft = fa * fb
If ft < 0 Then
Text4.Text = "Darad"
C = (a + b) / 2
fc = (C ^ 3) - (5 * (C ^ 2)) - (2 * C) + 10
g = fa * fc
If fc > e Then
Do While fc < e
If g < 0 Then
a = a
b = C
C = (a + b) / 2
fc = (C ^ 3) - (5 * (C ^ 2)) - (2 * C) + 10
ElseIf g > 0 Then
a = C
b = b
C = (a + b) / 2
fc = (C ^ 3) - (5 * (C ^ 2)) - (2 * C) + 10
Loop
End If
Text4.Text = C
End If
Else
Text4.Text = "Nadarad"
End If
End Sub