Résolution d'Équations du Second Degré en C Une équation du second degré est de la forme $ax^2 + bx + c = 0$, où $a, b, c$ sont des coefficients réels et $a \neq 0$. Le discriminant $\Delta = b^2 - 4ac$ détermine la nature des solutions. 1. Structure Générale du Programme C #include <stdio.h> #include <math.h> // Pour sqrt() int main() { double a, b, c; double delta; // 1. Lire les coefficients printf("Entrez le coefficient a: "); scanf("%lf", &a); printf("Entrez le coefficient b: "); scanf("%lf", &b); printf("Entrez le coefficient c: "); scanf("%lf", &c); // 2. Traiter les cas spéciaux (a = 0) if (a == 0) { // ... (voir section 2) } else { // 3. Calculer le discriminant delta = b*b - 4*a*c; // 4. Traiter les cas de delta if (delta > 0) { // ... (voir section 3.1) } else if (delta == 0) { // ... (voir section 3.2) } else { // delta < 0 // ... (voir section 3.3) } } return 0; } 2. Cas Spécial : $a = 0$ (Équation Linéaire) Si $a = 0$, l'équation devient $bx + c = 0$. Si $b = 0$: Si $c = 0$: Infinité de solutions ($0 = 0$). Si $c \neq 0$: Pas de solution ($c = 0$, impossible). Si $b \neq 0$: Une solution unique $x = -c/b$. Code pour $a = 0$: if (a == 0) { if (b == 0) { if (c == 0) { printf("L'équation est 0 = 0. Infinité de solutions.\n"); } else { printf("L'équation est %lf = 0. Pas de solution.\n", c); } } else { double x = -c / b; printf("C'est une équation linéaire. Solution unique: x = %lf\n", x); } } 3. Cas Général : $a \neq 0$ (Discriminant $\Delta$) 3.1. $\Delta > 0$: Deux solutions réelles distinctes Les solutions sont $x_1 = \frac{-b - \sqrt{\Delta}}{2a}$ et $x_2 = \frac{-b + \sqrt{\Delta}}{2a}$. Code pour $\Delta > 0$: if (delta > 0) { double x1 = (-b - sqrt(delta)) / (2 * a); double x2 = (-b + sqrt(delta)) / (2 * a); printf("Deux solutions réelles distinctes:\n"); printf("x1 = %lf\n", x1); printf("x2 = %lf\n", x2); } 3.2. $\Delta = 0$: Une solution réelle double (racine double) La solution est $x = \frac{-b}{2a}$. Code pour $\Delta = 0$: else if (delta == 0) { double x = -b / (2 * a); printf("Une solution réelle double:\n"); printf("x = %lf\n", x); } 3.3. $\Delta Les solutions sont $x_1 = \frac{-b}{2a} - i \frac{\sqrt{-\Delta}}{2a}$ et $x_2 = \frac{-b}{2a} + i \frac{\sqrt{-\Delta}}{2a}$. Où $i$ est l'unité imaginaire ($\sqrt{-1}$). Code pour $\Delta else { // delta < 0 double reel = -b / (2 * a); double imaginaire = sqrt(-delta) / (2 * a); printf("Deux solutions complexes conjuguées:\n"); printf("x1 = %lf - %lfi\n", reel, imaginaire); printf("x2 = %lf + %lfi\n", reel, imaginaire); } 4. Exemple d'Utilisation $x^2 - 5x + 6 = 0 \implies a=1, b=-5, c=6$. $\Delta = 1 > 0$. $x_1=2, x_2=3$. $x^2 - 4x + 4 = 0 \implies a=1, b=-4, c=4$. $\Delta = 0$. $x=2$. $x^2 + x + 1 = 0 \implies a=1, b=1, c=1$. $\Delta = -3 $2x + 4 = 0 \implies a=0, b=2, c=4$. $x=-2$. $0x + 5 = 0 \implies a=0, b=0, c=5$. Pas de solution. $0x + 0 = 0 \implies a=0, b=0, c=0$. Infinité de solutions.