Sunulab
La science, par la pratique
CoursAvancé8 min de lecture

Quand un bloc s'appelle lui-même

La récursion : la technique mentalement vertigineuse qui dessine des fractales en 5 blocs.

§1.Une fonction qui s'utilise elle-même

Tu as appris au chapitre 6 qu'une fonction peut en appeler une autre. Voilà l'idée vertigineuse : et si une fonction s'appelait ELLE-MÊME, à l'intérieur de sa propre définition ?

C'est ce qu'on appelle la RÉCURSION. Sur le papier ça semble absurde — comme un chien qui court après sa queue. En pratique, c'est la technique la plus élégante pour dessiner des fractales : des formes où chaque petite partie ressemble au tout.

§3.Anatomie d'une fonction récursive

Le cas de base
Un « si » au début de la fonction : si on est trop petit / trop loin / trop profond, on s'arrête (avec un return, ou simplement rien faire).
Exemple. Si taille < 10 → ne fais rien.
L'appel récursif
On rappelle la fonction avec un paramètre PLUS PETIT (ou plus proche du cas de base).
Exemple. Au lieu d'appeler dessiner(taille), on appelle dessiner(taille × 0.7).
Avant vs Après l'appel
Ce qui est AVANT l'appel récursif s'exécute « à la descente ». Ce qui est APRÈS s'exécute « au retour ». Cette dualité crée les motifs complexes des fractales.

Crée une fonction « branche » avec paramètre « taille ». Dedans : un « si taille < 10 alors return » comme cas de base. Sinon : avancer(taille), tourner 25° droite, APPELER branche(taille × 0.7), tourner 50° gauche, APPELER branche(taille × 0.7), tourner 25° droite, reculer(taille). Puis appelle branche(80) dans ton programme principal.

Chargement de l'atelier de blocs…

§5.Pourquoi ça marche : la pile

Quand branche(80) s'exécute, à un moment elle appelle branche(56). À ce moment, branche(80) est mise EN PAUSE — elle attend que branche(56) finisse. branche(56) appelle branche(39.2), qui appelle branche(27.4)… jusqu'à ce que taille tombe sous 10. Là, la fonction ne se rappelle plus : c'est le cas de base.

À ce moment, on REMONTE : la dernière fonction finit, puis l'avant-dernière reprend, etc. C'est cette « pile d'appels » qui permet à chaque niveau de la fractale de bien revenir à sa position avant de dessiner la branche suivante.

§7.C'est la fin du parcours blocs

Bravo ! Tu as parcouru les 7 chapitres : blocs de base, couleurs, boucles, variables, conditions, fonctions, récursion. Tu maîtrises maintenant l'intégralité de ce que Blockly peut faire pour dessiner.

Prochaine étape suggérée : ouvre l'atelier de blocs sans contrainte, choisis un dessin dans la galerie, et essaie de le reproduire. Les fractales de la galerie sont les plus impressionnantes — et maintenant, tu sais comment elles fonctionnent.

À retenir

  • Une fonction récursive s'appelle elle-même.
  • Toujours un CAS DE BASE qui arrête la récursion — sinon, plantage.
  • Chaque appel doit RÉDUIRE le problème (paramètre plus petit).
  • Idéal pour les fractales : arbre, flocon de Koch, triangle de Sierpiński.
  • Pense-le comme : « pour faire un grand X, fais deux petits X plus loin ».
Mots-clésrécursionfractalearbreauto-similarité