Даны действительные положительные числа a, b, c, которые длины сторон треугольника и угол между ними. напишите программу (паскаль), позволяющую найти длину третьей стороны треугольника и два остальных угла.
function Arcsin (x : real) : real; begin Arcsin := Arctan(x/Sqrt(1-sqr(x))); end; //магия. в паскале нет функции арксинус или арккосинус, поэтому приходится выражать через арктангенс.
begin read (a, b, ac); ac := ac * pi / 180; // перевод в радианы c := sqrt (sqr (a) + sqr (b) - 2 * a * b * cos (ac)); aa := arcsin (a * sin (ac) / c); ab := pi - aa - ac; writeln (a, ' ', b, ' ', c); writeln (aa * 180 / pi, ' ', ab * 180 / pi, ' ', ac * 180 / pi); end.
a, b, c, aa, ab, ac : real;
function Arcsin (x : real) : real; begin Arcsin := Arctan(x/Sqrt(1-sqr(x))); end;
//магия. в паскале нет функции арксинус или арккосинус, поэтому приходится выражать через арктангенс.
begin
read (a, b, ac);
ac := ac * pi / 180; // перевод в радианы
c := sqrt (sqr (a) + sqr (b) - 2 * a * b * cos (ac));
aa := arcsin (a * sin (ac) / c);
ab := pi - aa - ac;
writeln (a, ' ', b, ' ', c);
writeln (aa * 180 / pi, ' ', ab * 180 / pi, ' ', ac * 180 / pi);
end.