Calcular el Área de un Trapecio en C

CBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás a calcular el área de un trapecio utilizando programación en C. El laboratorio cubre los pasos para leer los dos lados paralelos y la altura de un trapecio, y luego calcular su área utilizando la fórmula: Área = 0.5 _ (a+b) _ h. El programa solicita al usuario que ingrese los valores necesarios y luego calcula y muestra el área del trapecio.

Leer Dos Lados Paralelos y la Altura

En este paso, aprenderás a leer los dos lados paralelos y la altura de un trapecio para prepararte para calcular su área en programación C.

Primero, creemos un nuevo archivo C para el cálculo del área del trapecio:

cd ~/project
nano trapezoid_area.c

Ahora, agrega el siguiente código para leer los lados paralelos y la altura:

#include <stdio.h>

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

    // Solicitar al usuario que ingrese el primer lado paralelo
    printf("Ingrese la longitud del primer lado paralelo: ");
    scanf("%f", &side1);

    // Solicitar al usuario que ingrese el segundo lado paralelo
    printf("Ingrese la longitud del segundo lado paralelo: ");
    scanf("%f", &side2);

    // Solicitar al usuario que ingrese la altura
    printf("Ingrese la altura del trapecio: ");
    scanf("%f", &height);

    // Imprimir los valores de entrada para verificarlos
    printf("Primer lado: %.2f\n", side1);
    printf("Segundo lado: %.2f\n", side2);
    printf("Altura: %.2f\n", height);

    return 0;
}

Compila y ejecuta el programa:

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

Salida de ejemplo:

Ingrese la longitud del primer lado paralelo: 5
Ingrese la longitud del segundo lado paralelo: 7
Ingrese la altura del trapecio: 3
Primer lado: 5.00
Segundo lado: 7.00
Altura: 3.00
Explicación
  • Usamos float para almacenar números decimales para las longitudes de los lados y la altura.
  • printf() se utiliza para solicitar al usuario que ingrese los datos.
  • scanf() lee los valores de punto flotante ingresados por el usuario.
  • Imprimimos los valores de entrada para verificar que se hayan capturado correctamente.

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

En este paso, modificarás el programa C anterior para calcular el área de un trapecio utilizando la fórmula: Área = 0.5 _ (a+b) _ h.

Abre el archivo existente y actualiza el código:

cd ~/project
nano trapezoid_area.c

Reemplaza el código anterior con la siguiente implementación:

#include <stdio.h>

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

    // Solicitar al usuario que ingrese el primer lado paralelo
    printf("Ingrese la longitud del primer lado paralelo: ");
    scanf("%f", &side1);

    // Solicitar al usuario que ingrese el segundo lado paralelo
    printf("Ingrese la longitud del segundo lado paralelo: ");
    scanf("%f", &side2);

    // Solicitar al usuario que ingrese la altura
    printf("Ingrese la altura del trapecio: ");
    scanf("%f", &height);

    // Calcular el área utilizando la fórmula del área del trapecio
    area = 0.5 * (side1 + side2) * height;

    // Imprimir el área calculada
    printf("Área del trapecio: %.2f\n", area);

    return 0;
}

Compila y ejecuta el programa:

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

Salida de ejemplo:

Ingrese la longitud del primer lado paralelo: 5
Ingrese la longitud del segundo lado paralelo: 7
Ingrese la altura del trapecio: 3
Área del trapecio: 18.00
Explicación
  • Se agregó una nueva variable area para almacenar el área calculada.
  • La fórmula 0.5 * (side1 + side2) * height calcula el área del trapecio.
  • printf() muestra el área calculada con dos decimales.
  • El cálculo utiliza la fórmula estándar del área de un trapecio: A = 0.5(a+b)h

Imprimir el Área

En este paso, mejorarás el programa de cálculo del área de un trapecio añadiendo una salida formateada y manejo de errores para mejorar la experiencia del usuario.

Abre el archivo existente y actualiza el código:

cd ~/project
nano trapezoid_area.c

Reemplaza el código anterior con la siguiente implementación:

#include <stdio.h>

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

    // Validación de entrada
    printf("Calculadora de Área de Trapecio\n");
    printf("--------------------------------\n");

    // Solicitar al usuario que ingrese el primer lado paralelo
    printf("Ingrese la longitud del primer lado paralelo: ");
    if (scanf("%f", &side1) != 1 || side1 <= 0) {
        printf("Error: Entrada inválida para el primer lado.\n");
        return 1;
    }

    // Solicitar al usuario que ingrese el segundo lado paralelo
    printf("Ingrese la longitud del segundo lado paralelo: ");
    if (scanf("%f", &side2) != 1 || side2 <= 0) {
        printf("Error: Entrada inválida para el segundo lado.\n");
        return 1;
    }

    // Solicitar al usuario que ingrese la altura
    printf("Ingrese la altura del trapecio: ");
    if (scanf("%f", &height) != 1 || height <= 0) {
        printf("Error: Entrada inválida para la altura.\n");
        return 1;
    }

    // Calcular el área utilizando la fórmula del área del trapecio
    area = 0.5 * (side1 + side2) * height;

    // Salida formateada de los resultados
    printf("\nResultados del Cálculo del Trapecio:\n");
    printf("-------------------------------------\n");
    printf("Primer Lado:  %.2f\n", side1);
    printf("Segundo Lado: %.2f\n", side2);
    printf("Altura:      %.2f\n", height);
    printf("Área:        %.2f unidades cuadradas\n", area);

    return 0;
}

Compila y ejecuta el programa:

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

Salida de ejemplo:

Calculadora de Área de Trapecio
--------------------------------
Ingrese la longitud del primer lado paralelo: 5
Ingrese la longitud del segundo lado paralelo: 7
Ingrese la altura del trapecio: 3

Resultados del Cálculo del Trapecio:
-------------------------------------
Primer Lado:  5.00
Segundo Lado: 7.00
Altura:      3.00
Área:        18.00 unidades cuadradas
Explicación
  • Se añadió validación de entrada para evitar entradas inválidas.
  • Se mejoró la formatación de la salida con encabezados y etiquetas claras.
  • Se añadió manejo de errores para entradas incorrectas.
  • Se incluyó una salida descriptiva con todos los parámetros de entrada y el área calculada.
  • Se utilizó %.2f para mostrar los números de punto flotante con dos decimales.

Resumen

En este laboratorio, aprendiste primero cómo leer los dos lados paralelos y la altura de un trapecio utilizando las funciones printf() y scanf(). Luego, calculaste el área del trapecio utilizando la fórmula: Área = 0.5 _ (a+b) _ h, donde a y b son los lados paralelos y h es la altura. Finalmente, imprimiste el área calculada en la consola.