Introdução
Neste laboratório, aprenderá a calcular o desvio padrão de um conjunto de dados em programação C. O laboratório cobre três etapas principais: calcular a média do conjunto de dados, somar os desvios quadrados da média para calcular a variância e, em seguida, calcular a raiz quadrada para obter o desvio padrão. No final deste laboratório, terá uma compreensão sólida destes conceitos estatísticos fundamentais e como implementá-los em C.
O laboratório fornece instruções passo a passo e código de exemplo para guiá-lo através do processo. Começará escrevendo um programa C para calcular a média de um conjunto de dados dado, depois estenderá o programa para calcular a variância somando os desvios quadrados da média. Finalmente, calculará a raiz quadrada da variância para determinar o desvio padrão e imprimirá o resultado.
Calcular a Média do Conjunto de Dados
Nesta etapa, aprenderá a calcular a média de um conjunto de dados em programação C. A média é uma medida estatística fundamental que representa o valor médio de um conjunto de números.
Primeiro, vamos criar um programa C para calcular a média de um conjunto de dados. Abra um novo ficheiro usando o nano:
cd ~/project
nano mean_calculation.c
Agora, insira o seguinte código:
#include <stdio.h>
#define MAX_SIZE 100
float calculateMean(int arr[], int size) {
float sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
int main() {
int dataset[MAX_SIZE];
int size;
printf("Introduza o número de elementos (máximo %d): ", MAX_SIZE);
scanf("%d", &size);
printf("Introduza %d inteiros:\n", size);
for (int i = 0; i < size; i++) {
scanf("%d", &dataset[i]);
}
float mean = calculateMean(dataset, size);
printf("Média do conjunto de dados: %.2f\n", mean);
return 0;
}
Compile o programa:
gcc mean_calculation.c -o mean_calculation
Execute o programa e introduza alguns dados de exemplo:
./mean_calculation
Exemplo de saída:
Introduza o número de elementos (máximo 100): 5
Introduza 5 inteiros:
10
20
30
40
50
Média do conjunto de dados: 30.00
Vamos decompor o código:
- Definimos uma função
calculateMeanque recebe um array e o seu tamanho como parâmetros. - A função calcula a soma de todos os elementos do array.
- A média é calculada dividindo a soma pelo número total de elementos.
- Na função
main, solicitamos ao utilizador que introduza o conjunto de dados. - Chamamos
calculateMeane imprimimos o resultado com duas casas decimais.
Somar os Desvios Quadrados e Calcular a Variância
Nesta etapa, irá estender o programa anterior para calcular a variância, somando os desvios quadrados da média. A variância mede o quão dispersos estão os números num conjunto de dados.
Abra o ficheiro anterior para modificar:
cd ~/project
nano mean_calculation.c
Atualize o programa com o cálculo da variância:
#include <stdio.h>
#include <math.h>
#define MAX_SIZE 100
float calculateMean(int arr[], int size) {
float sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
float calculateVariance(int arr[], int size, float mean) {
float sumSquaredDeviations = 0;
for (int i = 0; i < size; i++) {
float deviation = arr[i] - mean;
sumSquaredDeviations += deviation * deviation;
}
return sumSquaredDeviations / size;
}
int main() {
int dataset[MAX_SIZE];
int size;
printf("Introduza o número de elementos (máximo %d): ", MAX_SIZE);
scanf("%d", &size);
printf("Introduza %d inteiros:\n", size);
for (int i = 0; i < size; i++) {
scanf("%d", &dataset[i]);
}
float mean = calculateMean(dataset, size);
float variance = calculateVariance(dataset, size, mean);
printf("Média do conjunto de dados: %.2f\n", mean);
printf("Variância do conjunto de dados: %.2f\n", variance);
return 0;
}
Compile o programa atualizado:
gcc mean_calculation.c -o mean_calculation -lm
Execute o programa e introduza dados de exemplo:
./mean_calculation
Exemplo de saída:
Introduza o número de elementos (máximo 100): 5
Introduza 5 inteiros:
10
20
30
40
50
Média do conjunto de dados: 30.00
Variância do conjunto de dados: 200.00
Pontos chave no código:
- Adicionámos uma nova função
calculateVarianceque recebe o array, o tamanho e a média. - A função calcula o desvio de cada elemento em relação à média.
- Ele eleva estes desvios ao quadrado e soma-os.
- A variância é calculada dividindo a soma dos desvios quadrados pelo número de elementos.
- Usamos a flag
-lmao compilar para ligar a biblioteca matemática.
Extrair a Raiz Quadrada para o Desvio Padrão e Imprimir
Nesta etapa final, irá completar o cálculo do desvio padrão extraindo a raiz quadrada da variância. O desvio padrão é uma medida fundamental da dispersão de dados na análise estatística.
Abra o ficheiro anterior para modificar:
cd ~/project
nano mean_calculation.c
Atualize o programa com o cálculo do desvio padrão:
#include <stdio.h>
#include <math.h>
#define MAX_SIZE 100
float calculateMean(int arr[], int size) {
float sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
float calculateVariance(int arr[], int size, float mean) {
float sumSquaredDeviations = 0;
for (int i = 0; i < size; i++) {
float deviation = arr[i] - mean;
sumSquaredDeviations += deviation * deviation;
}
return sumSquaredDeviations / size;
}
float calculateStandardDeviation(float variance) {
return sqrt(variance);
}
int main() {
int dataset[MAX_SIZE];
int size;
printf("Introduza o número de elementos (máximo %d): ", MAX_SIZE);
scanf("%d", &size);
printf("Introduza %d inteiros:\n", size);
for (int i = 0; i < size; i++) {
scanf("%d", &dataset[i]);
}
float mean = calculateMean(dataset, size);
float variance = calculateVariance(dataset, size, mean);
float standardDeviation = calculateStandardDeviation(variance);
printf("Estatísticas do Conjunto de Dados:\n");
printf("Média: %.2f\n", mean);
printf("Variância: %.2f\n", variance);
printf("Desvio Padrão: %.2f\n", standardDeviation);
return 0;
}
Compile o programa atualizado:
gcc mean_calculation.c -o mean_calculation -lm
Execute o programa e introduza dados de exemplo:
./mean_calculation
Exemplo de saída:
Introduza o número de elementos (máximo 100): 5
Introduza 5 inteiros:
10
20
30
40
50
Estatísticas do Conjunto de Dados:
Média: 30.00
Variância: 200.00
Desvio Padrão: 14.14
Pontos chave no código:
- Adicionámos uma nova função
calculateStandardDeviation. - Esta função utiliza
sqrt()da biblioteca matemática para calcular o desvio padrão. - O desvio padrão é a raiz quadrada da variância.
- A função principal agora imprime as três medidas estatísticas.
- Continuamos a usar a flag
-lmpara ligar a biblioteca matemática.
Resumo
Neste laboratório, aprendeu primeiro a calcular a média de um conjunto de dados em programação C. A média é uma medida estatística fundamental que representa o valor médio de um conjunto de números. Em seguida, estendeu o programa para calcular a variância somando os desvios quadrados da média. A variância mede o quão dispersos estão os números num conjunto de dados. Finalmente, aprendeu a extrair a raiz quadrada da variância para calcular o desvio padrão e imprimir o resultado.



