Racine d'un polynome avec pascal
Utilisateur anonyme
-
Lita -
Lita -
voila je cherche a calculer les racine d'un polynome de second degres avec pascal, voila le code :
PROGRAM Racines;
VAR
A,B,C : INTEGER;
Discriminant :REAL;
Racine1, Racine2, Racine3 : REAL;
BEGIN
Write('donnez les valeurs de A,B,C :');
Readln (A,B,C);
Discriminant := (B*B)-(4*A*C);
Racine2 :=( (-B) - sqrt(Discriminant) )/ (2*A);
Racine3 :=( (-B) + sqrt(Discriminant) )/ (2*A);
IF Discriminant < 0
THEN Writeln ('pas de racines dans R');
IF Discriminant = 0
THEN Writeln ('il y a une seule racine :',Racine1);
IF Discriminant >0
THEN Writeln('il y a deux racines :', 'R1 =',Racine2, 'et', 'R2 =',Racine3);
END.
tout marche bien si le discriminant est supérieur a 0, mais dans le cas ou il est inférieur à 0, à l'éxecution j'ai un message d'erreur :
" error 207 : invalid floating poin operation"
et je vois pas tros ce que cala signifie?
PROGRAM Racines;
VAR
A,B,C : INTEGER;
Discriminant :REAL;
Racine1, Racine2, Racine3 : REAL;
BEGIN
Write('donnez les valeurs de A,B,C :');
Readln (A,B,C);
Discriminant := (B*B)-(4*A*C);
Racine2 :=( (-B) - sqrt(Discriminant) )/ (2*A);
Racine3 :=( (-B) + sqrt(Discriminant) )/ (2*A);
IF Discriminant < 0
THEN Writeln ('pas de racines dans R');
IF Discriminant = 0
THEN Writeln ('il y a une seule racine :',Racine1);
IF Discriminant >0
THEN Writeln('il y a deux racines :', 'R1 =',Racine2, 'et', 'R2 =',Racine3);
END.
tout marche bien si le discriminant est supérieur a 0, mais dans le cas ou il est inférieur à 0, à l'éxecution j'ai un message d'erreur :
" error 207 : invalid floating poin operation"
et je vois pas tros ce que cala signifie?
A voir également:
- Racine d'un polynome avec pascal
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Racine carré sur mac - Guide
- Symbole racine carré ✓ - Forum Word
1 réponse
- où est-ce que tu as calculé Racine1?
- Tu calcules seulement les racines quand le discriminant est positif ou nul. ie qqch comme ça:
- Tu calcules seulement les racines quand le discriminant est positif ou nul. ie qqch comme ça:
BEGIN Writeln('donnez les valeurs de A,B,C :'); Readln (A,B,C); Discriminant := (B*B)-(4*A*C); IF Discriminant < 0 THEN Writeln ('pas de racines dans R'); IF Discriminant = 0 THEN Writeln ('il y a une seule racine :', -B/2*A); IF Discriminant >0 THEN Begin Racine2 :=( (-B) - sqrt(Discriminant) )/ (2*A); Racine3 :=( (-B) + sqrt(Discriminant) )/ (2*A); Writeln('il y a deux racines :', 'R1 =',Racine2, 'et', 'R2 =',Racine3); End; END.