Les règles sont simples : l'alien se situe au départ au centre de la grille et peut être déplacé avec les fonctions haut, bas, gauche et droite.
L'objectif est de trouver la case finale de l'alien (et donc son parcours) après exécution du programme donné.
Les différentes instructions
haut(4) déplace l'alien de 4 cases vers le haut ;
haut(-2) déplace l'alien de 2 cases vers le bas ;
haut() déplace l'alien de 1 case vers le haut (c'est donc équivalent à haut(1)).
Le principe est similaire avec les trois autres fonctions.
Consignes
Dans cet exercice, on trouve deux types de questions :
Dessinez le parcours : dessinez le parcours de l'alien en cliquant sur la case d'arrivée de chaque instruction exécutée. Vous pourrez ensuite valider votre parcours pour vérifier s'il est correct.
Codez le parcours : écrire le code nécessaire pour obtenir le déplacement souhaité (les numéros correspondent aux différentes étapes).
Attention
Le code ne devra pas dépasser les \(10\) lignes.
Boucle bornée
Une instruction itérative, ou boucle, permet de répéter plusieurs fois une séquences d'instructions.
🐍 Script Python
forloopinrange(2):haut(3)
Le nombre entre parenthèses dans range(nombre) indique le nombre de répétitions des instructions. Dans cet exemple, on répète \(2\) fois un déplacement de l'alien de \(3\) cases vers le haut.
Les instructions répétées dans la boucle (corps) doivent être décalées à l'aide de la touche tabulation.
Question 1 : Dessinez le parcours
🐍 Script Python
123
for_inrange(5):gauche()haut()
Dessinez le parcours
L'image est en train de se charger
Question 2 : Dessinez le parcours
🐍 Script Python
12345
gauche(5)for_inrange(3):haut()droite(2)bas(4)
Dessinez le parcours
L'image est en train de se charger
Question 3 : Codez le parcours
Figure attendue
Votre tracé sera ici
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Entrer ou sortir du mode "deux colonnes" (Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran" (Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Tracé du parcours (le vôtre à gauche, la solution à droite)
Le parcours de votre code et la solution attendue s'afficheront ici
Compteur
Une boucle avec compteur permet de répéter des instructions un certain nombre de fois tout en mettant à jour automatiquement une variable compteur qui est initialisée à zéro.
🐍 Script Python
forcompteurinrange(3):droite(compteur)
La variable compteur est automatiquement initialisée à \(0\) et automatiquement augmentée de \(1\) à la fin de chaque tour de boucle (sauf au dernier). Elle prendra donc tour à tour les valeurs \(0\), \(1\) et \(2\)
Question 5 : Dessinez le parcours
🐍 Script Python
1234
bas(7)droite()forainrange(3):haut(a+1)
Dessinez le parcours
L'image est en train de se charger
Question 6 : Codez le parcours
Figure attendue
Votre tracé sera ici
###(Dés-)Active le code après la ligne # Tests (insensible à la casse) (Ctrl+I)
Entrer ou sortir du mode "deux colonnes" (Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran" (Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Tracé du parcours (le vôtre à gauche, la solution à droite)
Le parcours de votre code et la solution attendue s'afficheront ici
Bornes
Il est possible d'indiquer la borne de début (incluse) et de fin (exclue).
🐍 Script Python
forcompteurinrange(2,6):droite(compteur)
La variable compteur est automatiquement initialisée à \(2\) et automatiquement augmentée de \(1\) à la fin de chaque tour jusqu'à \(6\) exclu (il ne prendra pas cette valeur).
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)