Calcular a Média de um Conjunto de Dados em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a calcular a média de um conjunto de dados em programação C. O laboratório cobre os seguintes passos:

  1. Ler um array de números a partir da entrada do utilizador.
  2. Calcular a soma dos números e, em seguida, calcular a média dividindo a soma pelo número de números.
  3. Imprimir a média calculada.

O laboratório fornece um guia passo a passo, incluindo código de exemplo, para ajudá-lo a compreender o processo de cálculo da média em C. No final deste laboratório, você terá as competências para analisar e resumir dados numéricos usando programação C.

Ler um Array de Números

Neste passo, aprenderá a ler um array de números em programação C. Criaremos um programa simples que permite aos utilizadores introduzir um conjunto de números e armazená-los num array.

Primeiro, crie um novo ficheiro C no diretório ~/project:

cd ~/project
nano mean_calculation.c

Agora, introduza o seguinte código:

#include <stdio.h>

#define MAX_SIZE 100

int main() {
    int numbers[MAX_SIZE];
    int count;

    // Solicita ao utilizador o número de elementos
    printf("Introduza o número de elementos (máx. %d): ", MAX_SIZE);
    scanf("%d", &count);

    // Validação de entrada
    if (count <= 0 || count > MAX_SIZE) {
        printf("Número de elementos inválido!\n");
        return 1;
    }

    // Lê os números para o array
    printf("Introduza %d números:\n", count);
    for (int i = 0; i < count; i++) {
        printf("Introduza o número %d: ", i + 1);
        scanf("%d", &numbers[i]);
    }

    // Imprime os números introduzidos
    printf("\nOs números introduzidos são:\n");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\n");

    return 0;
}

Compile o programa:

gcc mean_calculation.c -o mean_calculation

Execute o programa:

./mean_calculation

Exemplo de saída:

Introduza o número de elementos (máx. 100): 5
Introduza 5 números:
Introduza o número 1: 10
Introduza o número 2: 20
Introduza o número 3: 30
Introduza o número 4: 40
Introduza o número 5: 50

Os números introduzidos são:
10 20 30 40 50

Vamos analisar as partes principais do código:

  • #define MAX_SIZE 100 define um limite máximo para o tamanho do array
  • scanf() é usado para ler o número de elementos e os números individuais
  • Validamos a entrada para garantir que está dentro do intervalo permitido
  • Um ciclo for é usado para introduzir e depois exibir os números

Este programa demonstra como:

  1. Declarar um array com um tamanho máximo
  2. Obter o número de elementos do utilizador
  3. Introduzir números no array
  4. Validar a entrada do utilizador
  5. Exibir os números introduzidos

Calcular Soma e Média = Soma/Contagem

Neste passo, estenderemos o programa anterior para calcular a soma e a média dos números introduzidos pelo utilizador.

Abra o ficheiro existente:

cd ~/project
nano mean_calculation.c

Modifique o código para incluir o cálculo da soma e da média:

#include <stdio.h>

#define MAX_SIZE 100

int main() {
    int numbers[MAX_SIZE];
    int count;
    int sum = 0;
    float mean;

    // Solicita ao utilizador o número de elementos
    printf("Introduza o número de elementos (máx. %d): ", MAX_SIZE);
    scanf("%d", &count);

    // Validação de entrada
    if (count <= 0 || count > MAX_SIZE) {
        printf("Número de elementos inválido!\n");
        return 1;
    }

    // Lê os números para o array e calcula a soma
    printf("Introduza %d números:\n", count);
    for (int i = 0; i < count; i++) {
        printf("Introduza o número %d: ", i + 1);
        scanf("%d", &numbers[i]);
        sum += numbers[i];
    }

    // Calcula a média
    mean = (float)sum / count;

    // Imprime os resultados
    printf("\nOs números introduzidos são:\n");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\n");

    printf("Soma dos números: %d\n", sum);
    printf("Média dos números: %.2f\n", mean);

    return 0;
}

Compile o programa:

gcc mean_calculation.c -o mean_calculation

Execute o programa:

./mean_calculation

Exemplo de saída:

Introduza o número de elementos (máx. 100): 5
Introduza 5 números:
Introduza o número 1: 10
Introduza o número 2: 20
Introduza o número 3: 30
Introduza o número 4: 40
Introduza o número 5: 50

Os números introduzidos são:
10 20 30 40 50
Soma dos números: 150
Média dos números: 30.00

Alterações chave nesta versão:

  • Variável sum adicionada para acompanhar o total de todos os números
  • Cálculo da soma integrado no ciclo de entrada
  • Média calculada dividindo a soma pela contagem
  • Utilização de conversão de tipo (float) para garantir divisão em ponto flutuante
  • Saída adicionada para a soma e a média com impressão formatada

O programa agora demonstra:

  1. Calcular a soma dos elementos do array
  2. Calcular a média aritmética
  3. Exibir os resultados com precisão

Imprimir a Média

Neste passo final, refatoraremos o código para criar uma função para calcular e imprimir a média, tornando o nosso programa mais modular e legível.

Abra o ficheiro existente:

cd ~/project
nano mean_calculation.c

Atualize o código com uma função dedicada para o cálculo da média:

#include <stdio.h>

#define MAX_SIZE 100

// Função para calcular e imprimir a média
void calculateMean(int numbers[], int count) {
    if (count <= 0) {
        printf("Erro: Não há números para calcular a média.\n");
        return;
    }

    int sum = 0;
    float mean;

    // Calcula a soma
    for (int i = 0; i < count; i++) {
        sum += numbers[i];
    }

    // Calcula a média
    mean = (float)sum / count;

    // Imprime estatísticas detalhadas
    printf("\nEstatísticas:\n");
    printf("Número de elementos: %d\n", count);
    printf("Soma dos números: %d\n", sum);
    printf("Média dos números: %.2f\n", mean);
}

int main() {
    int numbers[MAX_SIZE];
    int count;

    // Solicita ao utilizador o número de elementos
    printf("Introduza o número de elementos (máx. %d): ", MAX_SIZE);
    scanf("%d", &count);

    // Validação de entrada
    if (count <= 0 || count > MAX_SIZE) {
        printf("Número de elementos inválido!\n");
        return 1;
    }

    // Lê os números para o array
    printf("Introduza %d números:\n", count);
    for (int i = 0; i < count; i++) {
        printf("Introduza o número %d: ", i + 1);
        scanf("%d", &numbers[i]);
    }

    // Imprime os números introduzidos
    printf("\nNúmeros introduzidos:\n");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\n");

    // Calcula e imprime a média
    calculateMean(numbers, count);

    return 0;
}

Compile o programa:

gcc mean_calculation.c -o mean_calculation

Execute o programa:

./mean_calculation

Exemplo de saída:

Introduza o número de elementos (máx. 100): 4
Introduza 4 números:
Introduza o número 1: 10
Introduza o número 2: 20
Introduza o número 3: 30
Introduza o número 4: 40

Números introduzidos:
10 20 30 40
Estatísticas:
Número de elementos: 4
Soma dos números: 100
Média dos números: 25.00

Melhorias chave nesta versão:

  • Criada uma função separada calculateMean()
  • Adicionada saída estatística mais detalhada
  • Melhorada a gestão de erros para casos limite
  • Mantida a mesma funcionalidade principal das etapas anteriores
  • Código mais modular e fácil de ler

O programa demonstra:

  1. Abordagem baseada em funções para cálculos
  2. Saída estatística abrangente
  3. Design de código modular

Resumo

Neste laboratório, aprenderá a ler um array de números em programação C, calcular a soma e a média do conjunto de dados e, em seguida, imprimir a média. Primeiro, solicitará ao utilizador que introduza um conjunto de números e os armazenará num array. Em seguida, calculará a soma dos números e dividirá por a contagem para encontrar a média. Finalmente, imprimirá a média calculada.

Os passos principais abordados neste laboratório incluem a declaração de um array com um tamanho máximo, a obtenção do número de elementos do utilizador, a introdução de números no array, a validação da entrada do utilizador e a exibição dos números introduzidos. No final do laboratório, terá uma compreensão clara de como calcular a média de um conjunto de dados em programação C.