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(β).
<span><em>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
</span><span>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.</span>
<u>Пример</u>
Введите стороны 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
program av;
var a,b,c,d,e,f:integer;
begin
writeln('введите числа ');
readln(a,b,c,d);
if (b<0) and (d<0)
then begin e:=b*d; writeln(e); end;
if (a>10) and (c>10)
then writeln(a,'0 ',b,'0 ',c,'0 ',d'0 ');
if (b<0) and (d<0) and (a>10) and (c>10)
then writeln(a,' ',b,' ',c,' ',d,' ')
else begin
a:=a/10;
b:=b/10;
c:=c/10;
d:=d/10;
writeln (a,' ',b,' ',c,' ',d,' ');
end;
end.
Var
S, X, a, b, R: Real;
C: String;
Begin
WriteLn('Chto budem vichislat');
ReadLn(C);
if C = 'O' then begin
WriteLn('Radius');
ReadLn(R);
S:= Pi*sqr(R);
end;
if C:= 'T' then begin
WriteLn('Vvedite 1 katet);
ReadLn(a);
WriteLn('Vvedite 2 katet);
ReadLn(b);
S:= 1/2 * a * b;
end;
if C:= 'K' then begin
WriteLn('Vvedite 1 katet);
ReadLn(a);
S:= sqr(a);
end;
WriteLn('Ploshad = ');
ReadLn(S);
end.
L=[float(i) for i in input().split()]
m=1
for i in l: m*=i
print("верно" if m<1000 else "неверно")