Найти все углы треугольника со сторонами а, b, c. Предусмотреть в программе перевод...

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

Найти все углы треугольника со сторонами а, b, c. Предусмотреть в программе перевод радианной меры угла а градусы, минуты и секунды. Напишите на паскаль программу. очень срочно


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

Procedure WriteDMS(r: real);
var
  dd, s: real;
  d, m: integer;

begin
  dd := 180 * r / Pi;
  d := Trunc(dd);
  dd := 60 * (dd - d);
  m := Trunc(dd);
  s := 60 * (dd - m);
  Writeln('=', d, ' град ', m, ' мин ', s:0:2, ' сек')
end;

var
  a, b, c, dd: real;

begin
  Write('Введите через пробел стороны треугольника a,b,c: ');
  Readln(a, b, c);
  Writeln('Значения углов треугольника');
  Write('А');
  dd := ArcCos((sqr(b) + sqr(c) - sqr(a)) / (2 * b * c));
  WriteDMS(dd);
  Write('B');
  dd := ArcCos((sqr(a) + sqr(c) - sqr(b)) / (2 * a * c));
  WriteDMS(dd);
  Write('C');
  dd := ArcCos((sqr(a) + sqr(b) - sqr(c)) / (2 * a * b));
  WriteDMS(dd);
end.

Тестовое решение:
Введите через пробел стороны треугольника a,b,c: 5.8 3.2 4.9
Значения углов треугольника
А=88 град 53 мин 7.58 сек
B=33 град 28 мин 41.54 сек
C=57 град 38 мин 10.88 сек


(142k баллов)