profile


Опубликовано 4 года назад по предмету Информатика от olgaprihodko

Дан произвольный треугольник ABC, дляДан произвольный треугольник ABC, для которого определен следующий набор характерных параметров: а, b, с — стороны треугольника; α, β, γ — углы (в градусах); h — высота, опущенная на сторону с; S — площадь; Р — периметр треугольника. По трем заданным параметрам  a, b ,S, вычислить все остальные.Как это записать в паскале. Помогите  пожалуйста

  1. Ответ
    Ответ дан mefody66
    Начнем с формул.
    Площадь треугольника: S = 1/2*a*b*sin C
    Отсюда: sin C = 2*S/(a*b); cos C = sqrt(1 - sin^2 C)
    tg C = sin C / cos C; C = atan(tg C)
    Теорема косинусов: c = sqrt(a^2 + b^2 - 2*a*b*cos C)
    Площадь: S = c*h/2; отсюда h = 2*S/c
    Теорема синусов: a/sin A = b/sin B = c/sin C
    Отсюда: sin A = a/c*sin C; sin B = b/c*sin C
    cos A = sqrt(1 - sin^2 A); cos B = sqrt(1 - sin^2 B)
    tg A = sin A/cos A; A = atan(tg A);
    tg B = sin B/cos B; B = atan(tg B)
    Периметр: P = a + b + c
    Теперь записываем в Паскале
    singam := 2*S/(a*b); cosgam = sqrt(1 - singam*singam);
    tangam := singam/cosgam; Gamma := atan(tangam);
    c := sqrt(a*a + b*b - 2*a*b*cosgam); h := 2*S/c;
    P := a + b + c;
    sinalp = a/c*singam; cosalp = sqrt(1 - sinalp*sinalp);
    tanalp := sinalp/cosalp; Alpha := atan(tanalp);
    sinbet = b/c*singam; cosbet = sqrt(1 - sinbet*sinbet);
    tanbet := sinbet/cosbet; Beta := atan(tanbet);


Другие вопросы