Présentation de l'algorithme :

Résolution de l'équation du second degré à coefficients réels.

Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)

Résultats :

Code de l'algorithme :
1     VARIABLES
2       a EST_DU_TYPE NOMBRE
3       b EST_DU_TYPE NOMBRE
4       c EST_DU_TYPE NOMBRE
5       DELTA EST_DU_TYPE NOMBRE
6       RAC EST_DU_TYPE NOMBRE
7       RAC2 EST_DU_TYPE NOMBRE
8       RE_SOL EST_DU_TYPE NOMBRE
9       IM_SOL EST_DU_TYPE NOMBRE
10      ABS_b EST_DU_TYPE NOMBRE
11      ABS_c EST_DU_TYPE NOMBRE
12    DEBUT_ALGORITHME
13      //Saisie des coefficients a, b et c.
14      AFFICHER "Saisissez les coefficients a, b et c (Rappel : a doit être non nul !)"
15      //Première saisie du coefficient a
16      LIRE a
17      TANT_QUE (a==0) FAIRE
18        DEBUT_TANT_QUE
19        AFFICHER "ATTENTION ! Le coefficient a doit être non nul !"
20        LIRE a
21        FIN_TANT_QUE
22      //Le coefficient a saisi est non nul.
23      AFFICHER "a = "
24      AFFICHER a
25      LIRE b
26      AFFICHER "b = "
27      AFFICHER b
28      LIRE c
29      AFFICHER "c = "
30      AFFICHER c
31      //Affichage "naturel" de l'équation à résoudre.
32      AFFICHER "Résolution de l'équation "
33      SI (a!=1) ALORS
34        DEBUT_SI
35        SI (a==-1) ALORS
36          DEBUT_SI
37          AFFICHER "-"
38          FIN_SI
39          SINON
40            DEBUT_SINON
41            AFFICHER a
42            FIN_SINON
43        FIN_SI
44      AFFICHER "x²"
45      SI (b!=0) ALORS
46        DEBUT_SI
47        SI (b==1) ALORS
48          DEBUT_SI
49          AFFICHER "+x"
50          FIN_SI
51          SINON
52            DEBUT_SINON
53            SI (b==-1) ALORS
54              DEBUT_SI
55              AFFICHER "-x"
56              FIN_SI
57              SINON
58                DEBUT_SINON
59                ABS_b PREND_LA_VALEUR abs(b)
60                SI (b<0) ALORS
61                  DEBUT_SI
62                  AFFICHER "-"
63                  FIN_SI
64                  SINON
65                    DEBUT_SINON
66                    AFFICHER "+"
67                    FIN_SINON
68                AFFICHER ABS_b
69                AFFICHER "x"
70                FIN_SINON
71            FIN_SINON
72        FIN_SI
73      SI (c!=0) ALORS
74        DEBUT_SI
75        ABS_c PREND_LA_VALEUR abs(c)
76        SI (c<0) ALORS
77          DEBUT_SI
78          AFFICHER "-"
79          FIN_SI
80          SINON
81            DEBUT_SINON
82            AFFICHER "+"
83            FIN_SINON
84        AFFICHER ABS_c
85        FIN_SI
86      AFFICHER " = 0"
87      //Calcul du discriminant associé à l'équation
88      DELTA PREND_LA_VALEUR pow(b,2)-4*a*c
89      AFFICHER "Le discriminant Delta associé à votre équation vaut "
90      AFFICHER DELTA
91      //Résolution de l'équation suivant le signe de Delta.
92      SI (DELTA<0) ALORS
93        DEBUT_SI
94        //Cas où le discriminant est strictement négatif.
95        //Calcul des deux racines complexes conjuguées.
96        RE_SOL PREND_LA_VALEUR -b/(2*a)
97        IM_SOL PREND_LA_VALEUR sqrt(-DELTA)/(2*a)
98        AFFICHER "Votre équation n'admet pas de solution réelle."
99        AFFICHER "L'équations admet deux racines complexes conjuguées : "
100       SI (RE_SOL==0) ALORS
101         DEBUT_SI
102         SI (IM_SOL!=1) ALORS
103           DEBUT_SI
104           AFFICHER IM_SOL
105           FIN_SI
106         AFFICHER "i"
107         FIN_SI
108         SINON
109           DEBUT_SINON
110           AFFICHER RE_SOL
111           AFFICHER "+"
112           AFFICHER IM_SOL
113           AFFICHER "i"
114           FIN_SINON
115       AFFICHER " et "
116       SI (RE_SOL==0) ALORS
117         DEBUT_SI
118         AFFICHER "-"
119         SI (IM_SOL!=1) ALORS
120           DEBUT_SI
121           AFFICHER IM_SOL
122           FIN_SI
123         AFFICHER "i"
124         FIN_SI
125         SINON
126           DEBUT_SINON
127           AFFICHER RE_SOL
128           AFFICHER "-"
129           AFFICHER IM_SOL
130           AFFICHER "i"
131           FIN_SINON
132       FIN_SI
133       SINON
134         DEBUT_SINON
135         SI (DELTA==0) ALORS
136           DEBUT_SI
137           //Cas où le discriminant est nul.
138           RAC PREND_LA_VALEUR -b/(2*a)
139           AFFICHER "Votre équation admet pour unique solution : "
140           AFFICHER RAC
141           FIN_SI
142           SINON
143             DEBUT_SINON
144             //Cas où le discriminant est strictement positif.
145             RAC PREND_LA_VALEUR (-b-sqrt(DELTA))/(2*a)
146             RAC2 PREND_LA_VALEUR (-b+sqrt(DELTA))/(2*a)
147             AFFICHER "Votre équation admet deux solutions réelles : "
148             AFFICHER RAC
149             AFFICHER " et "
150             AFFICHER RAC2
151             FIN_SINON
152         FIN_SINON
153   FIN_ALGORITHME