Programa em C++ para Calcular o Desvio Padrão

C++Beginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como escrever um programa C++ para calcular o desvio padrão de um conjunto de números usando funções. O programa demonstrará como calcular a variância de um conjunto de números, que é a média das diferenças quadráticas em relação à média, e então sua raiz quadrada fornecerá o desvio padrão.

Definir a função para calcular o desvio padrão

Começaremos definindo uma função que recebe um array de valores float e retorna o desvio padrão desses valores.

float SD(float values[]) // função para calcular o desvio padrão
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calculando a soma
    }
    mean = sum/10; // encontrando a média.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calculando o desvio padrão
    return sqrt(sd / 10);
}

Nesta função, primeiro calculamos a soma de todos os valores. Em seguida, dividimos a soma pelo número total de valores para obter a média (mean). Depois, calculamos a variância (variance) somando as diferenças quadráticas de cada valor em relação à média. Após isso, calculamos o desvio padrão (standard deviation) tirando a raiz quadrada da variância.

Escrever a função principal para ler a entrada e exibir os resultados

Em seguida, escrevemos a função main, que lê a entrada do usuário, armazena os valores em um array, chama a função SD para obter o desvio padrão e, em seguida, exibe o 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); // chamando a função
    return 0;
}

Nesta função, primeiro declaramos um array arr para armazenar a entrada do usuário. Em seguida, solicitamos ao usuário que insira 10 valores, um de cada vez. Depois, chamamos a função SD com o array arr para obter o desvio padrão e o imprimimos no console.

Executar o programa

Agora, podemos compilar e executar o programa usando o seguinte comando no terminal:

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

Este comando compilará o arquivo main.cpp no diretório ~/project e, em seguida, executará o executável resultante.

Verificar a saída

Vamos inserir 4 5 7 8 9 6 3 2 1 7 como entrada e verificar se estamos obtendo a saída correta.

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

Standard Deviation = 2.5219

Podemos ver que o desvio padrão é 2.5219, que é o mesmo valor que obtivemos quando resolvemos o problema manualmente.

Código completo

Aqui está o código completo do arquivo main.cpp para referência:

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

float SD(float values[]) // function for calculating standadr deviation
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calculating sum
    }
    mean = sum/10; // finding mean.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calculating standard deviation
    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); // calling function
    return 0;
}

Resumo

Neste laboratório, aprendemos como calcular o desvio padrão de um conjunto de números usando funções em um programa C++. Usamos uma função para calcular a variância (variance), que é a média das diferenças quadradas em relação à média, e então sua raiz quadrada para obter o desvio padrão. Também aprendemos como ler a entrada do usuário, armazená-la em um array (vetor) e, em seguida, chamar a função para obter o desvio padrão. Finalmente, compilamos e executamos o programa para verificar se estávamos obtendo a saída correta.