Resolution d'equations du troisieme degre'

Contenu du snippet

Option Explicit
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Long
Private Sub Command1_Click()
Const PI As Single = 3.14159265358979
Dim e As Long
Dim f As Long
Dim g As Long
Dim p As Long
Dim q As Long
Dim k As Long
Dim x As Integer
Dim t As Integer
Dim s1 As Long
Dim s2 As Long
Dim s3 As Long
Dim s4 As Long
Dim s5 As Long
Dim s6 As Long
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = Val(Text4.Text)
On Error Resume Next
e = b / (3 * a)
f = c / a
g = d / a
p = (-3 * (e ^ 2)) + f
q = (2 * (e ^ 3)) - (e * f) + g
k = ((4 * (p ^ 3)) / 27) + (q ^ 2)
If k < 0 Then
x = ((3 * q) / (2 * p)) * Sqr(-3 / p)
t = (1 / 3) * (Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1))
s1 = -e + Sqr(-4 * p / 3) * Cos(t)
s2 = -e + Sqr(-4 * p / 3) * Cos(t + 2 * PI / 3)
s3 = -e + Sqr(-4 * p / 3) * Cos(t + 4 * PI / 3)
Text1.Text = " Les trois solutions sont : " & s1 & " et " & s2 & " et " & s3
Text2.Text = " "
Text3.Text = " "
Text4.Text = " "
ElseIf k = 0 Then
s4 = -e - ((4 * q) ^ (1 / 3))
s5 = -e + ((q / 2) ^ (1 / 3))
Text1.Text = " Les deux solutions sont : " & s4 & " et " & s5
Text2.Text = " "
Text3.Text = " "
Text4.Text = " "
Else
s6 = -e + (((-q + Sqr(k)) / 2) ^ (1 / 3)) - (((q + Sqr(k)) / 2) ^ (1 / 3))
Text1.Text = " La solution est : " & s6
Text2.Text = " "
Text3.Text = " "
Text4.Text = " "
End If
End Sub
Private Sub Command2_Click()
Text1.Text = " "
Text2.Text = " "
Text3.Text = " "
Text4.Text = " "
Text1.SetFocus
End Sub

Source / Exemple :


Anciens livres de math

Conclusion :


Des erreurs dans ce programme que je n'arrive pas a devoiler surtout
l'utilisation des variables. Je vous demande de m'aider

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.