Как указать степень в паскале

Как указать степень в паскале

Вопросы "возвденеие в степень pascal" или "возведение в степень на Паскале" являются наиболее популярными в своей тематике. Не всегда представляется возможным умножать число само на себя (например x := x * x;) в силу динамично изменяющихся параметров задачи, да и при больших показателях степени размер кода может увеличиться во много раз. Кроме того, подобное выражение не предусматривает возможность возведения числа в дробную степень.

Возведение в степень в паскале можно реализовать несколькими способами. Рассмотрим их, установив преимущества и недостатки каждого

Универсальная функция возведения в степень в pascal

Самый эффективный и правильный способ — взятие экспоненты от логарифма Exp(X*Ln(Y)), где X — степень числа, Y — основание. Однако, необходимо учитывать частные случаи когда основание или степень отрицательные числа, либо когда один из них является нулем. Также необходимо учесть тот факт, что при возведении отрицательного числа в четную степень, результат становится положительным

if (x 0) then pow := Exp(y*Ln(Abs(x))) else

if (l mod 2 = 0) then R:=Abs(pow);

if (y = 0) then Pow :=1;

Возведение в степень с помощью цикла

Является одним из самых простых и быстрых способов. Задается цикл от единицы до требуемого показателя, в котором основание складывается с самим собой. Организовать подобный алгоритм можно использовав как for, так и while или repeat.

for i:=1 to pow-1 do

if ((not odd(pow)) and (pow

Возведение в степень с помощью рекурсии

Аналогично предыдущему итерационному способу. Отличие заключается только в том, что вместо очередного вызова тела цикла используется вызов функции (рекурсия).

Возведение в степень в pascal для целого показателя, вычисляемого за время log2(pow)

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

Читайте также:  Косой слив унитаза фото

function power (x,pow:integer):integer;

var res: integer;

while (pow > 0) do

if (pow and 1 = 1) then res := res * x;

Таким образом, возвести число в степень в паскале с дробным показателем может позволить только универсальная функция возведения в степень. Использование первого способа является наиболее быстродейственным. Это особенно заметно, при больших значениях степени и большого числа знака после запятой. Следует отметить, что помимо перечисленных выше способов существуют и другие алгоритмы реализующие в Turbo Pascal возведение в степень.

Возведение в степень в pascal — Универсальная функция возведения в степень (1 способ)

Функция Power — Простое итерационное вычисление степени с помощью цикла (2 способ)

Рекурсивное возведения числа в степень — Возведение числа в степень с помощью рекурсии (3 способ)

Быстрое возведение в степень в паскале — Алгоритм с вычислением за время log2(pow) (4 способ)

Задача

Как на языке Pascal возвести число в степень.

Решение

Алгоритм решения задачи:

Чтобы возвести число в степень, его надо умножить само на себя количество раз, равное показателю степени. Т.е. возведение числа n в степень d будет выглядеть так:

n d = n1 * n2 * n3 * … * nd, где индексы внизу просто указывают очередное по счету n.

Если d равно нулю, то, какое бы число не стояло в основании степени, результат всегда будет равен единице:

Если показатель степени отрицателен (d Добавить комментарий

К сожалениею, в паскале нет возможности задать другую степень, кроме второй. Для случая квадрата, это функция Sqr(X). Exp(X) — это экспонента от некоторого числа, т. е. число "е" в степени Х. , что, согласитесь, немного не то. Если степень кратна 2, то можно циклически обращаться к функции Sqr или воспользоваться свойствами логарифмов. В этои случае некоторая степень n числа Х запишется так

Читайте также:  Интернет есть а вайбер не работает

Таким способом можно возводить в любую степень. Правда, число Х не может быть отрицательным. В Delphi можно воспользоваться модулем Math, содержащем функцию Power.

Ссылка на основную публикацию
Как удалить файл php
Как удалить файл с моего сервера с помощью PHP если файл находится в другой директории? вот мой макет страницы: projects/backend/removeProjectData.php...
Как создать словарь в word
Меня интересует вот такая тема: когда печатаешь текст на компе, например, с ошибкой правописания, появляется подсказка - как правильно надо....
Как создать таблицу на компьютере
Как создать таблицу в Word? Сейчас я просто не представляю, как можно работать без такой нужной и полезной программы, как...
Как удалить файл если он используется
Не редко встречаются ситуации, когда нужно удалить файл, но Windows сообщает, что файл занят другим процессом. Это может быть важный...
Adblock detector