Alien (7) - Boucles conditionnelles
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 de4cases vers le haut ;haut(-2)déplace l'alien de2cases vers le bas ;haut()déplace l'alien de1case vers le haut (c'est donc équivalent àhaut(1)).
Le principe est similaire avec les trois autres fonctions.
Autres fonctions !
Trois autres fonctions permettent de situer l'alien dans la grille :
case()renvoie la case sur laquelle se trouve l'alien, de"A01"à"O15";ligne()renvoie la ligne de la case sur laquelle se trouve l'alien, de"A"à"O";colonne()renvoie la colonne de la case sur laquelle se trouve l'alien,"01"à"15".
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
En fonction de la question, il y aura une limitation du nombre de lignes.
Boucle conditionnelle
Une boucle conditionnelle, permet de répéter plusieurs fois une séquence d'instructions, en fonction d'une condition évaluée avant chaque répétition de cette séquence.
À chaque étape, les instructions indentées sont répétées
Ne pas oublier de modifier ce qui est évalué dans la condition, sous peine d'avoir une boucle infinie. Dans ce cas le programme tourne sans fin.
n = 0
while n < 4:
haut()
n = n + 1
while colonne() > '02':
gauche()
Boucle while – boucle for
Ces deux boucles sont équivalentes :
n = 0
while n < 4:
haut()
n = n + 1
for n in range(4):
haut()
Question 1 : Dessinez le parcours
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 | |
Dessinez le parcours
Question 2 : Dessinez le parcours
| 🐍 Script Python | |
|---|---|
1 2 3 4 | |
Dessinez le parcours
Question 3 : Dessinez le parcours
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Dessinez le parcours
Question 4 : Dessinez le parcours
| 🐍 Script Python | |
|---|---|
1 2 3 4 5 6 7 | |
Dessinez le parcours
Pour les deux questions suivantes écrire le code nécessaire pour obtenir le déplacement souhaité (les numéros correspondent aux différentes étapes), en respectant les conditions suivantes :
- Le nombre de lignes de code est limité (9 pour la question 5 et 10 pour la question 6).
- Les fonctions
bas,haut,droiteetgauchedoivent toujours être appelées sans argument, ici. - Les boucles
forsont interdites.
Risques de boucles infinies !
Le code initial peut conduire à une boucle infinie s'il est lancé en n'ayant pas apporté certaines modifications.
Si vous constatez qu'il ne se passe plus rien et que le navigateur est bloqué/figé, il faut fermer l'onglet puis le rouvrir pour récupérer la main :
- Si vous avez au moins deux onglets ouverts : Ctrl+W puis Ctrl+Shift+T.
- Si vous avez un seul onglet ouverts : commencer par ouvrir un nouvel onglet, afin d'éviter de fermer le navigateur, puis revenir sur l'onglet de CodEx et appliquer la procédure ci-dessus.
Question 5 : Codez le parcours
Figure attendue
Tracé du parcours (le vôtre à gauche, la solution à droite)
Question 6 : Codez le parcours
Il faudra utiliser au moins deux boucles conditionnelles.
Figure attendue
# Tests (insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Tracé du parcours (le vôtre à gauche, la solution à droite)
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)