Resolveur d'equation second degré avec solution irreductible(comme a l'ecole)

Soyez le premier à donner votre avis sur cette source.

Vue 11 397 fois - Téléchargée 572 fois

Description

ceci est la suite pour le code de joVB car dans son code quelque erreur pour les resultat ,de plus comme je l'avais promis j'ai tenté en bidouillant de' obtenir le resultat sous forme fractionnaire avec la racine,j'espere ne pas avoir oublier quelque solution

Conclusion :


si jamais vous voyais un probleme d'affichage,sauf couleur differente de windows standard(cause de mes frames expliquer dans le code),un probleme de resultat merci de m'en avertir

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
9
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
24 septembre 2004

1) Oui, je redis, trés trés bien fait! Et j'ai repris ça à ma façon mais avec départs seuls nombres entiers . (comme toi ...lol)
Je débutre en VB et m'appuie encore pas mal sur le Basic, et ça m'ennuie d'avoir l'air de donner un truc!

2) Mais lis mon programme;
"Résolution de l'équation du 2e degré et étude de la courbe ax² +bx +c =y,
moins bien présenté que le tien; le mien est trés "Basic" , il donne aussi les résultats en fractions et les racines irréductibles....
mais il prend aussi les coefficients fractionnaires!
1/3x² + 2/7 x -5 = 0, par exemple.
Et ça demande du travail supplémentaire !
Car à lécole, tu as ça aussi !!! Pas que des entiers dans un problème !

Puis alors pour la racine irréductible, j'ai expliqué, j'ai trouvé un algo en quelques lignes 3 ou 4...Je n'ai pas bien compris le tien; il a l'air parfait, trés bien, mais compliqué pour moi, débutant...LOL (Détail, chacun comme il le sait).
Bonne fin d'année à toi et à tous !
Messages postés
6
Date d'inscription
mercredi 12 mai 2004
Statut
Membre
Dernière intervention
16 février 2005

Ta remarque b = 0 :
Faut gérer les cas particuliers AVANT de lancer les formules, enfin à mon avis; sinon tu t'enfermes dans des trucs pas tristes....tu lis ça AVANT dans l'équation :

Par Exemple : b0; ax² +c 0 ou x² = - c/a
1) b=0 nécessite aussi a <>0 sinon Impossibilité.
(Moi je gère ce 1er cas avec 0x² +0x + c = 0 avec C<>0. écrire Impossibilité : goto Fin
Et aussi : 0x² +0x +0 =0 Indétermination : goto Fin. Car ici c'est Solutions = R, pour tout x . Si tu préfères...C'est déjà ça de dégager...)

2) si -c/a <0 pas de solution, pas de carré négatif !

3)si -c ou c 0 avec a <>0 alors x 0, mais là tu peux sauter ce cas que tu retrouves avec b²-4ac =0-0=0 et
V0 = 0 solution unique x'= x''= 0

4) si -c/a >0 , x² =-c/a donne : x = + - V-c/a =
+- V(-c)/Va =+- (V(-c)*Va )/a = +- V(-ca)/a...à traiter ?
Mais je PENSE que ce cas no 4, tu peux le sauter aussi, car tu le retrouves avec delta = -4ac >0
et x = +- V(-4ac)/2a tes algos le traiteront car ça sortira dans ton résultat de delta, non ?

Maintenant les résumés des manuels posent adifférent de 0. Ben pour moi, non !
Comme tu dois aider un potache, tu acceptes a0 et tu tombes dans bx+c 0 équation du 1er degré ! Faut le rappeler à l'élève , ça ! En plus pas de problème là:
x=-c/b avec b<>0
Sinon si b =0 avec a =0 aussi, tu as éliminé ça au début avec
0x²+0x +c 0 dans l'impossibilité ou S R selon c nul ou non !(Ce que je te dis plus haut !)

Ah!, mais ça fait du boulot, les maths, si on veut essayer de ne pas se faire surprendre... par l'ordi !
Sourire . Mais je peux avoir écrit des bourdes, suis ps exempt...
Continue tes bonnes programmations.
Messages postés
9
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
24 septembre 2004

Besoin d'échanges de procédés:

Tout d'abord , je le redis, je trouve ton programme super bien, un des meilleurs du genre et la présentation superbe, avec label, dessin, tout ! Bravo !

Bon je l'avais écrit le 18/8, je voulais trouver aussi, à ma façon, et ouf, c'est fait depuis fin aout :
j'ai donc aussi déposé : "Résolution de l'équation du 2e degré et étude de la courbe ax² +bx +c =y, (j'ai l'obsession graphique, que veux-tu...comme pour mon système à 2 inconuues)
J'ai envie d'échanger concernant ce que j'ai entrevu chez toi, mais pas tout compris, que non !

FOR ME :
J'ai fait tout sur une form1, et en objets : rien ! Mais qq appels InputBox en internes et MsgBox internes. Grâce aux conseils de mon cop Huelce, sans qui j'écrivais jamais une ligne de VB !
>La Raison 1, suis nul en VB, tout le monde le sait dejà...mais plutôt Basic...et c'est vachement plus facile...
>Raison 2, il ya les courbes à tracer ...sur la même feuille...très Basic encore...

> Ceci m'a permis d'entrer les coefficients fractionnaires exacts, tel : 2/9x² +1/7 x +2 = 0 qui sont légions dans les exos. Et ça n'a pas été fait, enfin, j'ai pas vu...

> Pour réduire la racine de delta, pas trop vu comment tu fais, toi, pas bien compris... Moi j'ai fait ainsi après bocou de tatonnements, l'astuce :
1) Vite expédié si delta est un carré, y compris delta =1, expédié aussi delta 2 et 3 en irréductible.

2) Puis j'ai pris un intervalle d, de 2 à max la racine entière par défaut de delta.

>J'ai divisé Delta part les carrés de d, soit d2, donc de 4 à max².

>q2 les quotients obtenus. Si int(q2) q2 alors q3 q2, je prends en mémoire le quotient exact.

>Et la dernière division exacte, q3 a pris la valeur d'un q2 qui n'est plus un carré: C'est la partie irréductible de racine de Delta... Donc la partie carrée est Delta/q3.

Pour la partie réduction des fractions, comme toi j'ai fait l'algo d'Euclide, très Basic lui...LOL. Mais j'ai fait plus compliqué, enfin non, disons plus LONG, en 2 termes distincts:
Soit "redu" la réduction de la racine de delta:
-b/2a et redu/2a en expédiant tous les cas entiers à l'écriture des la solution... Reste pas mal de combinaisons2 à 2 envoyés "basiquement" à des sous-programmes Euclidiens...

>Bon petites remarques avec un zest d'humour :

Tu expédies a= 0 en disant "faut que a soit pas nul! "
Le petit malin !! Hé ! Bien sûr la formule TRUC /2a , on est obligé de refuser la division, mais pas l'examen de la chose...!

Que nenni ! Faut voir selon les cas . Puisque moi j'ai voulu associer le graphique, je peux pas m'en tirer aussi facilement...
0x² +bx + 0 0, te laisse 4x 0, donc x=0 pour toute valeur de b non nul. En plus delta = b²-0 = b² est pas négatif...
Ma courbe devient bx =y et tu constates que ma courbe te trace une belle droite toute rouge passant par O et représentant un fonction linéaire.
Idem avec
0x² +bx + c 0 te laisse bx - c donc x= -c/b et ma courbe prend bx +c = y et te trace un droite fonction affine qui va couper l'axe x'x en -c/b donnant la solution.
La solution est toujours le contact avec x'x....
Bien fait pour moi, j'ai voulu trop zèler avec mon basic rudimentaire, mais qui m'aide en fait...tellement c'est simple ! Dans les vieux pots...on fait la bonne soupe....

Mais bravo encore pour ton programme! Pour TES programmes !
Et Ne va surtout pas croire que je "t'enseigne" qq. chose, c'est plutôt toi qui le pourrait ! Mais j'ai voulu communiquer et...sourire un peu...Qd même, ce que je dis n'est pas sot ?
RD
Messages postés
9
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
24 septembre 2004

Bravo pour l'équation du 2e degré, super!
Enfin solution donnée sous forme exacte irréductible, aVm/2a, les valeurs approchées n'étant pas aceptées au collège et au lycée...
Ce que je cherche à faire, mais pas ainsi, plutôt Basic; je ne manipule pas les objets VB : n'ai pas compris comment ils s'articulent...Mais sur une Form1 unique comme tout ce que je fais et qq appels de InputBox en interne .
Je pense avec la décomposition de Delta en facteurs premiers et des compteurs, comparer les diviseurs , extraire les couples tels : if Di D2 Then D1 x D2 D1, mais c'est vague encore ! Pas épluché ton code encore, trop objets VB et labels à gogo !
PS:
j'ai mis des sources qui fonctionnent TB chez moi en VB6 pro: systèmes à 2 inconnues et graphique, décompositio, etc...J'aimerais savoir si ça tourne aussi sur les ai utres PC: aucune réponse ! ???
Encore bravo, je mets 9 car il doit bien rester qq bugs...
Messages postés
133
Date d'inscription
dimanche 23 juin 2002
Statut
Membre
Dernière intervention
3 janvier 2015
3
ok vu pour le -x si tu note -1 c'est ok ,sinon dans le source j'ai indique jusqu'a 4 chiffres c'est juste pour montrer comment faire un affichage en bidouillant un peu ici l'idée etais de resoudre l'affichage des fractions et de la racine mon choix j'ai fait des pictures
sinon pour ta remarque des signes je jetterais un oeil dessus j'ai aussi un autre souci j'ai pas gerrer si b=0 au niveau du resultat lol
(j'ai -0+sqr(X) par exemple)
Afficher les 7 commentaires

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.