Aujourd'hui, vous avez corrigé la série d'exercices sur les tris avancés (fusion et pivot).
Voici un PDF de la correction.
Ensuite, vous avez fait connaissance avec la programmation récursive.
Elle consiste en une fonction qui s'appelle elle-même (appel récursif), ce qui permet d'envisager les boucles algorithmiques d'une nouvelle manière. Il faut faire attention à ce que la chaîne d'appels récursif soit maîtrisée en prévoyant un condition pour en sortir!
Pour cela, vous avez fait un jeu de rôle où l'enseignante vous donne une mission: une fonction que vous devez exécuter "à la main". Le problème est que cette fonction s'appelle elle-même et, pour visualiser cela, vous avez donné la mission d'exécuter la 2ème version de la fonction à votre voisin (avec un argument "n" différent). Celui-ci, quand il essaie d'exécuter la fonction se retrouve dans la même situation et engage le voisin suivant pour exécuter une 3ème version, etc. jusqu'à ce que la condition pour sortir de la récursion soit atteinte et que le dernier voisin retourne enfin le résultat à son prédécesseur qui peut à son tour terminer son calcul et faire de même avec son prédessesseur, etc. jusqu'à ce que le résultat final parvienne à l'enseignante!
Cet ordre sous la forme d'une fonction est présent dans ce fichier PDF.
DEVOIRS:
- Faire le Devoir de création d'un premier programme Python récursif: la factorielle: