Даны три положительных числа. Определить, можно ли построить треугольник со сторонами,...

0 голосов
73 просмотров

Даны три положительных числа. Определить, можно ли построить треугольник со сторонами, длины которых равны этим числам. Если возможно, то ответить на вопрос, является ли он остроугольным.


Информатика (15 баллов) | 73 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Пусть a,b,c - стороны треугольника (и их длины). Условие существование треугольника:
\left\{\begin{matrix}a<b+c\\b<a+c\\c<a+b\end{matrix}\right.
Пусть а - наибольшая из сторон, тогда против нее будет лежать наибольший угол, который можно определить по теореме косинусов:
a^2=b^2+c^2-2bc\cdot cos(A) \to \displaystyle cos(A)= \frac{c^2+b^2-a^2}{2bc}

Текст программы приводится ниже.
var
  a,b,c,t,cosA:real;
begin
  Write('Введите длины сторон треугольника: '); Readln(a,b,c);
  if (a  begin
    if a>b then
    begin
        if a    end
    else
      if b>c then begin t:=a; a:=b; b:=t end
      else begin t:=a; a:=c; c:=t end;
    cosA:=(sqr(c)+sqr(b)-sqr(a))/(2*b*c);
    if cosA=0 then Writeln('Треугольник прямоугольный')
    else
      if cosA<0 then Writeln('Треугольник тупоугольный')<br>      else Writeln('Треугольник остроугольный')
  end
  else
    Writeln('Треугольник построить нельзя')
end.

Тестовое решение:
Введите длины сторон треугольника: 4 6.1 3.7
Треугольник тупоугольный





(142k баллов)