Programme CPP pour calculer l'écart-type

C++C++Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à écrire un programme C++ pour calculer l'écart-type d'un ensemble de nombres en utilisant des fonctions. Le programme démontrera comment calculer la variance d'un ensemble de nombres, qui est la moyenne des carrés des différences par rapport à la moyenne, et puis sa racine carrée donnera l'écart-type.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/StandardLibraryGroup -.-> cpp/math("Math") subgraph Lab Skills cpp/arrays -.-> lab-96174{{"Programme CPP pour calculer l'écart-type"}} cpp/for_loop -.-> lab-96174{{"Programme CPP pour calculer l'écart-type"}} cpp/output -.-> lab-96174{{"Programme CPP pour calculer l'écart-type"}} cpp/user_input -.-> lab-96174{{"Programme CPP pour calculer l'écart-type"}} cpp/files -.-> lab-96174{{"Programme CPP pour calculer l'écart-type"}} cpp/math -.-> lab-96174{{"Programme CPP pour calculer l'écart-type"}} end

Définir la fonction pour calculer l'écart-type

Nous allons commencer par définir une fonction qui prend un tableau de valeurs de type float et renvoie l'écart-type de ces valeurs.

float SD(float values[]) // fonction pour calculer l'écart-type
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calcul de la somme
    }
    mean = sum/10; // calcul de la moyenne.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calcul de l'écart-type
    return sqrt(sd / 10);
}

Dans cette fonction, nous calculons d'abord la somme de toutes les valeurs. Nous divisons ensuite la somme par le nombre total de valeurs pour obtenir la moyenne. Ensuite, nous calculons la variance en additionnant les carrés des différences de chaque valeur par rapport à la moyenne. Après cela, nous calculons l'écart-type en prenant la racine carrée de la variance.

Écrire la fonction principale pour lire les entrées et afficher les résultats

Ensuite, nous écrivons la fonction main qui lit les entrées de l'utilisateur, stocke les valeurs dans un tableau, appelle la fonction SD pour obtenir l'écart-type et puis affiche le résultat.

int main()
{
    int i;
    float arr[10];
    cout << "Entrez 10 éléments : ";
    for(i = 0; i < 10; ++i)
        cin >> arr[i];
    cout << endl << "Écart-type = " << SD(arr); // appel de la fonction
    return 0;
}

Dans cette fonction, nous déclarons d'abord un tableau arr pour stocker les entrées de l'utilisateur. Nous demandons ensuite à l'utilisateur d'entrer 10 valeurs, une par une. Nous appelons ensuite la fonction SD avec le tableau arr pour obtenir l'écart-type et l'afficher dans la console.

Exécuter le programme

Maintenant, nous pouvons compiler et exécuter le programme en utilisant la commande suivante dans le terminal :

g++ ~/project/main.cpp -o main && ./main

Cette commande compilera le fichier main.cpp dans le répertoire ~/project puis exécutera l'exécutable résultant.

Vérifier la sortie

Entrons 4 5 7 8 9 6 3 2 1 7 comme entrée et vérifions si nous obtenons la bonne sortie.

Entrez 10 éléments: 4 5 7 8 9 6 3 2 1 7

Écart-type = 2,5219

Nous pouvons voir que l'écart-type est 2,5219, qui est la même valeur que celle que nous avons obtenue lorsque nous avons résolu le problème à la main.

Code complet

Voici le code complet du fichier main.cpp à titre de référence :

#include <iostream>
#include <cmath>
using namespace std;

float SD(float values[]) // fonction pour calculer l'écart-type
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calcul de la somme
    }
    mean = sum/10; // calcul de la moyenne.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calcul de l'écart-type
    return sqrt(sd / 10);
}

int main()
{
    int i;
    float arr[10];
    cout << "Entrez 10 éléments : ";
    for(i = 0; i < 10; ++i)
        cin >> arr[i];
    cout << endl << "Écart-type = " << SD(arr); // appel de la fonction
    return 0;
}

Récapitulatif

Dans ce laboratoire, nous avons appris à calculer l'écart-type d'un ensemble de nombres à l'aide de fonctions dans un programme C++. Nous avons utilisé une fonction pour calculer la variance, qui est la moyenne des carrés des différences par rapport à la moyenne, puis sa racine carrée pour obtenir l'écart-type. Nous avons également appris à lire les entrées de l'utilisateur, les stocker dans un tableau et puis appeler la fonction pour obtenir l'écart-type. Enfin, nous avons compilé et exécuté le programme pour vérifier que nous obtenions la bonne sortie.