Информатика, вопрос задал informatikkz , 9 лет назад

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

Ответы на вопрос

Ответил Аноним
0
Пусть a,b,c - стороны треугольника (и их длины). Условие существование треугольника:
left{begin{matrix}a<b+c\b<a+c\c<a+bend{matrix}right.
Пусть а - наибольшая из сторон, тогда против нее будет лежать наибольший угол, который можно определить по теореме косинусов:
a^2=b^2+c^2-2bccdot 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<b+c) and (b<a+c) and (c<a+b) then
  begin
    if a>b then
    begin
        if a<c then begin t:=a; a:=c; c:=t end
    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('Треугольник тупоугольный')
      else Writeln('Треугольник остроугольный')
  end
  else
    Writeln('Треугольник построить нельзя')
end.

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





Новые вопросы