Module: sous-programmes. récursivité


Problem

2/8

Récursivité. Simulation de cycles

Theory Click to read/hide

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 absente du tout, par exemple Prolog. 
Essayons de simuler le fonctionnement 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 procédure LoopImitation(i, n : entier); commencer     writeln('Bonjour N', je); // Opérateur à répéter pour toute valeur de i     si je < n then //Jusqu'à ce que le compteur de boucle devienne égal à la valeur n,         BoucleImitation(i + 1, n); //appel d'une nouvelle instance de la procédure, avec le paramètre i+1 (passage à la valeur suivante i) fin;

Problem

Étudiez le programme ci-dessous et lancez un appel de procédure avec les paramètres i=1, n=10 dans le programme principal //Procédure LoopImitation() avec deux paramètres //Premier paramètre – compteur de pas, second paramètre – nombre total d'étapes procédure LoopImitation(i, n : entier); commencer     writeln('Bonjour N', je); // Opérateur à répéter pour toute valeur de i     si je < n then //Jusqu'à ce que le compteur de boucle devienne égal à la valeur n,         BoucleImitation(i + 1, n); //appel d'une nouvelle instance de la procédure, avec le paramètre i+1 (passage à la valeur suivante i) fin; commencer     // ici il faut lancer un appel de procédure avec les paramètres i=1, n=10 fin.