Programa de C++ para Calcular la Desviación Estándar

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos cómo escribir un programa en C++ para calcular la desviación estándar de un conjunto de números utilizando funciones. El programa demostrará cómo calcular la varianza de un conjunto de números, que es la media de las diferencias al cuadrado a partir de la media, y luego su raíz cuadrada dará la desviación estándar.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) 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{{"Programa de C++ para Calcular la Desviación Estándar"}} cpp/for_loop -.-> lab-96174{{"Programa de C++ para Calcular la Desviación Estándar"}} cpp/output -.-> lab-96174{{"Programa de C++ para Calcular la Desviación Estándar"}} cpp/user_input -.-> lab-96174{{"Programa de C++ para Calcular la Desviación Estándar"}} cpp/files -.-> lab-96174{{"Programa de C++ para Calcular la Desviación Estándar"}} cpp/math -.-> lab-96174{{"Programa de C++ para Calcular la Desviación Estándar"}} end

Definir la función para calcular la desviación estándar

Comenzaremos definiendo una función que tome una matriz de valores de tipo float y devuelva la desviación estándar de esos valores.

float SD(float values[]) // función para calcular la desviación estándar
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calculando la suma
    }
    mean = sum/10; // encontrando la media.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calculando la desviación estándar
    return sqrt(sd / 10);
}

En esta función, primero calculamos la suma de todos los valores. Luego dividimos la suma por el número total de valores para obtener la media. A continuación, calculamos la varianza sumando las diferencias al cuadrado de cada valor con respecto a la media. Después, calculamos la desviación estándar tomando la raíz cuadrada de la varianza.

Escribir la función principal para leer la entrada y mostrar los resultados

A continuación, escribimos la función main que lee la entrada del usuario, almacena los valores en una matriz, llama a la función SD para obtener la desviación estándar y luego muestra el resultado.

int main()
{
    int i;
    float arr[10];
    cout << "Enter 10 elements: ";
    for(i = 0; i < 10; ++i)
        cin >> arr[i];
    cout << endl << "Standard Deviation = " << SD(arr); // llamando a la función
    return 0;
}

En esta función, primero declaramos una matriz arr para almacenar la entrada del usuario. Luego solicitamos al usuario que ingrese 10 valores, uno a la vez. Luego llamamos a la función SD con la matriz arr para obtener la desviación estándar y la imprimimos en la consola.

Ejecutar el programa

Ahora, podemos compilar y ejecutar el programa utilizando el siguiente comando en la terminal:

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

Este comando compilará el archivo main.cpp en el directorio ~/project y luego ejecutará el ejecutable resultante.

Verificar la salida

Vamos a ingresar 4 5 7 8 9 6 3 2 1 7 como entrada y comprobar si obtenemos la salida correcta.

Enter 10 elements: 4 5 7 8 9 6 3 2 1 7

Standard Deviation = 2.5219

Podemos ver que la desviación estándar es 2.5219, que es el mismo valor que obtuvimos cuando resolvimos el problema a mano.

Código completo

A continuación, se presenta el código completo del archivo main.cpp para referencia:

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

float SD(float values[]) // función para calcular la desviación estándar
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calculando la suma
    }
    mean = sum/10; // encontrando la media.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calculando la desviación estándar
    return sqrt(sd / 10);
}

int main()
{
    int i;
    float arr[10];
    cout << "Enter 10 elements: ";
    for(i = 0; i < 10; ++i)
        cin >> arr[i];
    cout << endl << "Standard Deviation = " << SD(arr); // llamando a la función
    return 0;
}

Resumen

En este laboratorio, aprendimos cómo calcular la desviación estándar de un conjunto de números utilizando funciones en un programa de C++. Utilizamos una función para calcular la varianza, que es el promedio de las diferencias al cuadrado con respecto a la media, y luego su raíz cuadrada para obtener la desviación estándar. También aprendimos cómo leer la entrada del usuario, almacenarla en una matriz y luego llamar a la función para obtener la desviación estándar. Finalmente, compilamos y ejecutamos el programa para verificar que estábamos obteniendo la salida correcta.