Écrire une fonction somme(n)
qui prend un nombre entier en argument et renvoie la somme des n premiers entiers (1 + 2 + 3 + … + n) et qui contient une boucle for
.
On cherche à utiliser une boucle for dans la fonction somme(n)
. Il faut donc tout d’abord repérer l’opération répétitive et déterminer combien de fois elle est répétée.
A la main, on peut donc commencer en testant les cas n=1, n=2, n=3, …
S(1) = 1
S(2) = 1 + 2 = 3
S(3) = 1 + 2 + 3 = 6
On voit bien en continuant n=4, n=5, … qu’il est préférable d’ajouter 4, 5, … au résultat précédent plutôt que tout recalculer : on préfèrera donc faire S(4) = S(3) + 4 = 6 + 4 = 10 que S(4) = 1 + 2 + 3 + 4.
On a distingué ici l’étape répétitive : “S(i) = S(i-1) + i”.
Pour calculer la somme des entiers de 1 à n, il faudra faire varier i
de 1 à n. On utilisera donc range(1,n+1)
.
On note S la somme cherchée. Au début de la boucle, la variable S vaut zéro : S = 0. A la fin de la boucle, on veut que S = 1 + 2 + … + n.
Avant la boucle for
, on crée donc la variable S en l’initialisant à 0. A chaque itération de la boucle for
, on réalise l’opération répétitive suivante : “stocke S+i dans S”.
Il existe une formule explicite en fonction de n pour calculer la somme des n premiers entiers :
Écrire une fonction puissance(x,n)
qui prend un réel x et un entier naturel n en argument et renvoie la puissance n-ième de x, .
Comme on répète n fois , on utilise une boucle for
tout comme la somme des n premiers entiers. Ici on multiplie le résultat par x à chaque itération.
En Python, il y a la possibilité d’utiliser une double étoile pour calculer une puissance.
Aussi, le module math
de Python dispose d’une fonction pow(x,n)
pour calculer la puissance d’un nombre.