Помогите решить задачу, очень срочно !!! Дан произвольный треугольник ABC, для которого...

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

Помогите решить задачу, очень срочно !!!
Дан произвольный треугольник ABC, для которого определен следующий набор характерных параметров: a,b,c - стороны треугольника, альфа, бета, гамма - углы (в градусах), h - высота, опущенная на сторону c, S - площадь, P - периметр треугольника. По заданным параметрам: h, c, альфа, вычислить все остальные. Записать в Паскале.


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

Program n1;
var x,y,n,z,h,C:real;
function arccos(x : real) : real;
begin
arccos := 2 * arctan(sqrt((1 - x) / (1 + x)));
end;
procedure ygls( a,b,c,t: real);
var al,be,ga: real;
begin
al := arccos((sqr(b) + sqr(c) - sqr(a))/(2 * b * c)) * 180 / pi;
writeln('угол A= ',trunc(al));
writeln('угол B= ',trunc(180-al-t));
end;
begin
write('введите сторону а: ');
readln(x);
write('введите сторону b: ');
readln(y);
write('введите угол С: ');
readln(C);
n:=C;
C:=cos(C*180/pi);
z:=sqrt(x*x+y*y-2*x*y*C);
h:=0.5*sqrt(2*(x*x+y*y)-c*c);
ygls(x,y,z,n);
writeln('сторона c: ',trunc(z));
writeln('высота h: ',trunc(h));
writeln('периметр P: ',trunc(x+y+z));
writeln('площадь S: ',trunc(z*h));
end.

(149k баллов)