Введите три числа. Если они могут быть длинами сторон разностороннего остроуголь?

Введите три числа. Если они могут быть длинами сторон разностороннего остроуголь??ого треугольника, выведите их в порядке возрастания и вычислите площадь полученного треугольника. В паскале.
Гость
Ответ(ы) на вопрос:
Гость
Не уверена, что по длине сторон можно определить, что треугольник остроугольный, но предположила, что здесь можно использовать т. Пифагора, т.е. если квадрат гипотенузы (большей стороны) окажется меньше суммы квадратов катетов (меньших сторон), то соответственно и угол между последними окажется меньше 90 градусов. Если я не права, прошу, отметьте ошибкой, пусть удалят.  Итак: program aaa; var a,b,c,x,y,z,s,p: real;  begin writeln ('Введите стороны треугольника A, B и C'); readln (a,b,c);   {сначала найдем меньшую, среднюю и большую сторону
  и присвоим их значения, соответственно, переменным x, y и z}       if a<b      then       if a<c         then            if b<c             then begin x:=a; y:=b; z:=c end             else begin x:=a; y:=c; z:=b end          else begin x:=c; y:=a; z:=b end        else         if a>c           then              if b<c               then begin x:=b; y:=c; z:=a end                else begin x:=c; y:=b; z:=a end            else begin x:=b; y:=a; z:=c end;           {Теперь узнаем, является ли треугольник разносторонним и остроугольным:
    Для этого сравним длины сторон между собой а также сумму квадратов меньших сторон с квадратом большей}             if ((x*x+y*y)>(z*z)) and (a<>b) and (a<>c) and (b<>c)   then begin       p:=(a+b+c)/2;   // находим полупериметр     s:=sqrt(p*(p-a)*(p-b)*(p-c));   // находим площадь треугольника     writeln(x,'  ',y,'  ',z,'   - могут быть сторонами остроугольного разностороннего треугольника');     writeln('Площадь этого треугольника = ',s)     end   else     writeln(a:4,b:4,c:4,' - не могут быть сторонами остроугольного разностороннего треугольника') end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы