План решения
1. Из прямоугольного треугольника, образованного известной стороной b, известной высотой h и стороной с, можно найти угол α по определению синуса: sin(α) = h/b → α = arcsin(h/b);
2. Далее решаем треугольник по известным двум сторонам и углу между ними. Это решение известно из школьного курса.
Из теоремы косинусов: a² = b²+c²-2bc·cos(α) и потом извлекаем квадратный корень из полученного значения.
Из теоремы синусов найдем sin(β) = b·sin(α)/a → β=arcsin(b·sin(α)/a)
Третий угол найти совсем просто: γ=180°-(α+β).
3. Осталось найти значения прочих параметров
Периметр Р = a+b+c
Площадь S = 1/2×c×h
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var b,c,h:real;
Write('Ввести b,c,h: '); Read(b,c,h);
var alpha:=arcsin(h/b);
var a:=sqrt(b*b+c*c-2*b*c*cos(alpha));
var beta:=arcsin(b*sin(alpha)/a);
var alphaD:=RadToDeg(alpha);
var betaD:=RadToDeg(beta);
var gammaD:=180-(alphaD+betaD);
var P:=a+b+c;
var S:=h*c/2;
Writeln('a=',a:0:3);
Writeln('A=',alphaD:0:1,', B=',betaD:0:1,', C=',gammaD:0:1);
Writeln('Р=',P:0:3,', S=',S:0:5)
end.
Контрольный пример
Ввести b,c,h: 12.6 14.2 8
a=9.162
A=39.4, B=60.8, C=79.8
Р=35.962, S=56.80000