bonjour,
voila j'essaye de creer une interface pour calculer le zero par dichotomie d'une fonction ln ou exp
le probleme c que je cherche a verifier f(a)*f(b)<0 qlq soit a et b
en gros je cherche une fonctionn aleatoire qui pourrait me donner des entiers négatifs et positifs a et b :
et en plus a la fin j'obtiens un encadrement avec mes valeurs initialisées c et d (1 et 4)
je suis debutante soyez indulgent
merci d'avance
je suis en galere, ca marche pas
Public Class calculzero
Dim c, d As Decimal
Dim epsilon As Decimal
Dim a, b, x, m As Decimal
Private Sub cmdcalculzero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdcalculzero.Click
a = Val(projet1.txta.Text)
b = Val(projet1.txtb.Text)
epsilon = Val(txtepsilon.Text)
Dim f_m, f_d As Double
Dim f_c As Double
c = 1
d = 4
If projet1.optln.Checked = True Then
f_c = (a * Math.Log(c) + b)
f_d = (a * Math.Log(d) + b)
f_m = (a * Math.Log(m) + b)
ElseIf projet1.optexp.Checked = True Then
f_c = (a * Math.Exp(c) + b)
f_m = (a * Math.Exp(m) + b)
f_d = (a * Math.Exp(d) + b)
End If
Do While f_c * f_d > 0
Randomize()
c = CInt(Int((50 * Rnd()) + 1))
d = CInt(Int((-50 * Rnd()) + 1))
Loop
Do While (c - d) > 2 * epsilon
m = (c + d) / 2
If projet1.optln.Checked = True Then
f_m = (a * Math.Log(m) + b)
ElseIf projet1.optexp.Checked = True Then
f_m = (a * Math.Exp(m) + b)
End If
If f_c * f_m > 0 Then
c = m
Else
d = m
End If
Loop
If c < d Then
txtresultatzero.Text = c & " < k < " & d
Else
txtresultatzero.Text = d & " < k < " & c
End If
End Sub
Private Sub cmdquittercalculzero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdquittercalculzero.Click
Me.Close()
End Sub
End Class