Leirn
Messages postés30Date d'inscriptionlundi 13 mai 2002StatutMembreDernière intervention12 février 2004 4 nov. 2002 à 20:01
ca serai pas plus efficace de faire de l'exponentiation bianire si tu tiens vraiment a faire des elevations a la puissance? pcq la je doute de l'efficacité qd meme
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 13 sept. 2002 à 23:52
Ca me parait bien long comme procédure.
N'oublie pas que dans toute fonction on peut utiliser la variable Result:
function caree(var entier,exposant:real):real;
var i:integer;
begin
Result:=1;
if( exposant >=0)
then for i:=1 to trunc(exposant) do Result:=Result*entier
Else for i:=1 to trunc(exposant) do Result:=Result/entier;
end;
De plus dans ce cas elle fonctionne aussi pour exposant=0, ce n'est donc plus nécessaire de le tester avant l'appel.
A noter aussi que l'unité Math fournit la fonction :
function Power(const Base, Exponent: Extended): Extended;
4 nov. 2002 à 20:01
13 sept. 2002 à 23:52
N'oublie pas que dans toute fonction on peut utiliser la variable Result:
function caree(var entier,exposant:real):real;
var i:integer;
begin
Result:=1;
if( exposant >=0)
then for i:=1 to trunc(exposant) do Result:=Result*entier
Else for i:=1 to trunc(exposant) do Result:=Result/entier;
end;
De plus dans ce cas elle fonctionne aussi pour exposant=0, ce n'est donc plus nécessaire de le tester avant l'appel.
A noter aussi que l'unité Math fournit la fonction :
function Power(const Base, Exponent: Extended): Extended;
Nono.