Вопрос задан 08.12.2025 в 07:09. Предмет Информатика. Спрашивает Sss Sss.

Как извлечь кубический корень в Паскале? Как извлекать квадратный корень я знаю, можно ли придавать корню нужную степень?

Перейти к ответам

Ответы на вопрос

Отвечает Опалько Аня.

Коротко: «кубического корня» как отдельной функции в классическом Pascal/Delphi/FreePascal нет, но его легко получить через возведение в степень 1/31/3.

Как сделать

Через Power из модуля Math:

pascal
uses Math;

var x, r: Double; begin x := 27.0; r := Power(x, 1.0/3.0); // r = 3 end;

Обязательно пишите 1.0/3.0 (вещественные литералы), чтобы не было путаницы с типами.

Для отрицательных чисел (кубический корень от отрицательного должен быть отрицательным):

pascal
uses Math;

function Cbrt(x: Double): Double; begin if x >= 0 then Result := Power(x, 1.0/3.0) else Result := -Power(-x, 1.0/3.0); end;

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

Альтернатива через Exp/Ln:

pascal
uses Math;

function Cbrt(x: Double): Double; begin if x = 0 then Exit(0); if x > 0 then Result := Exp(Ln(x) / 3.0) else Result := -Exp(Ln(-x) / 3.0); end;

Можно ли «придавать корню нужную степень»?

Да. В Паскале нет оператора **, но есть функция Power(a, b) (модуль Math), которая возводит число a в любую вещественную степень b. Корень — это частный случай:

  • квадратный корень: Power(x, 1.0/2.0) (обычно удобнее Sqrt(x))

  • кубический корень: Power(x, 1.0/3.0)

  • корень n-й степени: Power(x, 1.0/n)

Где n — вещественное или целое (кастуется к вещественному). Для чётных корней от отрицательных чисел результатов в вещественных числах нет — получите ошибку домена; для нечётных корней используйте приём со знаком, как показано выше.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Информатика 14.10.2025 04:57 32 Бердина Раиса
Информатика 13.10.2025 21:53 28 Кандрина Лера
Информатика 13.10.2025 20:34 17 Калинин Максим
Информатика 13.10.2025 20:27 6 Смирнов Егор
Информатика 13.10.2025 19:26 4 Макаров Максим
Информатика 13.10.2025 19:20 16 Гайнанов Эльнар
Информатика 13.10.2025 18:25 6 Bekenov Daulet
Информатика 13.10.2025 18:16 22 Александровна Вероника
Задать вопрос