Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2277 connectés 

  FORUM HardWare.fr
  Programmation

  [MATHS, Pascal], puissance x

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MATHS, Pascal], puissance x

n°35685
Je@nb
Kindly give dime
Posté le 30-05-2001 à 16:25:52  profilanswer
 

Salut,
Je cherche une fonction permettant d'élever un nombre à une puissance x où x n'est pas obligé d'être entier.
Si ça existe, je n'ai pas trouvé.
Si ça n'existe pas, comment le programmer.
Merci

mood
Publicité
Posté le 30-05-2001 à 16:25:52  profilanswer
 

n°35688
tgrx
My heart is pumping for love
Posté le 30-05-2001 à 16:27:39  profilanswer
 

Rappel mathematique :
a^x = exp(x*ln(a))

n°35699
Je@nb
Kindly give dime
Posté le 30-05-2001 à 16:44:53  profilanswer
 

Merci, je ne savais pas : je n'ai pas appris encore en Maths les exponentielle et les ln (d'ailleurs je ne sais pas comment on fait.

n°35700
tgrx
My heart is pumping for love
Posté le 30-05-2001 à 16:48:56  profilanswer
 

Je pense que exp et ln existent en Pascal donc ca devrait passer.
Question bete : pourquoi tu veux faire des puissances non entieres si tu sais pas ce que sait ? :??:
(parce que la definition des puissances non entieres en maths c'est ce que j'ai ecrit au dessus)

n°35709
Je@nb
Kindly give dime
Posté le 30-05-2001 à 17:01:39  profilanswer
 

C pour les fréquences des sound.
Et j'ai besoin de fraction x/12 donc pas entière.
et la formule a besoin de nombres comme ça.
Voila

n°35783
BifaceMcLe​OD
The HighGlandeur
Posté le 30-05-2001 à 19:42:27  profilanswer
 

Je@nb> De mémoire, la fonction logarithme népérien (notée ln en maths) s'appelle Log() en Pascal, et la fonction logarithme décimal (notée log en maths) s'appelle Log10() en Pascal.
 
Dans la formule que t'a donnée tgrx, c'est bien le logarithme népérien qu'il faut utiliser, ce qui nous donne :

Code :
  1. function Power(a, x : real) : real;
  2. begin
  3.    Power := Exp(x * Log(a));
  4. end; /* Power */
 

[edit]--Message édité par BifaceMcLeOD--[/edit]

n°35828
mystereetb​ouledegomm​e
Posté le 30-05-2001 à 22:45:00  profilanswer
 

Juste pour dire que je suis tout emu de voire du Pascal quel langage clair et symple a maitriser.  :sweat: Je verse une larme ....

n°35845
BifaceMcLe​OD
The HighGlandeur
Posté le 31-05-2001 à 00:12:54  profilanswer
 

Ah ben non, ya encore mieux ! :D

Code :
  1. function Power(a, x : in Double) returns Double is
  2. begin
  3.    return Math.Exp(x * Math.Log(a));
  4. end Power;

n°35846
BifaceMcLe​OD
The HighGlandeur
Posté le 31-05-2001 à 00:17:10  profilanswer
 

Ah, au fait, Je@nb, il y a une petite contrainte dans la formule que tgrx t'a donnée, et que tu découvriras quand tu verras les fonctions logarithmes en cours : ces fonctions ne sont définies qu'entre zéro (exclu) et plus l'infini. La formule de calcul de a^x ne marche donc pas quand a est négatif...

n°35847
mystereetb​ouledegomm​e
Posté le 31-05-2001 à 00:19:38  profilanswer
 

BifaceMcLeOD je pense que le return n'existe pas en PAscal en effet il faut faire plutot Power:=.... mais peut etre utilisais tu du ADA !

mood
Publicité
Posté le 31-05-2001 à 00:19:38  profilanswer
 

n°35850
BifaceMcLe​OD
The HighGlandeur
Posté le 31-05-2001 à 00:37:21  profilanswer
 

Le mot-clé "returns" non plus n'existe pas en Pascal. ;)
Et effectivement, c'était de l'Ada.  :crazy:  :D  
 
Tu remarqueras quand même la première implémentation que j'ai donnée fait bien "Power := ...".

n°35852
mystereetb​ouledegomm​e
Posté le 31-05-2001 à 00:40:06  profilanswer
 

:D Z avais taison le return n'existe pas en Pascal! J'avais pas vu que le post avec Power:=... etait de toi! :p  :D

n°35877
BENB
100% Lux.
Posté le 31-05-2001 à 08:51:00  profilanswer
 

BifaceMcLeOD a écrit a écrit :

Ah, au fait, Je@nb, il y a une petite contrainte dans la formule que tgrx t'a donnée, et que tu découvriras quand tu verras les fonctions logarithmes en cours : ces fonctions ne sont définies qu'entre zéro (exclu) et plus l'infini. La formule de calcul de a^x ne marche donc pas quand a est négatif...




oui mais a^x n'a de sens que si x est entier ou a positif...
de meme que 0^0 n'a pas de sens...

n°35904
wouatouwou​atou
Posté le 31-05-2001 à 10:24:29  profilanswer
 

dun pt de vue Math, 0^0 c tres sensé, tout kom a^x ou x<0.. non ?
Mon nivo de math est tres faible.. alors... :D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°35907
BENB
100% Lux.
Posté le 31-05-2001 à 10:32:35  profilanswer
 

0^0 n'a absolument aucun sens mathematiquement parlant :
0^x = 0 x<>0  
x^0 = 1 x<>0
 
ensuite a^x = (1/a)^(-x) donc peu importe que x soit >0 ou < 0...
par contre si x n'est pas entier a doit etre positif ou alors a verifier a cas par cas : si x=1/3 c'est une racine cubique...
mais c'est toujours discutable... car en fait il faut passer par des complexes et alors il y a plusieurs solutions...

n°36170
Je@nb
Kindly give dime
Posté le 31-05-2001 à 17:53:03  profilanswer
 

Merci mais en tout cas ça marche
function puis(n,x : real) : real;
 begin
    puis:=exp(x*ln(n));
 end;
 
Par cotnre je ne sais pas mais la fonction lnexiste et je trouve juste

 

[edit]--Message édité par Je@nb--[/edit]

n°36174
tgrx
My heart is pumping for love
Posté le 31-05-2001 à 17:59:53  profilanswer
 

Bah si la fonction ln existe, c'est tranquille, pas de souci ;)

n°36217
BifaceMcLe​OD
The HighGlandeur
Posté le 31-05-2001 à 18:44:58  profilanswer
 

BENB a écrit a écrit :

 
oui mais a^x n'a de sens que si x est entier ou a positif...
de meme que 0^0 n'a pas de sens...




Pas tout à fait exact : (-1)^n a du sens...
 
En fait, si je me souviens bien, a^b est défini dans l'ensemble des réels si l'une des conditions suivantes est respectée :
 - a > 0, b réel.
 - a = 0, b != 0.
 - a entier strictement négatif, et b entier positif ou nul.

n°36228
tgrx
My heart is pumping for love
Posté le 31-05-2001 à 18:56:47  profilanswer
 

Ca marche aussi pour les valeurs suivantes :
 
a negatif, b sous la forme p/(2q+1), avec p et q entiers positifs


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [MATHS, Pascal], puissance x

 

Sujets relatifs
[Maths] Interpolation dans l'espacePascal -> Delphi (Console)
pascal ->hzlp ->partiel demaincherche de la documentation pour lex-yacc pour turbo pascal
[Pascal] -> Probleme de buffer ...PASCAL: Je vous en supplie, aidez moi, ou lisez au moins!!
PASCAL FilesPascal Objet, au secours !!!
Delphi vs Turbo PascalCa urge, j'ai besoin d'un puissance 4 en pascal avec l'IA
Plus de sujets relatifs à : [MATHS, Pascal], puissance x


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR