Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RACINE(S) D'UN POLYNOME DU SECOND DEGRÉ


Information sur la source

Catégorie :VB.NET Source .NET ( DotNet ) Classé sous : racine, polynome, second, degré Niveau : Débutant Date de création : 03/11/2005 Vu / téléchargé: 12 975 / 264

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

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

  • 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
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

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de typhoon_74 le 03/11/2005 20:49:58

J'ai vite fait regardé , il y a des choses intéressantes. Juste un parenthèse inutile :

(b * b - (4 * a * c)) ' tu as écris
(b * b - 4 * a * c ) ' aurais suffit ;)

Continue ainsi !

signaler à un administrateur
Commentaire de tiboooo le 03/11/2005 20:57:17

Merci pour la parenthèse inutile je savais pas trop si visual basic gerait bien les priorités et je trouvai ça plus lisible lol.
Mais c'est normale qu'un petit programme " a la con" com celui la prenne autant de mémoire à l'éxécution 20 000 Ko je croi ??

signaler à un administrateur
Commentaire de typhoon_74 le 03/11/2005 21:41:11

Combien ?? 20000Ko ? Tu veux me dire que firefox prend moins de ressources mémoires ? Peux tu m'envoyer par email à olivier.barto@wanadoo.fr ton .exe car il n'est pas téléchargable depuis le site. Merci. C'est impossible qu'il prenne 20000Ko à mon avis !

signaler à un administrateur
Commentaire de jrbleboss le 03/11/2005 22:01:31

Très interressant et pratique !!

signaler à un administrateur
Commentaire de jrbleboss le 03/11/2005 22:01:33

Très interressant et pratique !!

signaler à un administrateur
Commentaire de typhoon_74 le 03/11/2005 22:12:19

Bon j'ai regardé moi j'ai 10000Ko ... C'est très étrange mais je pense que cela vient pas de la source ... En effet j'ai un programme que je fais en ce moment qui est nettement plus long et qui n'occupe une fois compilé que 2828Ko ... Je cherche ...

signaler à un administrateur
Commentaire de typhoon_74 le 03/11/2005 22:15:22

Je programme pas sous vb.net mais je vois pas à quoi sert dans la source le Form1.designer.vb ?? A mon avis c'est lui qui crée une occupation si forte de la mémoire ...

signaler à un administrateur
Commentaire de tiboooo le 03/11/2005 22:20:02

Ben je pense que c'est " le designe" a quoi ressemble la fentre son icone sa position les labels les textbox etc etc

signaler à un administrateur
Commentaire de tiboooo le 03/11/2005 22:22:57

jrbleboss serait tu au lycée pour trouver ça interessant lol ?
Mets une note aussi ;)

J'aimerais bien crée un programme d'étude de fonction mais la ça devient un sacré projet ce qui me parait le plus dur est le calcul de fonction dérivée si ya des connaiseur ;) les limites aussi ....

signaler à un administrateur
Commentaire de typhoon_74 le 03/11/2005 22:32:24

Moi je veux bien participer. J'ai déjà une ébauche d'idée pour une étude complète d'une fonction second degré avec dérivée , signe , tableau de variation de f , limites ... Le blem c'est qu'il faudrait que je me mette à vb.net ...

signaler à un administrateur
Commentaire de zemetafyzik le 04/11/2005 22:04:20

si vous vous ennenuyé, y a pas que les dérivé, y a aussi les primitives....have a fun

signaler à un administrateur
Commentaire de typhoon_74 le 04/11/2005 22:43:35

Oui enfin ca viendra doucement ...

signaler à un administrateur
Commentaire de tiboooo le 04/11/2005 23:17:43

euh ué fin les primitives le probleme c'est que j'ai pas encor vus ce que c'était mais  bientot je crois c'est la chapitre que je vais aborder.
Mais je pense qu'il y a du boulot pour le calcul de dérivée si des gens on des idées ;)

signaler à un administrateur
Commentaire de zemetafyzik le 04/11/2005 23:33:12

mais les primitive, c'est comme les derivé, y a pas vraiment besoin de faire un cour pour savoir comment trouver la primitive d'une fonction, c'est juste que sans le cour tu ne saura pas a quoi sa sert, mais si on a le meme bouquin, c'est un tableau recapitulatif, comme celui de la derivé :D

signaler à un administrateur
Commentaire de tiboooo le 04/11/2005 23:35:55

hum ué fin si je te di un mot nouveau tu peu pas eviner ce que c'est par contre c'est peut être simple ça je sais pas et les integrales ça peut être sympa ossi ;)

signaler à un administrateur
Commentaire de tiboooo le 05/11/2005 01:06:28

premier test de calcul de dérivée meme si je ne vois pas comment faire ....
[url] www.tibo.info/test.exe [/url]

signaler à un administrateur
Commentaire de tiboooo le 05/11/2005 01:07:41

erreur désolé :s
www.tiboooo.info/test.exe

signaler à un administrateur
Commentaire de jrbleboss le 05/11/2005 13:58:59

ouais je suis au lycée mais pour l'instant que en seconde donc c'est pas encore le programme.

signaler à un administrateur
Commentaire de sovos le 05/11/2005 18:37:02

Slut a tous.

j'ai lu vos post et je suis interrse par le projet. Je le trouve assez cool. je programme en VB pas en VB.net, j'espere que ca ne va pas trop gener ?? Par contre concernant le projet je l'ai deja fait. J'ai ecrit, en Pascal il y a 2 ans, un programme qui permetait de faire l'etude complete d'une fonction de degre 2 et 3, alors je sait a quoi m'attendre.

signaler à un administrateur
Commentaire de tiboooo le 06/11/2005 08:14:14

Comme je l'ai di étant débutant, je ne sais pas trop les diférences entre VB et VB.net je ne pense pas que ce soit trop diferent. Contact moi par msn pour discuté ou par mail

signaler à un administrateur
Commentaire de jrbleboss le 07/11/2005 18:10:50

Bin pour ce genre de calcul la différence vb/vb.net est casiment inexistante !!

signaler à un administrateur
Commentaire de Nurgle le 16/11/2005 15:56:50 administrateur CS

Excellent :d
(je suis moi aussi au lycée...)
Tibooo -> ici la différence vb/vb.net est inexistante !
A part peut être un truc : en vb.net on utilise MessageBox.Show() à la place de MsgBox(), mais bon, tant que ça marche... :)

Il y a quand même un truc que je trouve bête :
tu testes à la fin si a = 0 !! autant le tester au début, du genre :
If a = 0 Then
Label9.Text = "La fonction saisie n'est pas un trinome"
Exit Sub
End If
Comme ça tu n'as pas à faire des calculs inutiles, et tu n'as pas à mettre "And a <> 0" dans ton If !

Pareil pour ton "If indicateura = False Or ..." mets plutôt :
If indicateura = False Or indicateurb = False Or indicateurc = False Then
MessageBox.Show("Vérifiez vos valeurs", "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
Comme ça tu t'évites la grande clause "Else...." avec tout le reste dedans...
En tout cas : 10/10 ! :)

Nurgle

signaler à un administrateur
Commentaire de scortex84 le 18/11/2005 17:17:26

Petite remarque : msgbox("coucou !") fonctionne avec VB.NET...

Seb.

signaler à un administrateur
Commentaire de Nurgle le 18/11/2005 19:34:19 administrateur CS

bien sûr que ça fonctionne !
ça fait partie des fonctions de compatilité avec l'ancienne syntaxe VB6 qui se trouve dans Microsoft.VisualBasic.Interaction.MsgBox() alors que la version 100% .NET se trouve dans System.Windows.Forms.MessageBox.Show()
Mais bon, comme je le disais, tant que ça marche, pas de problème :D

Nurgle

signaler à un administrateur
Commentaire de tinux le 05/02/2006 15:30:15

Moi aussi je suis au Lycée, ce prog est bien. Pour les dérivée, je pense qu'un simple petit Replace("x²","2x^") devrait suffir pour ce genre de chose... L'ordinateur s'occupera de la simplification... par contre si on souhaite garder une forme factorisée, comment fait t-on?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Résolveur d'équations du second degré [ par SesechXP ] Salut!!!Venez tester et pourquoi pas noter mon premier programme fait en VB : c'est un programme de maths de résolution des équations du second degré. résloveur d'équation du second degré [ par SesechXP ] Salut!J'ai fait un petit programme de résolution des équations du second degréalors venez le voir à l'adresse http://www.vbfrance.com/article.aspx?Val equations du second degré [ par bertrand070470 ] je suis à la recherche d'explications sur les équations du secon degré. Merci equation du second degré [ par chriskens9 ] je cherche l'algorithme vb 2008 problème de FILL dans dataset [ par piou62 ] Bonjour,j'ai acheté un livre sur le vb 2008 express et j'ai recopié un morceau de codes suivants : j'ai mis tous les DIM et Imports nécessairesConnexi Comment parcourir un fichier text dans la racine c: [ par yesman1234 ] Comment parcourir un fichier text dans la racine c: ???? reponder sur ma question tt de suite ?? svp racine carrée [ par gogoprog ] Bonjour,est-ce que quelqu'un sait comment calculer une racine carrée?merci d'avance Fermeture d'un formulaire [ par Rappel ] Je suis dans un formulaire et de ce formulaire j'appel un autre formulaire, lorsque je quitte le second formulaire pour revenir au premier il y a un t Fermeture d'un formulaire [ par Rappel ] Je suis dans un formulaire et de ce formulaire j'appel un autre formulaire, lorsque je quitte le second formulaire pour revenir au premier il y a un t Mettre une feuille en second plan [ par Nicolas RUIZ ] slu !Voici mon ennui : j'arrive à mettre une feuille tjrs au premier plan mais je cherche actuellement le moyen de mettre une feuille tjrs au second p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.