Calcular a Área de um Trapézio em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a calcular a área de um trapézio usando programação em C. O laboratório cobre os passos para ler os dois lados paralelos e a altura de um trapézio, e então calcular sua área usando a fórmula: Área = 0,5 _ (a+b) _ h. O programa solicita ao usuário que insira os valores necessários e, em seguida, calcula e exibe a área do trapézio.

Ler Dois Lados Paralelos e a Altura

Neste passo, você aprenderá a ler os dois lados paralelos e a altura de um trapézio para se preparar para calcular sua área em programação C.

Primeiro, vamos criar um novo arquivo C para o cálculo da área do trapézio:

cd ~/project
nano trapezoid_area.c

Agora, adicione o seguinte código para ler os lados paralelos e a altura:

#include <stdio.h>

int main() {
    float side1, side2, height;

    // Solicitar ao usuário para inserir o primeiro lado paralelo
    printf("Digite o comprimento do primeiro lado paralelo: ");
    scanf("%f", &side1);

    // Solicitar ao usuário para inserir o segundo lado paralelo
    printf("Digite o comprimento do segundo lado paralelo: ");
    scanf("%f", &side2);

    // Solicitar ao usuário para inserir a altura
    printf("Digite a altura do trapézio: ");
    scanf("%f", &height);

    // Imprimir os valores de entrada para verificação
    printf("Primeiro lado: %.2f\n", side1);
    printf("Segundo lado: %.2f\n", side2);
    printf("Altura: %.2f\n", height);

    return 0;
}

Compile e execute o programa:

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

Exemplo de saída:

Digite o comprimento do primeiro lado paralelo: 5
Digite o comprimento do segundo lado paralelo: 7
Digite a altura do trapézio: 3
Primeiro lado: 5.00
Segundo lado: 7.00
Altura: 3.00
Explicação
  • Usamos float para armazenar números decimais para os comprimentos dos lados e a altura
  • printf() é usado para solicitar ao usuário a entrada
  • scanf() lê os valores em ponto flutuante inseridos pelo usuário
  • Imprimimos os valores de entrada para verificar se foram capturados corretamente

Calcular Área = 0.5*(a+b)*h

Neste passo, você modificará o programa C anterior para calcular a área de um trapézio usando a fórmula: Área = 0,5 _ (a+b) _ h.

Abra o arquivo existente e atualize o código:

cd ~/project
nano trapezoid_area.c

Substitua o código anterior pela seguinte implementação:

#include <stdio.h>

int main() {
    float side1, side2, height, area;

    // Solicitar ao usuário para inserir o primeiro lado paralelo
    printf("Digite o comprimento do primeiro lado paralelo: ");
    scanf("%f", &side1);

    // Solicitar ao usuário para inserir o segundo lado paralelo
    printf("Digite o comprimento do segundo lado paralelo: ");
    scanf("%f", &side2);

    // Solicitar ao usuário para inserir a altura
    printf("Digite a altura do trapézio: ");
    scanf("%f", &height);

    // Calcular a área usando a fórmula da área do trapézio
    area = 0.5 * (side1 + side2) * height;

    // Imprimir a área calculada
    printf("Área do Trapézio: %.2f\n", area);

    return 0;
}

Compile e execute o programa:

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

Exemplo de saída:

Digite o comprimento do primeiro lado paralelo: 5
Digite o comprimento do segundo lado paralelo: 7
Digite a altura do trapézio: 3
Área do Trapézio: 18.00
Explicação
  • Adicionamos uma nova variável area para armazenar a área calculada
  • A fórmula 0.5 * (side1 + side2) * height calcula a área do trapézio
  • printf() exibe a área calculada com duas casas decimais
  • O cálculo utiliza a fórmula padrão da área do trapézio: A = 0,5(a+b)h

Imprimir a Área

Neste passo, você aprimorará o programa de cálculo da área do trapézio adicionando saída formatada e tratamento de erros para melhorar a experiência do usuário.

Abra o arquivo existente e atualize o código:

cd ~/project
nano trapezoid_area.c

Substitua o código anterior pela seguinte implementação:

#include <stdio.h>

int main() {
    float side1, side2, height, area;

    // Validação de entrada
    printf("Calculadora de Área de Trapézio\n");
    printf("---------------------------------\n");

    // Solicitar ao usuário para inserir o primeiro lado paralelo
    printf("Digite o comprimento do primeiro lado paralelo: ");
    if (scanf("%f", &side1) != 1 || side1 <= 0) {
        printf("Erro: Entrada inválida para o primeiro lado.\n");
        return 1;
    }

    // Solicitar ao usuário para inserir o segundo lado paralelo
    printf("Digite o comprimento do segundo lado paralelo: ");
    if (scanf("%f", &side2) != 1 || side2 <= 0) {
        printf("Erro: Entrada inválida para o segundo lado.\n");
        return 1;
    }

    // Solicitar ao usuário para inserir a altura
    printf("Digite a altura do trapézio: ");
    if (scanf("%f", &height) != 1 || height <= 0) {
        printf("Erro: Entrada inválida para a altura.\n");
        return 1;
    }

    // Calcular a área usando a fórmula da área do trapézio
    area = 0.5 * (side1 + side2) * height;

    // Saída formatada dos resultados
    printf("\nResultados do Cálculo do Trapézio:\n");
    printf("-------------------------------------\n");
    printf("Primeiro Lado:  %.2f\n", side1);
    printf("Segundo Lado: %.2f\n", side2);
    printf("Altura:      %.2f\n", height);
    printf("Área:        %.2f unidades quadradas\n", area);

    return 0;
}

Compile e execute o programa:

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

Exemplo de saída:

Calculadora de Área de Trapézio
---------------------------------
Digite o comprimento do primeiro lado paralelo: 5
Digite o comprimento do segundo lado paralelo: 7
Digite a altura do trapézio: 3

Resultados do Cálculo do Trapézio:
-------------------------------------
Primeiro Lado:  5.00
Segundo Lado: 7.00
Altura:      3.00
Área:        18.00 unidades quadradas
Explicação
  • Adicionada validação de entrada para evitar entradas inválidas.
  • Formato de saída aprimorado com cabeçalhos e rótulos claros.
  • Tratamento de erros para tipos de entrada incorretos.
  • Saída descritiva com todos os parâmetros de entrada e área calculada.
  • Usado %.2f para exibir números de ponto flutuante com duas casas decimais.

Resumo

Neste laboratório, você aprendeu inicialmente a ler os dois lados paralelos e a altura de um trapézio usando as funções printf() e scanf(). Em seguida, calculou a área do trapézio usando a fórmula: Área = 0,5 _ (a+b) _ h, onde a e b são os lados paralelos e h é a altura. Finalmente, imprimiu a área calculada no console.