Saltar a contenido

Triángulo

Dados \(3\) números reales que forman un triángulo debemos indicar qué tipo de triángulo es según sus lados (equilátero, isósceles o escaleno) y según sus ángulos. Considerando \(c\) como el lado de mayor longitud:

  • Si \(a^2 + b^2 = c^2\) es rectángulo
  • Si \(a^2 + b^2 < c^2\) es obtusángulo
  • Si \(a^2 + b^2 > c^2\) es acutángulo

Debe validar que el triángulo cumpla con la desigualdad triangular, esto es,

\[\begin{equation} (a + b) > c, \quad (a + c) > b, \quad (b + c) > a. \end{equation}\]

Ejemplos

Ingrese a: 3.9
Ingrese b: 6.0
Ingrese c: 1.2
No es un triángulo válido.
Ingrese a: 2.0
Ingrese b: 1.9
Ingrese c: 2.0
El triángulo es isósceles.
Además es acutángulo.
Ingrese a: 3.0
Ingrese b: 5.0
Ingrese c: 4.0
El triángulo es escaleno.
Además es rectángulo.
Ingrese a: 3.14
Ingrese b: 3.14
Ingrese c: 3.14
El triángulo es equilatero.
Además es acutángulo.
Solución
# Programa que valida un triángulo y dice de qué tipo es
a = float(input('Ingrese a: '))
b = float(input('Ingrese b: '))
c = float(input('Ingrese c: '))

if a + b > c and a + c > b and b + c > a: # Cumple desigualdad triangular

   # Se determina ahora el tipo de triángulo de acuerdo a sus lados:
   if a == b and b == c:
      print('El triángulo es equilátero')
   elif a == b or a == c or b == c:
      print('El triángulo es isósceles')
   else:
      print('El triángulo es escaleno')

   # Se determina ahora el tipo de triángulo de acuerdo a sus ángulos:
   # Primero se deja el lado mayor en hipotenusa y los restantes en a y b
   if a >= b and a >= c:
      temp = c
      c = a
      a = temp
   elif b >= a and b >= c:
      temp = c
      c = b
      b = temp

   # Ahora se determina el tipo
   if a ** 2 + b ** 2 == c ** 2:
      print('Además es rectángulo.')
   elif a ** 2 + b ** 2 < c ** 2:
      print('Además es obtusángulo.')
   else:
      print('Además es acutángulo.')
else:
   # No cumple la desigualdad triangular
   print('No es un triángulo válido.')