Найти в Дзене

Возведение в степень в программировании

В программировании нередко приходится возводить число в степень. Почти во всех языках программирования для этого есть специальные функции. Но есть две причины не использовать их:

  • Если такая функция находится в отдельном модуле (библиотеке), а вы не хотите подключать этот модуль только из-за этой функции
  • Если для вас это новый малознакомый язык, и вы не знаете, как называется эта функция или как её правильно использовать

Для таких случаев надо знать некоторые вещи, которые помогут вам возвести число в степень без использования таких функций как Power в Паскале (Делфи, Лазарус).

Итак, первый простейший способ - это просто перемножить число (переменную) на само себя необходимое количество раз. Например, возвести Х в квадрат можно так (пример на Паскале):

Х := Х * Х;

Согласитесь, что такая запись выглядит нисколько не длиннее, и даже немного понятнее, чем при использовании специальной функции:

Х := Sqr(X);

Однако это приемлемо, когда нужно возвести число в степень 2, 3, ну 4. Дальше уже будет утомительно, к тому же можно ошибиться в количестве. Кроме того, это можно делать только если степень - целое положительное число. Если же степень дробное число, то на помощь придёт следующая формула:

Функции вычисления экспоненты и логарифма есть во всех языках программирования, и, как правило, они содержатся в стандартном наборе функций, то есть вам не нужно для их использования подключать дополнительные модули (во всяком случае в Паскале, Делфи и Лазарус это так). Ну а в вашей программе вы можете использовать это так:

exp(n*ln(X)) – для положительного X
-exp(n*ln(abs(X))) – для отрицательного X

Эту же формулу можно использовать для возведения X в дробную степень n, где n – обыкновенная правильная дробь вида k/l, а знаменатель l - нечётное число. Если знаменатель l - четное число, то это означает извлечение корня четной степени. В этом случае есть ограничения на выполнение операции: подкоренное выражение не должно быть отрицательным.

При возведении числа X в отрицательную степень надо вспомнить школьную математику:

-2

То есть для возведения в отрицательную степень надо просто возвести число в положительную степень, а затем единицу разделить на полученный результат.

Для программирования выражения, которое содержит возведение в степень, надо внимательно проанализировать значения, которые могут принимать X и n, так как в некоторых случаях возведение Х в степень n невыполнимо. Если это так, то в программе надо предусмотреть соответствующие “пути к отступлению”.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.