1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| PROGRAM resolution_equation_du_decond_degre (INPUT,OUTPUT);
{TP3: Ce programme permet de calculer les solutions d'une equation du second
degre ax^2+bx+c=0}
VAR
a,b,c:REAL;{a,b et c sont les coefficients de l'equation du 2eme degre}
X,X1,X2:REAl;{X,X1 et X2 sont les solutions de l'equation du 2eme degre}
DELTA:REAL;{DELTA est le discriminant que l'on calcule, DELTA:=b*b-4*a*c}
BEGIN
WRITELN('Entrez le coefficient a de l''equation du second degre');
READLN(a);
IF a=0 THEN WRITELN('Ce n''est pas une equation du second degre !');
WRITELN('Entrez les coefficients b et c de l''equation du second degre');
READLN(b , c); {Cette première instruction permet de saisir les coefficients
a,b etc de l'equation, necessaire au calcul des solutions
possibles, et de savoir si on a vraiment affaire à une
equation du 2eme degre}
IF a=0 THEN
IF b=0 THEN
IF c=0 THEN
WRITELN('La solution est l''ensemble des reels') {Cas a=b=c=0}
ELSE
WRITELN('On n''a pas de solution reelle') {Cas a=b=0 et c<>0}
ELSE
begin
X:=-c/b;
WRITELN('la solution unique est', X); {Cas a=0 et b et c <>0}
END
ELSE
begin
DELTA:=b*b-4*a*c; {Cas a,b,c<>0, on calcule donc DELTA}
IF DELTA>0 THEN
BEGIN
X1:=(-b-SQRT(DELTA))/(2*a);
X2:=(-b+SQRT(DELTA))/(2*a);
WRITELN('la solution X1 est ',X1,'la solution X2 est ',X2);
{Calcul de X1 & X2, dans le cas DELTA>0}
END
ELSE
IF DELTA=0 THEN
WRITELN('la solution unique est', (-b/2*a))
{Calcul de X1 & X2, dans le cas DELTA=0}
ELSE
WRITELN('Pas de solution reelle')
{Cas particulier où DELTA<0}
END;
END. |
Partager