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.')