Ce programme permet de calculer la (les) racine(s) d'un polynome du second degré.
C'est mon premier programme il n'est pas ultra interessant mais jaimerais voir si il marche et si des optimisations sont possibles...
Le prog est cré avec le framework 2.0
Source / Exemple :
Imports System.Math
Public Class Polynome
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim discriminant, x1, x2, racinediscri, enracin, x1_, x2_, div, div1 As Decimal
Dim indicateura, indicateurb, indicateurc As Boolean
Dim a, b, c As String
Label1.Text = ""
Label2.Text = ""
Label5.Text = ""
Label6.Text = ""
Label7.Text = ""
Label8.Text = ""
Label9.Text = ""
Label11.Text = ""
Label12.Text = ""
a = a1.Text
b = b1.Text
c = c1.Text
indicateura = a Like ("###") Or a Like ("##") Or a Like ("#") Or a Like ("-#") Or a Like ("-##") Or a Like ("-###")
indicateurb = b Like ("###") Or b Like ("##") Or b Like ("#") Or b Like ("-#") Or b Like ("-##") Or b Like ("-###")
indicateurc = c Like ("###") Or c Like ("##") Or c Like ("#") Or c Like ("-#") Or c Like ("-##") Or c Like ("-###")
If indicateura = False Or indicateurb = False Or indicateurc = False Then
MsgBox("verifier vos valeurs", MsgBoxStyle.Information, "Erreur de saisie")
Else
discriminant = (b * b - (4 * a * c))
If discriminant > 0 And a <> 0 Then
racinediscri = Sqrt(discriminant)
enracin = Int(racinediscri)
x1 = (-b + racinediscri) / (2 * a)
x2 = (-b - racinediscri) / (2 * a)
x1_ = Int(x1)
x2_ = Int(x2)
div = -b / (2 * a)
div1 = Int(div)
If x1 = x1_ Then
Label7.Text = "x ="
Label5.Text = x1
Else
Label7.Text = "x ="
If div = div1 Then
Label5.Text = -b / (2 * a) & "+ã" & discriminant
Else
If racinediscri = enracin Then
Label5.Text = (-b + racinediscri) / (2 * a)
Else : Label11.Text = -b & "+ã" & discriminant & vbCrLf & "-------------" & vbCrLf & 2 * a
End If
End If
If x2 = x2_ Then
Label8.Text = "ou x ="
Label6.Text = x2
Else
Label8.Text = "ou x ="
If div = div1 Then
Label6.Text = -b / (2 * a) & "-ã" & discriminant
Else
If racinediscri = enracin Then
Label6.Text = (-b + racinediscri) / (2 * a)
Else : Label12.Text = -b & "+ã" & discriminant & vbCrLf & "-------------" & vbCrLf & 2 * a
End If
End If
End If
End If
End If
If discriminant < 0 Then
Label9.Text = " Le Polynome n'a de solution dans R"
End If
If discriminant = 0 Then
Label8.Text = -b / (2 * a)
End If
If a = 0 Then
Label9.Text = "La fonction saisie n'est pas un trinome"
Else : Label1.Text = discriminant
Label2.Text = "discriminant ="
End If
End If
End Sub
End Class
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.