Racine(s) d'un polynome du second degré

Description

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

Codes Sources

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.