Nous avons découvert que la récursivité est l'exécution répétée de commandes contenues dans une sous-routine. Et cela, à son tour, est similaire au travail du cycle. Il existe des langages de programmation dans lesquels la construction de boucle est absente du tout, par exemple Prolog.
Essayons de simuler le travail de la boucle pour.
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
static void LoopImitation(int i, int n)
{
Console.WriteLine("Bonjour N" + i); // instruction à répéter pour toute valeur i
si (i < n) // jusqu'à ce que le compteur de boucle soit égal à n,
{
BoucleImitation(i+1, n);
// appelant un nouveau procédure d'instance, avec le paramètre i+1 (aller à la valeur i suivante)
}
}