retour vers le sommaire du cours
Énoncé - Réponse - Jeu de test
Voici la présentation mathématique de la résolution d'une équation du second degré (merci de m'indiquer les erreurs éventuelles) :
Soit à résoudre l'équation a.x^2 + b.x + c = 0 où a est un réel non nul, b et c sont des réels quelconques.
On calcule le discriminant, noté D : D = b^2 - 4.a.c
On discute alors de la valeur de D :D > 0 : il existe 2 racines distinctes, notée x1 et x2.
x1 = (-b - D^(1/2))/ (2.a)
x2 = (-b + D^(1/2))/ (2.a)
rem. : D^(1/2) représente la racine carrée de DD = 0 : il existe 1 racine double, notée x3
x3 = -b / (2.a)D < 0 : il n'existe aucune solution réelle pour l'équation.
Rédiger une programme permettant la résolution de l'équation pour des valeurs quelconques de a, b et c (fournies par l'utilisateur du programme).
programme EquationSecondDegre
données : CoeffA, CoeffB, CoeffC sont réels
NbRacines est entier
Racine1, Racine2 sont réels
début
afficher "Résolution d'équations du second degré"
afficher "du type ax² +bx +c = 0"
afficher "Saisir les valeurs de a, b et c"
saisir CoeffA, CoeffB, CoeffC
ResoudreSecondDegre (CoeffA, CoeffB, CoeffC,
NbRacines, Racine1, Racine2)
afficher "Il y a ", NbRacines, " solution(s)"
si (NbRacines <> 0) alors
si (NbRacines = 2) alors
afficher "La première solution est ", Racine1
afficher "La seconde solution est ", Racine2
sinon
afficher "La solution est ", Racine1
fin si
fin si
finprocedure ResoudreSecondDegre (entree : ValA, ValB, ValC sont réels
sortie : NbSol est entier
Sol1, Sol2 sont réels)
donnée : Delta est réel
début
Delta <-- ValB*ValB - 4*ValA*ValC
si (Delta > 0) alors
NbSol <-- 2
Sol1 <-- (-ValB - RacineCarree(Delta))/(2*ValA)
Sol2 <-- (-ValB + RacineCarree(Delta))/(2*ValA)
sinon
si (Delta = 0) alors
NbSol <-- 2
Sol1 <-- -ValB/(2*ValA)
Sol2 <-- Sol1
sinon
NbSol <-- 0
Sol1 <-- 123456789
Sol2 <-- 987654321
fin si
fin si
fin
a b c Delta Nb de racines Racine 1 Racine 2 -1 1 6 25 2 3 -2 1 -2 1 0 1 1 1 -1,5 -1,1 -2,5 -13,79 0 123456789 987654321