La récursivité comme remplacement de boucle
Nous avons vu que la récursivité est l'exécution répétée d'instructions contenues dans un sous-programme. Et cela, à son tour, est similaire au travail du cycle. Il existe des langages de programmation dans lesquels la construction de boucle est totalement absente. Par exemple, Prolog.
Essayons de simuler le travail de la boucle
for
.
La boucle
for
contient une variable de compteur de pas. Dans un sous-programme récursif, une telle variable peut être passée en paramètre.
# Procédure LoopImitation() avec deux paramètres
# Premier paramètre – compteur de pas, second paramètre – nombre total d'étapes
def LoopImitation(i, n):
print("Hello N", i) # Instruction à répéter pour toute valeur de i
si je < n : # jusqu'à ce que le compteur de boucle soit égal à la valeur n,
LoopImitation(i + 1, n) # appelle une nouvelle instance de la procédure,
# avec le paramètre i+1 (aller à la valeur suivante i)