Кубический корень (пример программы)

Y = Root3(X)

Для вычисления кубического корня в Паскале нет стандартной функции (в отличие от квадратного корня), однако, его можно вычислить, используя функции экспоненты и логарифма. Извлечение кубического корня — это возведение в степень 1/3, а для положительных чисел возведение в любую степень можно осуществить по формуле

axexlna.png
x13exp13lnx.png

Для отрицательных чисел логарифм не определён. Чтобы вычислить кубический корень из отрицательного числа, воспользуемся свойством нечётности кубического корня:

sqrt3mxmsqrt3x.png

Наконец, кубический корень из 0 — это 0. Логарифм 0 — это «минус бесконечность», и, хотя некоторые реализации Паскаля могут работать со значением «минус бесконечность», лучше избегать этого специального значения.

Таким образом, получаем:

program TryRoot3;

function Root3(X: Real): Real;
begin
 if X = 0.0 then
    Root3 := 0.0
 else if X > 0.0 then
    Root3 := Exp(Ln(X) / 3)
 else
    Root3 := -Exp(Ln(-X) / 3)
end;

begin
 WriteLn(Root3(27.0):0:0, ' ', Root3(-8.0):0:0, ' ', Root3(0.0):0:0);
 { 3 -2 0 }
end.

Смотри также

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