Для вычисления кубического корня в Паскале нет стандартной функции (в отличие от квадратного корня), однако, его можно вычислить, используя функции экспоненты и логарифма. Извлечение кубического корня — это возведение в степень 1/3, а для положительных чисел возведение в любую степень можно осуществить по формуле
Для отрицательных чисел логарифм не определён. Чтобы вычислить кубический корень из отрицательного числа, воспользуемся свойством нечётности кубического корня:
Наконец, кубический корень из 0 — это 0. Логарифм 0 — это «минус бесконечность», и, хотя некоторые реализации Паскаля могут работать со значением «минус бесконечность», лучше избегать этого специального значения.
Таким образом, получаем:
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.