Процедура нахождения по заданным длине стороны треугольника и прилежащим углам длин остальных сторон
Задача
Описать процедуру нахождения по заданной длине стороны треугольника и величинам двух прилежащих углов длин остальных сторон треугольника и величины третьего угла.
Решение
По известным двум углам треугольника и стороне между ними можно найти остальные стороны, используя теорему синусов: отношение синусов углов треугольника к длинам противолежащих сторон равны между собой. Для треугольника ABC получаем:
sin A / BC = sin B / AC = sin C / AB.
Отсюда AC = (sin B * AB) / sin C,
BC = (sin A * AB) / sin C.
Если известны два угла треугольника, то третий угол легко вычисляется, учитывая, что сумма углов треугольника равна 180 градусам.
В Pascal функция sin() принимает угол выраженный в радианах. Чтобы перевести градусы в радианы нужно воспользоваться формулой:
rad = Угол * pi / 180.
Программа на языке Паскаль:
var K,L,M,KL,LM,KM: real; procedure triangle(var A,B,C,AB,BC,AC: real); var radA, radB, radC: real; begin C := 180 - A - B; radA := A * PI/180; radB := B * PI/180; radC := C * PI/180; BC := (sin(radA) * AB) / sin(radC); AC := (sin(radB) * AB) / sin(radC); end; begin write('A = '); readln(K); write('B = '); readln(L); write('AB = '); readln(KL); triangle(K,L,M,KL,LM,KM); writeln('C = ',M:7:2); writeln('BC = ',LM:6:2); writeln('AC = ',KM:6:2); readln; end.