Язык программирования - PascalABC.NET. Если у Вас иная версия - проверьте наличие в ней функции арккосинуса.
var a,b,c,h,S,alpha,beta,gamma,pi:real; begin Writeln('Введите длины двух сторон треугольника и угол между ними'); Read(a,b,gamma); pi:=3.14; c:=sqrt(a*a+b*b-2*a*b*cos(pi*gamma/180)); alpha:=arccos((b*b+c*c-a*a)/(2*b*c))*180/pi; beta:=180-alpha-gamma; h:=b*sin(alpha*pi/180); S:=c*h/2; Writeln('с=',c:0:4,', alpha=',alpha:0:2,', beta=',beta:0:2); Writeln('h=',h:0:4,' S=',s:0:3) end.
Пример Введите длины двух сторон треугольника и угол между ними 11.7 15.9 58 с=13.8700, alpha=45.68, beta=76.32 h=11.3707 S=78.856
Var a, b, S, c, alpha, betta, gamma, H, P: real; x, ar, br, gr: real;{alpha, beta. gamma в радианах}
begin write('Введите длины двух сторон треугольника и площадь: '); readln(a, b, S); x := 2 * S / (a * b); if x > 1 then writeln('Такой треугольник невозможен') else begin gr := ArcSin(x); c := Sqrt(Sqr(a) + Sqr(b) - 2 * a * b * Cos(gr)); P := a + b + c; ar := ArcSin(a * Sin(gr) / c); br := Pi - (ar + gr); H := b * Sin(ar); alpha := ar * 180 / Pi; betta := br * 180 / Pi; gamma := 180 - (alpha + betta); writeln('Решение треугольника'); writeln('a=', a, ', b=', b, ', c=', c:0:5); writeln('Alpha=', alpha:0:2, ', Betta=', betta:0:2, ', Gamma=', gamma:0:2); writeln('P=', P:0:5, ', H=', H:0:5, ', S=', S) end end.
Тестовое решение:
Введите длины двух сторон треугольника и площадь: 3 4 6 Решение треугольника a=3, b=4, c=5.00000 Alpha=36.87, Betta=53.13, Gamma=90.00 P=12.00000, H=2.40000, S=6
версия - проверьте наличие в ней функции арккосинуса.
var
a,b,c,h,S,alpha,beta,gamma,pi:real;
begin
Writeln('Введите длины двух сторон треугольника и угол между ними');
Read(a,b,gamma);
pi:=3.14;
c:=sqrt(a*a+b*b-2*a*b*cos(pi*gamma/180));
alpha:=arccos((b*b+c*c-a*a)/(2*b*c))*180/pi;
beta:=180-alpha-gamma;
h:=b*sin(alpha*pi/180);
S:=c*h/2;
Writeln('с=',c:0:4,', alpha=',alpha:0:2,', beta=',beta:0:2);
Writeln('h=',h:0:4,' S=',s:0:3)
end.
Пример
Введите длины двух сторон треугольника и угол между ними
11.7 15.9 58
с=13.8700, alpha=45.68, beta=76.32
h=11.3707 S=78.856
Во вложении даны необходимые пояснения.
a, b, S, c, alpha, betta, gamma, H, P: real;
x, ar, br, gr: real;{alpha, beta. gamma в радианах}
begin
write('Введите длины двух сторон треугольника и площадь: ');
readln(a, b, S);
x := 2 * S / (a * b);
if x > 1 then writeln('Такой треугольник невозможен')
else
begin
gr := ArcSin(x);
c := Sqrt(Sqr(a) + Sqr(b) - 2 * a * b * Cos(gr));
P := a + b + c;
ar := ArcSin(a * Sin(gr) / c);
br := Pi - (ar + gr);
H := b * Sin(ar);
alpha := ar * 180 / Pi;
betta := br * 180 / Pi;
gamma := 180 - (alpha + betta);
writeln('Решение треугольника');
writeln('a=', a, ', b=', b, ', c=', c:0:5);
writeln('Alpha=', alpha:0:2, ', Betta=', betta:0:2, ', Gamma=', gamma:0:2);
writeln('P=', P:0:5, ', H=', H:0:5, ', S=', S)
end
end.
Тестовое решение:
Введите длины двух сторон треугольника и площадь: 3 4 6
Решение треугольника
a=3, b=4, c=5.00000
Alpha=36.87, Betta=53.13, Gamma=90.00
P=12.00000, H=2.40000, S=6