Предмет: Информатика, автор: Ineedhelp5

Задание 15, 5 вопрос

Приложения:

Ответы

Автор ответа: mskamilee
1
Ну как-то так.



function ArcCos(x:real):real;
var t:real;
begin
    
 t:=ArcTan(Sqrt(1-x*x)/x);
 if x<0 then ArcCos:=t+Pi
 else ArcCos:=t 
end;


var
  a,b,c,p,p2,s,alpha,beta,gamma,h:real;
begin
  Read(a,b,p);
  c:=p-a-b;
  p2:=p/2;
  s:=sqrt(p2*(p2-a)*(p2-b)*(p2-c));
  alpha:=ArcCos((b*b+c*c-a*a)/(2*b*c));
  beta:=ArcCos((a*a+c*c-b*b)/(2*a*c));
  h:=a*Sin(beta);
  alpha:=alpha*180/Pi;
  beta:=beta*180/Pi;
  gamma:=180-alpha-beta;
  Writeln('c=',c);
  Writeln('alpha=',alpha:0:2,', beta=',beta:0:2,', gamma=',gamma:0:2);
  Writeln('S=',s,', h=',h)
end.  
Автор ответа: Аноним
0
S = 0.5ah
h/c = sin(β) → β = arcsin(h/c)
Периметр P=a+b+c
По теореме косинусов b² = a² + c² - 2ac cos(β) и можно найти третью сторону b.
А дальше используем теорему синусов:
a/sin(α) = /sin(β) = c/sin(γ) и отсюда находим углы α и γ, зная b/sin(β).

// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var (a,c,h):=ReadReal3('Введите стороны a, c  и высоту h:');
  var S:=0.5*h*c;
  var beta:=ArcSin(h/a);
  var b:=Sqrt(a*a+c*c-2*a*c*Cos(beta));
  var P:=a+b+c;
  var k:=b/Sin(beta);
  var (alpha,gamma):=(ArcSin(a/k),ArcSin(c/k));
  Writeln('b=',b:0:5,', alpha=',RadTodeg(alpha):0:3,
      ', beta=',RadtoDeg(beta):0:3,', gamma=',RadtoDeg(gamma):0:3,
      ', P=',P:0:5,', S=',S:0:5)
end.


Пример
Введите стороны a, c  и высоту h: 5 6.5 4
b=5.31507, alpha=48.814, beta=53.130, gamma=78.056, P=16.81507, S=13.00000


Ineedhelp5: Чуть не так
Ineedhelp5: В любом случае, не работала
Ineedhelp5: Переправил на это
Ineedhelp5: Program wts;
var (a,c,h):=ReadReal3('Введите стороны a, c и высоту h:');
var S:=0.5*h*c;
var beta:=ArcSin(h/a);
var b:=Sqrt(a*a+c*c-2*a*c*Cos(beta));
var P:=a+b+c;
var k:=b/Sin(beta);
var (alpha,gamma):=(ArcSin(a/k),ArcSin(c/k));
begin
Writeln('b=',b:0:5,', alpha=',RadTodeg(alpha):0:3,
', beta=',RadtoDeg(beta):0:3,', gamma=',RadtoDeg(gamma):0:3,
', P=',P:0:5,', S=',S:0:5)
end.
Ineedhelp5: В итоге вроде пашет
Похожие вопросы
Предмет: Алгебра, автор: SofiyaSimanova
Предмет: Математика, автор: maks316