Résoudre une équation linéaire (ax + b = 0) en C

CBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à résoudre une équation linéaire de la forme ax + b = 0 en utilisant le langage C. Vous commencerez par lire les coefficients a et b à partir de l'utilisateur, puis vous calculerez la solution x en appliquant la formule x = -b/a, tout en vous assurant que le coefficient a n'est pas nul. Enfin, vous afficherez la solution ou indiquerez qu'aucune solution n'existe.

Ce laboratoire couvre les concepts fondamentaux des expressions algébriques et de leur implémentation en C. À la fin de ce laboratoire, vous aurez une compréhension solide de la manière de résoudre des équations linéaires simples de manière programmatique.

Lecture des coefficients a et b

Dans cette étape, vous apprendrez à lire les coefficients a et b pour résoudre une équation linéaire en C. Nous allons créer un programme simple qui invite l'utilisateur à saisir les coefficients et les stocke dans des variables.

Tout d'abord, créons un nouveau fichier C dans le répertoire du projet :

cd ~/project
nano linear_equation.c

Maintenant, saisissez le code suivant pour lire les coefficients :

#include <stdio.h>

int main() {
    double a, b;

    // Demander à l'utilisateur de saisir le coefficient a
    printf("Entrez le coefficient a (ne doit pas être nul) : ");
    scanf("%lf", &a);

    // Demander à l'utilisateur de saisir le coefficient b
    printf("Entrez le coefficient b : ");
    scanf("%lf", &b);

    // Afficher les coefficients saisis
    printf("Coefficient a : %.2f\n", a);
    printf("Coefficient b : %.2f\n", b);

    return 0;
}

Compilez et exécutez le programme :

gcc linear_equation.c -o linear_equation
./linear_equation

Exemple de sortie :

Entrez le coefficient a (ne doit pas être nul) : 2
Entrez le coefficient b : 4
Coefficient a : 2.00
Coefficient b : 4.00

Décomposons le code :

  • Nous utilisons double pour permettre des entrées décimales pour les coefficients
  • printf() est utilisé pour demander à l'utilisateur de saisir des données
  • scanf() lit l'entrée de l'utilisateur et la stocke dans les variables a et b
  • Nous affichons les coefficients saisis pour confirmer qu'ils ont été correctement lus

Calcul de x = -b/a (Vérification si a ≠ 0)

Dans cette étape, vous allez modifier le programme précédent pour calculer la solution de l'équation linéaire ax + b = 0, en accordant une attention particulière au cas où a est égal à zéro.

Ouvrez le fichier précédent et mettez à jour le code :

cd ~/project
nano linear_equation.c

Remplacez le contenu par le code suivant :

#include <stdio.h>

int main() {
    double a, b, x;

    // Demander à l'utilisateur de saisir le coefficient a
    printf("Entrez le coefficient a (ne doit pas être nul) : ");
    scanf("%lf", &a);

    // Vérifier si a est égal à zéro
    if (a == 0) {
        printf("Erreur : Le coefficient 'a' ne peut pas être nul.\n");
        return 1;
    }

    // Demander à l'utilisateur de saisir le coefficient b
    printf("Entrez le coefficient b : ");
    scanf("%lf", &b);

    // Calculer la solution x
    x = -b / a;

    // Afficher la solution
    printf("Solution de l'équation %.2fx + %.2f = 0 :\n", a, b);
    printf("x = %.2f\n", x);

    return 0;
}

Compilez et exécutez le programme :

gcc linear_equation.c -o linear_equation
./linear_equation

Exemple de sortie pour une entrée valide :

Entrez le coefficient a (ne doit pas être nul) : 2
Entrez le coefficient b : 4
Solution de l'équation 2.00x + 4.00 = 0 :
x = -2.00

Exemple de sortie pour une entrée invalide (a = 0) :

Entrez le coefficient a (ne doit pas être nul) : 0
Erreur : Le coefficient 'a' ne peut pas être nul.

Points clés de ce code :

  • Nous ajoutons une vérification pour garantir que a n'est pas nul avant de calculer la solution.
  • Si a est nul, nous affichons un message d'erreur et sortons du programme.
  • La solution x est calculée à l'aide de la formule x = -b/a.
  • Nous utilisons %.2f pour formater la sortie à deux décimales.

Affichage de la solution ou indication de l'absence de solution

Dans cette dernière étape, vous améliorerez le solveur d'équations linéaires pour gérer différents scénarios et fournir une sortie claire de la solution.

Ouvrez le fichier précédent et mettez à jour le code :

cd ~/project
nano linear_equation.c

Remplacez le contenu par le code suivant :

#include <stdio.h>
#include <math.h>

int main() {
    double a, b, x;

    // Demander à l'utilisateur de saisir le coefficient a
    printf("Entrez le coefficient a : ");
    scanf("%lf", &a);

    // Demander à l'utilisateur de saisir le coefficient b
    printf("Entrez le coefficient b : ");
    scanf("%lf", &b);

    // Vérifier les différents scénarios
    if (a == 0 && b == 0) {
        printf("Solutions infinies : Tout nombre réel est solution.\n");
    } else if (a == 0 && b != 0) {
        printf("Pas de solution : L'équation n'est pas résoluble.\n");
    } else {
        // Calculer la solution x
        x = -b / a;

        // Afficher la solution
        printf("Équation : %.2fx + %.2f = 0\n", a, b);
        printf("Solution : x = %.2f\n", x);
    }

    return 0;
}

Compilez et exécutez le programme :

gcc linear_equation.c -o linear_equation
./linear_equation

Exemples de sorties :

Scénario 1 (solution normale) :

Entrez le coefficient a : 2
Entrez le coefficient b : 4
Équation : 2.00x + 4.00 = 0
Solution : x = -2.00

Scénario 2 (pas de solution) :

Entrez le coefficient a : 0
Entrez le coefficient b : 5
Pas de solution : L'équation n'est pas résoluble.

Scénario 3 (solutions infinies) :

Entrez le coefficient a : 0
Entrez le coefficient b : 0
Solutions infinies : Tout nombre réel est solution.

Améliorations clés de cette version :

  • Gère trois scénarios distincts pour les équations linéaires.
  • Fournit des messages clairs et informatifs pour différents cas.
  • Utilise une logique mathématique précise pour déterminer le type de solution.

Résumé

Dans ce laboratoire, vous avez appris à lire les coefficients a et b pour résoudre une équation linéaire en C. Vous avez créé un programme simple qui demande à l'utilisateur d'entrer les coefficients et les stocke dans des variables. Vous avez également appris à calculer la solution de l'équation linéaire ax + b = 0, en accordant une attention particulière au cas où a est égal à zéro. Le programme vérifie si a est égal à zéro et affiche un message d'erreur si c'est le cas ; sinon, il calcule la solution x = -b/a et l'affiche.