Alien (4) - Boucles bornées
Série d'exercices
Cet exercice fait partie d'une série :
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é.
Rappels des différentes instructions
haut(4)
déplace l'alien de4
cases vers le haut ;haut(-2)
déplace l'alien de2
cases vers le bas ;haut()
déplace l'alien de1
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.
for loop in range(2) :
haut(3)
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
for _ in range(5) :
gauche(1)
haut(1)
Dessinez le parcours
Question 2 : Dessinez le parcours
gauche(5)
for _ in range(3) :
haut(1)
droite(2)
bas(4)
Dessinez le parcours
Question 3 : Codez le parcours
Tracé du parcours
Question 4 : Codez le parcours
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Tracé du parcours
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.
for compteur in range(3):
droite(compteur)
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
bas(7)
droite(1)
for a in range(3) :
haut(a+1)
Dessinez le parcours
Question 6 : Codez le parcours
Figure attendue
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Tracé du parcours
Bornes
Il est possible d'indiquer la borne de début (incluse) et de fin (exclue).
for compteur in range(2, 6):
droite(compteur)
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).
Question 7 : Dessinez le parcours
gauche(7)
bas(7)
for a in range(1, 4) :
droite(a)
haut(a)
gauche(2)
Votre figure
Question 8 : Codez le parcours
Figure attendue
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Tracé du parcours
# Tests
(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)