Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Степень   Найти похожие ветки 

 
Системщик ©   (2006-04-12 23:25) [0]

Как в делфи, соответственно в паскале возвети в степень? К примеру: у в 4 степени. Если можно дайте ресурс на эту тему.


 
mlm68 ©   (2006-04-12 23:29) [1]

a^b:=exp(b*ln(a))


 
Джо ©   (2006-04-12 23:34) [2]

> К примеру: у в 4 степени.

Power(y,4)


> Если можно дайте ресурс на эту тему.

Math.pas


 
STK ©   (2006-04-12 23:40) [3]

А можно некрасиво:
result:=1;
for i:=1 to степень do
result := число*result;
но это если степень положителная и целая. Если отрицательная то result:=1/(число*result);
Но это повторяю очень некрасиво.
Два верхних очень красивые.


 
системщик ©   (2006-04-13 01:21) [4]

to Джо
по-твоему не получилось Power(y,4)

а вот так a^b:=exp(b*ln(a)) получилось


 
Джо ©   (2006-04-13 01:23) [5]

> [4] системщик ©   (13.04.06 01:21)
> to Джо
> по-твоему не получилось Power(y,4)

Не расстраивайся, не всем дано.


 
Германн ©   (2006-04-13 02:33) [6]


> Джо ©   (13.04.06 01:23) [5]


Дело было вечером, делать было нечего...
Посмотрел реализацию функции Power в D6.
function Power(const Base, Exponent: Extended): Extended;
begin
 if Exponent = 0.0 then
   Result := 1.0               { n**0 = 1 }
...


Может кто объяснить строчку if Exponent = 0.0?
Почему 0.0 а не 0?
Не я понимаю, что 0 - это целое число, а 0.0 - вещественное. Но почему именно 0.0, а не 0.00, 0.000, и т.д. и т.п.


 
Rial ©   (2006-04-13 03:43) [7]

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

А вот в случае с константами может быть все хуже.

Например, компилятор быдет грязно ругаться на такой код

Const A=100;
***
Var E:Extended;
begin
E:=A*A*A*A*A;
end;

А если написать сразу
Const A=100.0;
то все будет ok.

0.00 и 0.000 - это уже изврат.


 
elfebet ©   (2006-04-13 09:34) [8]


> по-твоему не получилось Power(y,4)

все получается, просто надо добавить в Unit библиотеку Math


 
Системщик ©   (2006-04-13 11:24) [9]

"elfebet ©   (13.04.06 09:34) [8]

> по-твоему не получилось Power(y,4)

все получается, просто надо добавить в Unit библиотеку Math"

А поподробнее как это сделать.....


 
grisme ©   (2006-04-13 11:54) [10]

имеем следущее:
· x^y=z
прологорифмируем...
· ln(x^y)=ln(z)
степень y за логарифм...
· y*ln(x)=ln(z)
дабы избавиться от ln При z
сделаем так:
exp(y*ln(x))=z
z-это результат...;)


 
grisme ©   (2006-04-13 11:55) [11]

ой, извиняюсь там дяденьки уже ответили так же...)))


 
elfebet ©   (2006-04-13 11:59) [12]


> А поподробнее как это сделать.....

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, XPMan, Math;
......



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
11-1125313791
DmiSb
2005-08-29 15:09
2006.04.30
Медленная обработка события OnKeyUp в EditBox


2-1145175156
Golik
2006-04-16 12:12
2006.04.30
SQL Запрос ???


15-1144395851
tria
2006-04-07 11:44
2006.04.30
Можно ли узнать, что данный exe сгенерирован Delphi?


10-1117664614
SerJ23
2005-06-02 02:23
2006.04.30
Выделение повторяющихся слов в Word


15-1144568982
Andy BitOff
2006-04-09 11:49
2006.04.30
Посоветуйте ноутбук