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

Tommh Tommh    3   23.06.2019 00:40    6

Ответы
агамтасия агамтасия  18.07.2020 00:00
Пусть a,b,c - стороны треугольника (и их длины). Условие существование треугольника:
\left\{\begin{matrix}a
Пусть а - наибольшая из сторон, тогда против нее будет лежать наибольший угол, который можно определить по теореме косинусов:
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<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
Треугольник тупоугольный
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика