ArcCos (функция) (пример программы)

Y = ArcCos(X)

Для вычисления арккосинуса в Паскале нет стандартной функции, но его можно выразить через другие тригонометрические функции. Подробности смотрите в реализации арксинуса. Используя связь арксинуса и арккосинуса, несложно переделать реализацию арксинуса в реализацию арккосинуса.

ArcSin(X) + ArcCos(X) = Pi/2

Реализация

program MyArcCos;

function ArcCos(X: Real): Real;
begin
 if X <= -1.0 then
   ArcCos := Pi
 else if X < -Sqrt(2) / 2 then
   ArcCos := Pi + ArcTan(Sqrt(1 - Sqr(X)) / X) { левый край }
 else if X <= Sqrt(2) / 2 then
   ArcCos := Pi / 2 - ArcTan(X / Sqrt(1 - Sqr(X))) { центр }
 else if X < 1.0 then
   ArcCos := ArcTan(Sqrt(1 - Sqr(X)) / X) { правый край }
 else
   ArcCos := 0.0
end;

begin
 WriteLn(ArcCos(-1.0):0:3, ' ', ArcCos(-0.9):0:3, ' ',
         ArcCos(0.3):0:3, ' ', ArcCos(0.9):0:3, ' ',
         ArcCos(1.0):0:3);
 { 3.142 2.691 1.266 0.451 0.000 }
end.

См. также

Тэги: ArcCos
| G+
Код для вставки: :: :: :: ::
Поделиться: // //