|
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
|