Première approche
Lang 05
- Le diaporama du coursRésumé du cours
Programmation itérative
def somme_iteratif(n: int) -> int:
s = 0
while n > 0:
s = s + n
n = n - 1
return s
assert somme_iteratif(4) == 10
Remarque
Le code de la boucle while est exécuté tant que la condition est vérifiée.
Programmation récursive
Remarque
Une fonction récursive est une fonction:
- qui s’appelle elle-même tant qu’une condition est vérifiée,
- possède une condition d’arrêt, pour ne pas s’appeler indéfiniment.
def somme_recursif(n: int) -> int:
if n == 0:
return 0
else:
return n + somme_recursif(n-1)
Dans la mémoire, la pile d’appels stocke les arguments de chaque appel avant la mise en pause.
Lors de la remontée d’appel, la fonction reprend là où elle s’était mise en pause.