site de Fabien Torre


Exercices avec Le Robot

La présentation et les exercices de Le Robot, un simulateur qui permet de s'initier aux bases de la programmation.

Une version web du Robot est disponible depuis janvier 2021.

Description de Le Robot

Premiers pas

Un Robot se déplace dans un domaine rectangulaire de dimensions finies, divisé en cases. Cet espace sera délimité par une frontière. Les cases pourront être vides ou contenir un trésor.

Le Robot sait réaliser quelques actions élémentaires et faire quelques observations sur son environnement.

Premières actions

Le Robot ne comprend que deux instructions de base:
  • Avancer: Le Robot avance dans sa direction d'une case. S'il se trouvait devant un mur, le programme s'arrête et vous invective (en principe pas trop méchamment).
  • Pivoter à droite: Le Robot tourne d'un quart de tour vers la droite (ou, si vous préférez, dans le sens des aiguilles d'une montre, ou encore, dans le sens anti-trigonométrique).

Initialisations

Si vous ne précisez rien, le Robot et le trésor sont placés au hasard sur le terrain, le Robot dans une direction aléatoire. Vous pouvez imposer (dans certaines limites) des positions et orientation initiales.

Tout cela se fait à partir de l'onglet Initialisations.

Attention: ces réglages doivent se faire avant toute action du Robot, c'est-à-dire avant d'exécuter le programme.

  • Les valeurs possibles pour la position du trésor et la position du Robot sont :
    • Aléatoire,
    • sur un bord : Nord, Est, Sud, Ouest ou sur un Côté quelconque,
    • dans un coin : Nord ouest, Nord est, Sud est, Sud ouest ou dans un Coin quelconque,
    • à l'Intérieur du terrain (donc pas sur un bord).
  • Les orientations possibles du Robot sont : Aléatoire, Nord, Est, Sud et Ouest.

Les tests

Le Robot peut faire quelques tests sur son environnement afin de prendre des décisions:
  • Devant Mur : La case devant lui est-elle un mur ? La réponse est oui s'il se trouve devant un mur, non dans tous les autres cas.
  • Devant Marque : La case devant lui est-elle marquée ? La réponse sera non s'il se trouve devant une case non marquée ou devant un mur, oui dans le cas contraire.
  • Sur Marque : Le Robot se trouve-t-il sur une case marquée ?
  • Devant Trésor : La case devant lui contient-elle un trésor ? La réponse sera non s'il se trouve devant une case vide ou devant un mur, oui dans le cas contraire.
  • Sur Trésor : Le Robot est-il sur le trésor ?

Structures de contrôle

Le robot est capable de gérer deux structures de contrôle :
  • si ... alors ... sinon ...
  • la boucle tant que ... faire ...

Les autres actions

  • Marquer: Dépose une marque sur la case où se trouve le Robot. Si la case était déjà marquée, un message d'avertissement est affiché.
  • Effacer marque: Enlève la marque sur la case où se trouve le Robot. Si la case n'était pas marquée, un message d'avertissement est affiché.

Création de procédure

Lorsqu'une suite d'actions revient régulièrement, il peut être souhaitable de la placer dans une procédure, c'est-à-dire un bloc d'instructions portant un nom, et que l'on pourra rappeler à volonté. Par exemple,

Procédure JusquAuMur
Début
  Tant que non(DevantMur) Faire
    Avancer
  Fin Tant que
Fin

Pour cela, nous utilisons la possibilité de Créer une procédure, ensuite il reste à choisir son nom et à taper les actions qui la composent.

Finalement, on revient au programme principal, le nom de la procédure est apparu dans la liste des actions.

Option de confort

Si vous trouvez que votre programme va trop vite ou trop lentement, l'interface graphique vous permet de modifier la vitesse d'exécution du programme et donc de déplacement de Le Robot.

Exercices avec Le Robot

Découverte du Robot

En utilisant les contrôles manuels du Robot...

  1. Le Robot se trouve dans le coin sud-ouest, orienté vers le nord. Avancer de trois cases.
  2. Initialisations identiques. Avancer de trois cases, tourner à droite, avancer de cinq cases.
  3. Initialisations identiques. Avancer de 3 cases, poser une marque, demi-tour, revenir au départ, demi-tour.

Reprendre ces premières questions en observant les booléens qui changent de valeurs pendant le parcours.
Jouer également sur les boutons « recommencer » et « tout changer ».

  1. Amener le Robot dans une situation dans laquelle trois booléens sont allumés à vrai. Est-il possible d'en obtenir plus que trois ?

Prise en main de l'interface de programmation

  1. Reprendre les premières questions, cette fois en programmant le Robot.
  2. Avancer de deux cases ; si devant un mur alors retour à la case départ, sinon à droite et avancer de 3 cases.
  3. Le Robot se trouve dans le coin sud-ouest, orienté vers le nord. Aller jusqu'au coin nord-ouest.
  4. Initialisations identiques. Aller jusqu'au coin nord-ouest et retour.
  5. Reprendre les deux dernières questions en définissant et en utilisant des procédures.
  6. Imaginer un moyen de rejoindre le mur en face, sans utiliser de boucle « Tant que ».

Entraînement

  1. Le Robot est n'importe où sur le terrain ; aller jusqu'au mur en face.
  2. Le Robot est n'importe où sur le terrain, orienté vers le nord. Aller jusqu'au coin nord-est.
  3. Initialisations identiques. Aller jusqu'au coin nord-est et retour. Indication : c'est le bon moment pour observer ce que le Robot sait faire avec des marques.
  4. Initialisations identiques. Faire le tour du terrain dans le sens des aiguilles d'une montre.
  5. Le Robot se trouve dans le coin sud-ouest, orienté vers l'est. Faire le tour du terrain dans le sens contraire des aiguilles d'une montre.
  6. Le Robot se trouve dans le coin sud-ouest. On ne connaît pas son orientation. Orientez le vers le nord.
  7. Le Robot se trouve n'importe où dans le terrain. Placez le dans un coin.

En quête du trésor...

  1. Le Robot se trouve dans le coin sud-ouest, orienté vers le nord. Le trésor se trouve sur le bord est. Dirigez le Robot pour qu'il atteigne le trésor.
  2. Le Robot se trouve dans le coin sud-ouest, orienté vers le nord. Le trésor se trouve sur un bord du terrain. Aller jusqu'au trésor.
  3. Le Robot se trouve n'importe où sur le bord sud, orienté vers l'est. Faire un tour exactement (revenir au point de départ). Indication : il faut utiliser les marques.
  4. Le Robot se trouve dans le coin nord-ouest, orienté vers le sud. Parcourir le tour au bord du terrain, puis une case à l'intérieur.
  5. Le Robot se trouve n'importe où sur le terrain, orientation inconnue. Aller au bord, faire le tour du terrain et revenir au point de départ.
  6. Le Robot se trouve n'importe où sur le terrain, orientation inconnue. Aller au centre du domaine.
  7. Le Robot se trouve dans le coin nord-ouest, orienté vers le sud. Marquer tout le domaine.
  8. Le Robot est dans le coin sud-ouest, orienté vers le nord. Trouver le trésor présent dans le domaine.
  9. Le Robot est n'importe où sur le terrain, orientation inconnue. Trouver le trésor présent dans le domaine.

Implémentations du Robot

Ce document s'inspire des premiers exercices imaginés par Alain Terlutte et Dominique Gonzalez, merci à eux. Ci-dessous une liste d'implémentations du Robot.


Fabien Torre Valid HTML5! Valid CSS!
Accueil > Enseignement > En pratique > Programmation > Le Robot
(contenu mis à jour )
site de Fabien Torre, université de Lille

Description

Survoler un lien de navigation pour lire sa description ici...