Текущий архив: 2002.04.18;
Скачать: CL | DM;
Вниз
степень числа Найти похожие ветки
← →
lely (2002-04-04 08:34) [0]Функция возвращающая степень числа
← →
Song (2002-04-04 08:45) [1]Power?
← →
SerVS - S (2002-04-04 10:05) [2]Тебе нужно х^y?
Если да, то: exp(y*ln(x))
← →
lely (2002-04-04 10:14) [3]Ну, нужно написать простенькую прогр-ку, в которой с кл-ры вводится число и степень и рез-т выводится в некое окошко. Подозреваю, что есть функция для вычисления этого...
Это и есть exp(y*ln(x)) ?
← →
Alx2 (2002-04-04 10:21) [4]еще есть power
← →
Виктор Щербаков (2002-04-04 10:24) [5]в модуле Math
← →
pasha676 (2002-04-04 10:51) [6]Если мне не изменяет память - функция ln(x) - не очень универсальное решение (в чистом виде), т.к. область определения э
той функции x>0; То есть придеться дописывать.
← →
lely (2002-04-04 10:59) [7]Так, понятно.А что с power? Т.е. коротенький пример
← →
Alx2 (2002-04-04 11:04) [8]Курсор ставим на power и жмем F1. В результате появляется окошко с помощью, где видим примерно следующее:
Raises Base to any power.
Unit
Math
Category
Arithmetic routines
function Power(Base, Exponent: Extended): Extended;
Description
Power raises Base to any power. For fractional exponents or exponents greater than MaxInt, Base must be greater than 0.
Из чего можно сделать вывод, что для возведения 2 в степень 1/3 необходимо написать: нечто := Power(2,1/3);
← →
REA (2002-04-04 11:36) [9]Насчет степеней. Будьте аккуратнее с большими числами (где-то от 10 в 9ой) - иногда на AMD процессоре функция Power работает хуже, чем простое перемножение (возвращает неверное число). Intel впрочем ведет себя еще хуже - простое перемножение тоже возвращает не то. Хотя результат должен быть в пределах нормы. Сам не видел, но рассказывали.
← →
Rooman (2002-04-08 08:42) [10]а z:=x^y не пробовали?
← →
Alx2 (2002-04-08 09:19) [11]Rooman © (08.04.02 08:42)
^ - указатель?
← →
KSergey (2002-04-08 09:28) [12]>Rooman
А вы пробовали? ;) Так попробуйте
← →
pasha676 (2002-04-08 11:24) [13]Вообщем из фразы Base must be greater than 0. В описании power можно сделать вывод, что похоже там внутрях все те же логарифмы и экспоненты. Теперь лезим в Math и видим
function Power(Base, Exponent: Extended): Extended;
begin
if Exponent = 0.0 then
Result := 1.0 { n**0 = 1 }
else if (Base = 0.0) and (Exponent > 0.0) then
Result := 0.0 { 0**n = 0, n > 0 }
else if (Frac(Exponent) = 0.0) and (Abs(Exponent) <= MaxInt) then
Result := IntPower(Base, Integer(Trunc(Exponent)))
else
Result := Exp(Exponent * Ln(Base)) => ОПАЧКИ. Старый друг.
end;
То есть по сути абсолютно тоже самое exp(y*ln(x)).
Страницы: 1 вся ветка
Текущий архив: 2002.04.18;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.005 c