Bonjour a toutes et a tous, je me suis remis a AutoIt il y a peu de temps et j'aurais voulu faire un programme qui utilise la fonction mathématique "puissance". Étant donné qu'il n'y a pas de fonction existante, j'en ai réalisé une avec une décrémentation mais voilà tout, j'aurais aimé savoir si vous aviez une fonction semblable, sans incrémentation ni décrémentation.
Merci d'avance, milka.
[R] Fonction puissance
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Fonction puissance
Modifié en dernier par milka le lun. 27 déc. 2010 19:30, modifié 1 fois.
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [..] Fonction puissance
Essay ça:
PS: Faut apprendre à lire l'aide, et pas seulement "Function Reference"!
Code : Tout sélectionner
ConsoleWrite(2 ^ 3 & @CRLF)Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Re: [..] Fonction puissance
Ohhhhh !
Je te remercie beaucoup ! Je n'avais jamais remarqué cette fonction =$
Merci beaucoup, milka.
Je te remercie beaucoup ! Je n'avais jamais remarqué cette fonction =$
Merci beaucoup, milka.
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Fonction puissance
Heuuuu ...
Rien à voir avec les fonctions.
Le symbole de la puissance est un simple opérateur.
Vous n'avez sans doute pas lu ceci : http://www.autoitscript.fr/autoit3/docs ... rators.htm
Rien à voir avec les fonctions.
Le symbole de la puissance est un simple opérateur.
Vous n'avez sans doute pas lu ceci : http://www.autoitscript.fr/autoit3/docs ... rators.htm
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [R] Fonction puissance
Je profite de ce sujet pour attaquer un peu ceux qui prônent le recursif: Un test simple le calcul de puissance, voilà de fonctions que je viens de coder, une de manière iterative, l'autre de manière recursive. Les resultats sont sans appel, le recursif est toujours 2 fois plus long.
Code : Tout sélectionner
$t = TimerInit()
ConsoleWrite(_puissance_iterative(13,13) & @CRLF)
ConsoleWrite(TimerDiff($t) & @CRLF)
$t = TimerInit()
ConsoleWrite(_puissance_recursive(13,13) & @CRLF)
ConsoleWrite(TimerDiff($t) & @CRLF)
Func _puissance_iterative($nombre,$puissance)
If $puissance = 0 Then
$result = 1 ; convention mathematique
Else
$result = 1
For $i = 1 to $puissance
$result *= $nombre
Next
EndIf
Return $result
EndFunc
Func _puissance_recursive($nombre,$puissance)
If $puissance = 0 Then
$result = 1 ; convention mathematique
ElseIf $puissance = 1 Then
$result = $nombre
Else
$result = $nombre * _puissance_recursive($nombre,$puissance-1)
EndIf
Return $result
EndFunc
- SrBelial
- Niveau 7

- Messages : 335
- Enregistré le : jeu. 22 juil. 2010 11:29
- Localisation : 81 et 31
- Status : Hors ligne
Re: [R] Fonction puissance
très bonne comparaison timmalos !!
j'en profite tant qu'on est sur ce cas d'école :
il est possible de réduire encore la complexité de l'exemple en réduisant significativement le nombre d'opérations ainsi :
plutôt que de traduire 2^100 en 2*2^99 = 2*2*2^98 = 2*2*2*2^97, ce qui nous amènera à faire 99 multiplications successives,
il vaudrait sans doute mieux traduire ça ainsi :
2^100 = 2^50 * 2^50 = 2^25 * 2^25 * 2^25 * 2^25
pour ceux qui ne sont pas convaincus, je vous laisse écrire le script qui va bien ! au lieu d'avoir 99 multiplications, on devrait en avoir quelque chose comme log2(100) ... genre une dizaine quoi si mes souvenirs sont bons.
un indice : vous n'avez pas une puissance paire ? hé bien arrangez vous pour que ce soit le cas ! (2^101 = 2 * 2^100)
j'en profite tant qu'on est sur ce cas d'école :
il est possible de réduire encore la complexité de l'exemple en réduisant significativement le nombre d'opérations ainsi :
plutôt que de traduire 2^100 en 2*2^99 = 2*2*2^98 = 2*2*2*2^97, ce qui nous amènera à faire 99 multiplications successives,
il vaudrait sans doute mieux traduire ça ainsi :
2^100 = 2^50 * 2^50 = 2^25 * 2^25 * 2^25 * 2^25
pour ceux qui ne sont pas convaincus, je vous laisse écrire le script qui va bien ! au lieu d'avoir 99 multiplications, on devrait en avoir quelque chose comme log2(100) ... genre une dizaine quoi si mes souvenirs sont bons.
un indice : vous n'avez pas une puissance paire ? hé bien arrangez vous pour que ce soit le cas ! (2^101 = 2 * 2^100)
.-SrB-. The One
- NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
- OUI ! AutoIt est un langage à part entière !
- Dans SciTE sélectionnez 1 mot puis F1
- Don't want english doc ?? go to documentation française !! >>ICI<<


