Процедура нахождения по заданным длине стороны треугольника и прилежащим углам длин остальных сторон

Задача

Описать процедуру нахождения по заданной длине стороны треугольника и величинам двух прилежащих углов длин остальных сторон треугольника и величины третьего угла.

Решение

 

По известным двум углам треугольника и стороне между ними можно найти остальные стороны, используя теорему синусов: отношение синусов углов треугольника к длинам противолежащих сторон равны между собой. Для треугольника 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.

 

Тема

Процедуры, функции, рекурсии

Уровень

Простые задачи