El triangulo..

Este es así...
Leer datos de lados de un triangulo A, B, C; haciendo consistencia de datos (Debe ser a<(B+C) si A es el lado mayor)
Informar segúun sea A*A con respecto a
B*B+C*C, si el triangulo es rectangulo, obstusangulo o acutangulo.
¿Por Pitágoras era que se cumplía que para todo triangulo rectángulo el cuadrado de la hipotenusa era igual al cuadrado de los catetos? El tema es que no se que pasa para los demás casos...¿vos lo sabés? AH, recuerda que no puedo usar registros ni archivos ni esas cosas raras que todavía no me han enseñado, solo vectores, matrices, procedimientos y funciones.

1 Respuesta

Respuesta
1
Si a, b, c:real son tus lados entonces, por el teorema de desigualdad triangular, es posible construir un triángulo si la suma de dos lados siempre es mayor que el tercero, lo que se resume a demostrar que el lado mayor es menor que la suma de los dos restantes. Pudieras determinar el mayor lado con la función:
function Mayor(a,b,c:real):real;
begin
if a>b then
if a>c then
mayor:=a
else
mayor:=c
else if b>c then
mayor:= b
else
mayor:= c
end;
//aquí puedes utilizar result en vez del nombre de la función todo depende de la versión
Como resultado tienes el lado mayor y ahora validas
function Validar(a,b,c:real):boolean;
begin
result:= 2*Mayor(a,b,c)< a+b+c
//no entiendes?? supón que el mayor lado es a entonces
2*a<a+b+c => a<b+c
que es o que sabes de la fórmula, lo hice así para no preocuparme por quién es el mayor.
end;
Ahora el paso de la clasificación también es sencillo. Si a*a= b*b+c*c es rectángulo, si es mayor obtusángulo y si no acutángulo.
procedure clasificación(a,b,c:real)
begin
if 2*Mayor(a,b,c)*Mayor(a,b,c)= a*a+b*b+c*c then
writeln('rectángulo');
if 2*Mayor(a,b,c)*Mayor(a,b,c)> a*a+b*b+c*c then
writeln('obtusángulo');
if 2*Mayor(a,b,c)*Mayor(a,b,c)< a*a+b*b+c*c then
writeln('acutángulo');
//lo de la fórmula te lo expliqué arriba
end;
Espero que estés satisfecho(a).
Nos vemos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas