Je débute dans le langage Python, et je me suis procuré une liste d’exercices concernant ce langage, parmi laquelle deux fonctions me posent problèmes. A vrai dire, je ne sais vraiment pas comment faire. Voici les deux énoncés:
1°) Ecrire une fonction puissance(a,n) qui retourne a^n.
Si tu n’as pas droit à pow, dans ce cas si x puissance y alors z = xn
en gros si x = 4 et y = 2 donc 4 puissance 2 alors z = 4 * 4, de la simple factorisation.
Pour les puissances, si ton truc avec "a**2" marche pas, il y a toujours la fonction récursive!
Un exemple en pseudo-code
J’espère que j’ai été assez précis…
Et y a même un exemple en Python sur internet qui se rapproche de mon pseudo-code (mais sans la qualité d’indentation ):
Definition. Une fonction est recursive si elle sappelle elle-meme.
def puissance ( x , n):
"Calcul x**n de façon recursive"
# Uniquement valeurs positives
if n>0:
return x * puissance (x,n-1)
else : return 1
print puissance (2,32)
(a noter que mon implémentation ne gère pas la puissance zéro et que aucune des deux ne prennent des puissances factorielles)
Procedure MyPow(foo,bar)
Protected counter.l, result.l = 1
If bar = 1
ProcedureReturn foo
EndIf
For counter = 1 To bar
result * foo
Next counter
ProcedureReturn result
EndProcedure
Debug MyPow(8,8)