NUMERIQUE ET SCIENCES INFORMATIQUESNiveau : Terminale générale, enseignement de spécialité NSI
Réaliser à l’aide d’une fonction récursive le dessin suivant :
| un colimaçon |
|---|
![]() |
Cahier des charges
Principales fonctions du module turtle
| • goto(x,y) | Aller à l'endroit de coordonnées x et y |
| • forward(distance) | Avancer d'une distance donnée |
| • backward(distance) | Reculer |
| • up() | Relever le crayon (pour pouvoir avancer sans dessiner) |
| • down() | Abaisser le crayon (pour pouvoir recommencer à dessiner) |
| • color(couleur) | Couleur peut être une chaîne prédéfinie ('red', 'blue', 'green', etc.) |
| • left(angle) | Tourner à gauche d'un angle donné (exprimé en degré) |
| • right(angle) | Tourner à droite |
| • width(épaisseur) | Choisir l'épaisseur du tracé |
| • write(texte) | texte doit être une chaîne de caractères délimitée avec des " ou des ' |
| • speed(vitesse) | Définit la vitesse de traçage (vitesse est un entier compris entre 0 à 9) |
| Résultat |
|---|
Exercice 2 : ★★
| l'arbre binaire |
|---|
![]() |
Cahier des charges
Pour résoudre le problème, on commence par dessiner uniquement 2 branches à partir du tronc :

Lorsqu'on atteint les extrémités des branches (en vert) on appelle récursivement la fonction avec L/2

| Résultat |
|---|
Exercice 3 : ★★
| Le flocon de Koch |
|---|
![]() |
| Ordre 0 | Ordre 1 | ordre 2 |
|---|---|---|
![]() | ![]() | ![]() |
Cahier des charges
Généralisation
A partir de l'ordre 1, l'ordre n est composé du motif de l'ordre n-1 de longueur L/3
Programmer le motif de l'ordre 0 lorsque n=0 sinon le motif d'ordre 1 appelant le motif d'ordre n-1 avec une longueur L/3
| Résultat |
|---|
Exercice 4 : ★★
| Le triangle de Sierpinzki |
|---|
![]() |
| Ordre 0 | Ordre 1 | ordre 2 |
|---|---|---|
![]() | ![]() | ![]() |
Généralisation
A partir de l'ordre 1, l'ordre n est composé du motif de l'ordre n-1 de longueur L/2
Programmer le triangle d'ordre 0 de longueur L, puis les 3 triangles d'ordre 1, en appelant l'ordre n-1.
Le dessin des triangles commence en bas à gauche. Vous pouvez vous aider d'un crayon et d'une feuille de papier pour dessiner l'ordre 1
| Résultat |
|---|
Exercice 5 : ★
Écrire en Python une procédure (non récursive) carre qui :
| Carré |
|---|
![]() |
| Résultat |
|---|
Exercice 6 : ★★
Copier la fonction carre et en faire une fonction récursive fractale_carre qui :
| Ordre 0 | Ordre 1 | Ordre 2 |
|---|---|---|
![]() | ![]() | ![]() |
| Résultat |
|---|
Exercice 7 : ★★
Fond : Texte : Tables : Thème Python:
Contenu
sous licence CC BY-NC-SA 3.0
Pascal Hassenforder - Amandine Schreck 21/11/2020
Mise à jour du 19/10/2022