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é clavier téléphone ✓ - Forum iPhone
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.