Calcular el área de un triángulo en Java

Ejercicios básicos resueltos Java con estructura secuencial

Planteamos otro ejercicio que se suele realizar cuando estamos iniciando el aprendizaje del lenguaje. En este caso aprenderás a calcular el área de un triángulo en Java. Como ocurre con el resto de ejercicios básicos resueltos del curso, este ejercicio nos será muy útil para:

  • Practicar la entrada de datos por teclado mediante la clase Scanner
  • Realizar la conversión de fórmulas matemáticas a expresiones algorítmicas válidas en Java
  • Practicar con los operadores aritméticos Java y repasar el orden de precendencia de los operadores
  • Utilizar los métodos de la clase Math para realizar operaciones como Math.pow y Math.sqrt
  • Mostrar datos formateados por consola mediante printf

En este ejercicio vamos a calcular el área del triángulo en java de dos formas:

Calcular el área a partir de la base y la altura.
Calcular el área a partir de la longitud de sus lados.

Por lo tanto se realizarán dos ejercicios para calcular el área del triángulo, uno para cada forma de hacerlo.

EJERCICIO 1: Programa para calcular el área de un triángulo en Java conociendo su base y su altura

Escribe un programa que lea por teclado la base y la altura de un triángulo y calcule su área.

Esta sería la forma clásica de calcular el área del triángulo. Si conocemos la base y la altura, la fórmula del área es:

calcular el área de un triángulo en java

Donde b es la longitud de la base del triángulo y h su altura.

El programa deberá hacer lo siguiente:

Primero se pedirá al usuario que introduzca los valores para la base y la altura del triángulo.
Introduce la base del triángulo: 10,56
Introduce la altura del triángulo: 4,93

La base y la altura pueden contener decimales por lo que las variables las tendremos que declarar del tipo adecuado para ello.

A continuación se calcula el área del triángulo y se mostrará por pantalla.
Área del triángulo: 26.0304

SOLUCIÓN EJERCICIO 1

//Programa Java para calcular el área de un triángulo conociendo la base y la altura
import java.util.Scanner;
public class AreaTriangulo {
    public static void main(String[] args) {

        //se crea un Scanner para la lectura de datos por teclado
        Scanner sc = new Scanner(System.in);

        //se crean las variables base, altura y area de tipo double
        double base, altura, area;

        //introducir por teclado el valor de la base
        System.out.print("Introduce la base del triángulo: ");
        base = sc.nextDouble();  //se introduce un valor de tipo double y se asigna a base
        
        //introducir por teclado el valor de la altura
        System.out.print("Introduce la altura del triángulo: ");
        altura = sc.nextDouble();  //se introduce un valor de tipo double y se asigna a altura

        //se calcula el área del triángulo
        area = base * altura / 2;

        //Se muestra por pantalla el área del triángulo 
        System.out.println("Área del triángulo: " + area);
    }
}

La fórmula matemática del área del triángulo la hemos convertido en una expresión Java de esta forma:

area = base * altura / 2

El java los operadores multiplicación y división tienen la misma prioridad y se evalúan de izquierda a derecha por lo que podemos escribir la fórmula de esta forma sin necesidad de utilizar paréntesis.

EJERCICIO 2: Programa para calcular el área de un triángulo en Java conociendo la longitud de sus lados

Escribe un programa que lea por teclado la longitud de cada lado del triángulo y calcule su área.

Para calcular el área del triángulo a partir de la longitud de sus lados se utiliza la llamada fórmula de Herón.

calcular el área de un triángulo en java utilizando la fórmula de Herón

El programa deberá actuar de esta forma:

Primero se pedirá al usuario que introduzca los valores de los tres lados del triángulo. Las longitudes de los lados pueden contener decimales.
Introduce longitud del primer lado: 3,89
Introduce longitud del segundo lado: 4,7
Introduce longitud del tercer lado: 5,048
A continuación se aplicará la fórmula de Herón para calcular el área del triángulo. Habrá que pasar la fórmula matemática a una expresión algorítmica válida en Java, es decir, tendremos que expresar la fórmula mediante operadores y métodos Java.

Para calcular la raíz cuadrada, en Java se utiliza el método Math.sqrt().

Por ejemplo, para calcular √x escribiremos Math.sqrt(x)

El método Math.sqrt devuelve un valor de tipo double.

Por último el programa mostrará por consola el área del triángulo con dos decimales.
Área del triángulo: 8,66

SOLUCIÓN EJERCICIO 2

//Programa Java que calcula el área de un triángulo a partir de la longitud de sus lados
import java.util.Scanner;
public class AreaTriangulo2 {
    public static void main(String[] args) {

        //se crea un Scanner para la lectura de datos por teclado
        Scanner sc = new Scanner(System.in);

        //se crean todas las variables de tipo double
        double a, b, c, s, area;

        //introducir por teclado el valor para cada lado del triángulo
        System.out.print("Introduce longitud del primer lado: ");
        a = sc.nextDouble();  
        
        System.out.print("Introduce longitud del segundo lado: ");
        b = sc.nextDouble(); 
        
        System.out.print("Introduce longitud del tercer lado: ");
        c = sc.nextDouble(); 

        //cálculo del área del triángulo utilizando la fórmula de Herón
        //primero calculamos el valor de s
        s = (a + b + c) / 2;
        //después se calcula el área
        area = Math.sqrt(s * (s - a) * (s - b) * (s - c));

        //Se muestra por pantalla el área del triángulo con dos decimales
        System.out.printf("Área del triángulo: %.2f%n" , area);
    }
}

Recuerda que el operador + tiene menos prioridad que el operador / (la suma tiene menos prioridad que la división). Para calcular el valor de s es necesario escribir la suma de los lados entre paréntesis y el resultado de la suma después se dividirá entre 2.

Recuerda también que en Java la división entre enteros da como resultado un número entero sin decimales. Por lo tanto las variables a, b, c deben declararse de tipo float o double.

Además, el método Math.sqrt devuelve un valor de tipo double por lo que la variable area tendrá que ser declarada de tipo double.

Errores comunes que se suelen cometer al realizar estos ejercicios

Utilizar el tipo int en lugar del tipo double para las longitudes de los lados o la altura. Si utilizamos el tipo int provocaremos un error en los cálculos tanto en el primer ejercicio como en el segundo ya que la división entre 2 no nos dará decimales y el resultado no será correcto.
No utilizar el tipo double para la variable area. El método Math.sqrt para calcular la raíz cuadrada devuelve un dato de tipo double por lo que la variable area debe ser declarada de tipo double. No puede ser de tipo float.
En el Ejercicio 2 olvidarnos del paréntesis al calcular el valor de s. Como la división tiene mayor prioridad que la suma, primero se haría la división c / 2 y después se sumarían los valores de a y b obteniendo un resultado erróneo.
En el Ejercicio 2 olvidarnos de los paréntesis o cambiar los operandos de lugar.

Variantes del ejercicio para seguir practicando

Utiliza el tipo float en lugar del double para la longitud de los lados y la altura y comprueba si hay diferencia en el resultado.
Muestra el valor del área con un número distinto de decimales.
Modifica la salida de datos por consola de forma que se muestren también los datos introducidos.
En el Ejercicio 2 muestra también el valor del perímetro del triángulo.

Ejercicios relacionados

Este ejercicio para calcular el área de un triángulo en Java está relacionado con otros ejercicios que también utilizan fórmulas matemáticas y que te pueden servir para seguir practicando cómo convertir las fórmulas matemáticas a expresiones Java, la entrada de datos por teclado, los operadores aritméticos en Java y su orden de precedencia, los métodos de la clase Math, la salida por consola de datos, etc.

FAQ – Preguntas frecuentes

¿Cómo se calcula el área de un triángulo?

La fórmula para calcular el área de un triángulo es área = (base · altura) / 2

¿Cuál es la fórmula para calcular el área de un triángulo en Java?

La fórmula para calcular el área de un triángulo en Java es area = base * altura / 2

¿Qué es la fórmula de Herón?

Es una fórmula matemática que permite calcular el área de un triángulo conociendo solo la longitud de sus tres lados, sin usar altura.

¿Cómo se calcula el área de un triángulo con la fórmula de Herón?

La fórmula para calcular el área de un triángulo usando la fórmula de Herón es:

área = √s(s-a)(s-b)(s-c)

donde a, b, c son los lados del triángulo y s = (a + b + c) / 2

¿Cuál es la fórmula para calcular el área de un triángulo en Java con la fórmula de Herón?

La fórmula para calcular el área de un triángulo a partir de la longitud de sus lados (fórmula de Herón) es:

area = Math.sqrt(s * (s - a) * (s - b) * (s - c));

donde a, b, c son los lados del triángulo y s = (a + b + c) / 2

¿Cuál es el tipo de dato más adecuado para las longitudes de los lados del triángulo?

Las longitudes de los lados del triángulo pueden contener decimales por lo que los tipos de datos adecuados son los tipos float y double. Se recomienda el tipo double para evitar errores de precisión.

¿Qué tipo de dato se debe usar para el área del triángulo?

El tipo de dato recomendado para el área del triángulo es el tipo double.

Si el área se calcula con la fórmula clásica base * altura / 2 y las variables son de tipo float, el área puede ser de tipo float.

Si el área se calcula con la fórmula de Herón, la variable debe ser declara de tipo double ya que el método Math.sqrt devuelve un valor de tipo double.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio