Respuestas
acutangulo menor a 30 grados
obtusangulo mayor a 70 grados
tectangulo en forma de L
Emanuel por medio de un comentario me pidió ayuda para hacer un programa en c++ que nos dijera si un triángulo es rectángulo, acutángulo u obtusángulo pidiendo solamente los lados. El programa me pareció interesante de hacer y pues lo hice :)
El programa resulta bastante sencillo, pero para deducir cómo hacerlo está un poco complicado. Veamos la siguiente imágen:
El triángulo 1 es un clásico triángulo rectángulo. Si aumentáramos el lado c de 5 a 6 obviamente el ángulo aumentaría y por lo tanto sería un triángulo obtusángulo (2). Si por el contrario, disminuyéramos el lado de c 5 a 4, el ángulo disminuiría y por lo tanto sería un triángulo acutángulo (3).
Sabiendo esto veamos cómo se comporta Pitágoras en cada caso (o sea no él, su teorema):
Si despejamos su famoso teorema obtenemos que a2 + b2 – c2 = 0.
Veamos como se comporta este teorema en nuestro triángulo 1:
32 + 42 - 52 = 0
¡Listo!, ya sabemos que el triángulo es rectángulo, porque el teorema de Pitágoras sólo sirve para triángulos rectángulos.
Ahora con el triángulo 2 (obtusángulo):
32 + 42 - 62 = -11
¡Un número negativo! Con los triángulos obtusángulos el teorema de Pitágoras da números negativos.
Y por último el triángulo 3 (acutángulo):
32 + 42 - 42 = 9
¡Un número positivo! Con los triángulos acutángulos el teorema de Pitágoras da números positivos.
Ahora que ya sabemos cómo identificar cada triángulo nos surge otro problema: El usuario sólo va a introducir tres lados cualquiera, ¿cómo saber cual es a, cual es b y cual es c? Pues no hay forma de saberlo, hay que hacer cada paso tres veces tomando el teorema como a2 + b2 – c2, luego a2 + c2 – b2 y al final b2 + c2 – a2.
Ahora si, veamos el programa:
#include<iostream>
using namespace std;
int main()
{
int a, b, c, A, B, C;
cout << "Introduce lado 1: "; cin >> a;
cout << "Introduce lado 2: "; cin >> b;
cout << "Introduce lado 3: "; cin >> c;
A = (b*b+c*c-a*a);
B = (a*a+c*c-b*b);
C = (a*a+b*b-c*c);
if(A == 0 || B == 0 || C == 0)
cout << "El triangulo es rectangulo. ";
if(A > 0 && B > 0 && C > 0)
cout << "El triangulo es acutangulo. ";
if(A < 0 || B < 0 || C < 0)
cout << "El triangulo es obtusangulo. ";
}
La única parte no explicada es la de las condiciones. Si en cualquiera de los tres formas de tomar el teorema nos resulta 0 es rectángulo, por lo tanto se usa ||. Para ser acutángulo, las tres formas del teorema deben ser mayores a 0, se usa &&. Con una sola forma del teorema que resulte menor a 0 es obtusángulo, se usa ||. Para mayor información de esos operadores leer esto: Operadores lógicos es C++.
¿Cómo ven el programita? Está sencillo ¿no? Tal vez después haga una modificación para que además te calcule los ángulos del triángulo.