Évaluer des fonctions par morceaux en C

CBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à évaluer des fonctions par morceaux en programmation C. Le laboratoire couvre les étapes pour lire une valeur d'entrée, utiliser les instructions if/else pour déterminer quelle formule appliquer et afficher le résultat évalué. Vous commencerez par demander à l'utilisateur d'entrer une valeur pour la variable x, puis vous implémenterez une fonction par morceaux avec différentes formules en fonction de la valeur d'entrée. Ce laboratoire vous aidera à développer vos compétences dans le travail avec les expressions algébriques et la logique conditionnelle en C.

Lecture de la valeur d'entrée x

Dans cette étape, vous apprendrez à lire une valeur d'entrée pour une fonction par morceaux en programmation C. Nous allons créer un programme simple qui permet aux utilisateurs d'entrer une valeur numérique à utiliser dans l'évaluation de la fonction.

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

cd ~/project
nano piecewise_function.c

Maintenant, ajoutez le code suivant au fichier :

#include <stdio.h>

int main() {
    double x;

    // Demander à l'utilisateur d'entrer une valeur pour x
    printf("Entrez une valeur pour x : ");

    // Lire la valeur d'entrée
    scanf("%lf", &x);

    // Afficher la valeur d'entrée pour confirmation
    printf("Vous avez entré x = %.2f\n", x);

    return 0;
}

Compilez le programme :

gcc piecewise_function.c -o piecewise_function

Exécutez le programme :

./piecewise_function

Exemple de sortie :

Entrez une valeur pour x : 5.5
Vous avez entré x = 5.50

Décomposons le code :

  • #include <stdio.h> inclut la bibliothèque d'entrée/sortie standard
  • double x; déclare une variable pour stocker la valeur d'entrée
  • printf() affiche une invite à l'utilisateur
  • scanf() lit la valeur d'entrée comme un nombre à virgule flottante double précision
  • %.2f formate la sortie pour afficher deux décimales

Utilisation de if/else pour déterminer la formule à appliquer

Dans cette étape, vous allez modifier le programme précédent pour implémenter une fonction par morceaux à l'aide d'instructions if/else. Nous allons créer une fonction avec différentes formules en fonction de la valeur d'entrée x.

Mettre à jour le fichier piecewise_function.c :

cd ~/project
nano piecewise_function.c

Remplacez le contenu précédent par le code suivant :

#include <stdio.h>

// Définition d'une fonction par morceaux
double piecewise_function(double x) {
    // Condition 1 : Si x est inférieur à 0
    if (x < 0) {
        return x * x;  // f(x) = x^2 pour x < 0
    }
    // Condition 2 : Si x est compris entre 0 et 5
    else if (x >= 0 && x < 5) {
        return 2 * x + 3;  // f(x) = 2x + 3 pour 0 ≤ x < 5
    }
    // Condition 3 : Si x est supérieur ou égal à 5
    else {
        return x - 2;  // f(x) = x - 2 pour x ≥ 5
    }
}

int main() {
    double x;

    // Demander à l'utilisateur d'entrer une valeur pour x
    printf("Entrez une valeur pour x : ");

    // Lire la valeur d'entrée
    scanf("%lf", &x);

    // Calculer et afficher le résultat de la fonction par morceaux
    double result = piecewise_function(x);
    printf("f(%.2f) = %.2f\n", x, result);

    return 0;
}

Compiler le programme :

gcc piecewise_function.c -o piecewise_function

Exécuter le programme avec différentes valeurs d'entrée :

./piecewise_function

Exemple de sortie 1 :

Entrez une valeur pour x : -2
f(-2.00) = 4.00

Exemple de sortie 2 :

Entrez une valeur pour x : 3
f(3.00) = 9.00

Exemple de sortie 3 :

Entrez une valeur pour x : 6
f(6.00) = 4.00

Décomposons le code :

  • piecewise_function() implémente trois formules différentes en fonction de la valeur de x
  • Les instructions if/else vérifient les conditions et appliquent la formule appropriée
  • La fonction retourne la valeur calculée en fonction de l'entrée x

Affichage du résultat évalué

Dans cette dernière étape, vous améliorerez le programme de fonction par morceaux pour fournir une sortie plus détaillée et démontrer le comportement de la fonction dans différentes plages d'entrée.

Modifions le fichier piecewise_function.c pour ajouter une impression de résultat plus complète :

cd ~/project
nano piecewise_function.c

Mettez à jour le code avec la mise en œuvre suivante :

#include <stdio.h>

// Définition d'une fonction par morceaux
double piecewise_function(double x) {
    // Condition 1 : Si x est inférieur à 0
    if (x < 0) {
        return x * x;  // f(x) = x^2 pour x < 0
    }
    // Condition 2 : Si x est compris entre 0 et 5
    else if (x >= 0 && x < 5) {
        return 2 * x + 3;  // f(x) = 2x + 3 pour 0 ≤ x < 5
    }
    // Condition 3 : Si x est supérieur ou égal à 5
    else {
        return x - 2;  // f(x) = x - 2 pour x ≥ 5
    }
}

int main() {
    double x;

    // Demander à l'utilisateur d'entrer une valeur pour x
    printf("Evaluateur de fonction par morceaux\n");
    printf("Règles de la fonction :\n");
    printf("  f(x) = x^2      pour x < 0\n");
    printf("  f(x) = 2x + 3   pour 0 ≤ x < 5\n");
    printf("  f(x) = x - 2    pour x ≥ 5\n\n");

    printf("Entrez une valeur pour x : ");

    // Lire la valeur d'entrée
    scanf("%lf", &x);

    // Calculer le résultat de la fonction par morceaux
    double result = piecewise_function(x);

    // Fournir une sortie détaillée
    printf("\nAnalyse de l'entrée :\n");
    printf("  Valeur d'entrée x : %.2f\n", x);

    // Déterminer et afficher la formule appliquée
    if (x < 0) {
        printf("  Formule appliquée : f(x) = x^2\n");
    }
    else if (x >= 0 && x < 5) {
        printf("  Formule appliquée : f(x) = 2x + 3\n");
    }
    else {
        printf("  Formule appliquée : f(x) = x - 2\n");
    }

    // Afficher le résultat final
    printf("  Résultat f(x) : %.2f\n", result);

    return 0;
}

Compiler le programme :

gcc piecewise_function.c -o piecewise_function

Exécuter le programme avec différentes valeurs d'entrée :

./piecewise_function

Exemple de sortie 1 (x < 0) :

Evaluateur de fonction par morceaux
Règles de la fonction :
  f(x) = x^2      pour x < 0
  f(x) = 2x + 3   pour 0 ≤ x < 5
  f(x) = x - 2    pour x ≥ 5

Entrez une valeur pour x : -3

Analyse de l'entrée :
  Valeur d'entrée x : -3.00
  Formule appliquée : f(x) = x^2
  Résultat f(x) : 9.00

(Exemples de sortie 2 et 3 similaires)

Résumé

Dans ce laboratoire, vous avez appris à lire une valeur d'entrée pour une fonction par morceaux en programmation C et comment utiliser les instructions if/else pour déterminer quelle formule appliquer en fonction de la valeur d'entrée. Vous avez créé un programme simple permettant aux utilisateurs d'entrer une valeur numérique, puis d'évaluer la fonction par morceaux en utilisant différentes formules selon la valeur de x. Les points clés sont la lecture de l'entrée utilisateur, la mise en œuvre de la logique conditionnelle avec les instructions if/else et l'application de différentes formules mathématiques au sein d'une fonction par morceaux.