Analyse de l'énoncé et enjeux pédagogiques
Cet exercice, bien qu'issu d'un sujet de fin de collège, pose les bases fondamentales de l'algorithmie indispensables pour la spécialité mathématiques en Première. Il traite de la notion de sous-programme (le bloc 'Carré'), de boucles itératives et de transformations géométriques (translations et rotations). En Première, ces concepts sont transposés vers le langage Python, où la maîtrise de la structure logique prime sur la syntaxe graphique.
Points de vigilance et notions de cours
- Le bloc personnalisé : Comprendre qu'appeler 'Carré' exécute une boucle interne qui dessine un polygone régulier avant de redonner la main au script principal.
- L'orientation initiale : L'instruction 's'orienter à 90' est cruciale car elle définit le vecteur de direction initial du tracé.
- Déplacement vs Tracé : Il faut distinguer les mouvements effectués avec le stylo en position d'écriture (dans le bloc Carré) et les déplacements de transition dans le script principal.
Guide de résolution détaillé
1. Construction de la figure : Le script principal demande de répéter 4 fois le dessin d'un carré de côté 50 unités, suivi d'une translation de 50 unités vers la droite. Puisque le côté du carré est de 50 et le décalage est de 50, les carrés vont se toucher par leurs sommets sans se chevaucher. À l'échelle 1 cm pour 25 unités, chaque côté de carré mesure 2 cm. On obtient donc une ligne horizontale de quatre carrés juxtaposés.
2. Association des scripts et des figures :
- Script A : On répète 3 fois le tracé, mais l'avancement n'est que de 25 unités. Comme le côté du carré est de 50, le deuxième carré commence au milieu de la base du premier. Cela correspond à la Figure 3 (chevauchement).
- Script B : Ici, on ne demande pas d'avancer, mais de tourner de 90 degrés après chaque carré. Les quatre carrés vont donc pivoter autour du point d'origine (0,0). Cela correspond à la Figure 1.
3. Complétion du script pour la figure complexe : La figure finale présente une symétrie d'ordre 8 (on voit 8 carrés répartis uniformément). Pour compléter un tour complet de 360 degrés avec 8 répétitions, chaque rotation doit être de 360 / 8 = 45 degrés.
Ligne 5 : répéter 8 fois
Ligne 7 : tourner de 45 degrés.
Transition vers la Première Spécialité
En Première, ce type d'algorithme serait implémenté avec la bibliothèque turtle de Python. La boucle for i in range(8): remplacerait le bloc 'répéter', et les fonctions forward() et left() remplaceraient les briques Scratch. La logique de décomposition d'un problème complexe en fonctions (le bloc Carré) reste identique.