Le robot logique [rb] Support de Cours Socle – Universit´ e de Haute Alsace Uni

Le robot logique [rb] Support de Cours Socle – Universit´ e de Haute Alsace Unisciel algoprog Version 12 mai 2018 Table des mati` eres 1 Le robot logique 3 1.1 Le robot logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 L’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 Initialisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 La s´ equence 8 2.1 La s´ equence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Exercice : La s´ equence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 L’alternative Si 10 3.1 L’alternative Si . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Les tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3 Exercice : L’alternative Si . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4 Exercice : L’alternative Si imbriqu´ ee (1) . . . . . . . . . . . . . . . . . . 14 3.5 Exercice : L’alternative Si imbriqu´ ee (2) . . . . . . . . . . . . . . . . . . 14 4 La r´ ep´ etitive TantQue 15 4.1 La r´ ep´ etitive TantQue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 Exercice : Devant le tr´ esor . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.3 Exercice : Tour du terrain . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.4 Exercice : L’Aller/Retour . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5 La proc´ edure 18 5.1 La proc´ edure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.2 Exercice : La proc´ edure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6 Exercice de synth` ese 21 7 Conclusion 22 8 R´ ef´ erences g´ en´ erales 22 1 Unisciel algoprog – Le robot logique [rb], May 12, 2018 2 Le robot logique (Cours) Mots-Cl´ es Algorithmique, Logique de programmation, Robot logique ■ Difficult´ e • • ◦ Objectifs du module Ce sont : • Introduire la logique de programmation au travers d’une application ludique. • Faire connaissance avec les concepts : la s´ equence, la conditionnelle, la r´ ep´ etitive, la proc´ edure. • Montrer comment d´ ecomposer un probl` eme en probl` emes plus simples. http://jrobot.gforge.inria.fr/ Unisciel algoprog – Le robot logique [rb], May 12, 2018 3 1 Le robot logique 1.1 Le robot logique Qu’est-ce que le robot logique ? Pour introduire les bases de la logique de programmation, nous utilisons un programme d’aide ` a l’apprentissage de l’algorithmique con¸ cu par Marc Tommasi de l’Universit´ e de Lille 3 : le « robot logique » (cf. figure ci-avant). Un Robot se d´ eplace dans un domaine rectangulaire sous forme d’une grille d´ elimit´ ee par un mur. On peut y placer un Tr´ esor. Le but est de trouver l’algorithme qui va per- mettre au robot d’effectuer une tˆ ache donn´ ee (ex : se positionner dans un coin, trouver le tr´ esor...). Pour cela, il faut combiner les actions ´ el´ ementaires qu’il connaˆ ıt (primitives : « avancer », « pivoter ` a droite »...) en utilisant ´ eventuellement des structures condition- nelles et/ou r´ ep´ etitives : • si ... alors ... sinon ... • tantque ... faire ... Remarque L’auteur a modifi´ e le graphisme de l’application : le robot apparaˆ ıt comme un pingouin et le tr´ esor est devenu un poisson. Unisciel algoprog – Le robot logique [rb], May 12, 2018 4 1.2 L’application Installation Rendez-vous sur la page de l’application (http://jrobot.gforge.inria.fr/) et cliquez sur le lien « T´ el´ echargez-le ». Ensuite il vous suffit de cliquer sur le fichier .jar pour lancer l’application. Essayer le logiciel Vous pouvez ´ egalement cliquer sur le lien « Essayez-le ». Cependant, il vous faudra sˆ urement modifier vos param` etres de s´ ecurit´ e du navigateur. Utilisation Le robot se configure via deux fenˆ etres : • La premi` ere permet de « programmer » le robot, c.-` a-d. lui donner la s´ equence d’instructions qu’il va devoir suivre. Cette fenˆ etre permet ´ egalement d’indiquer la situation initiale : position et orientation du robot, position du tr´ esor. • La deuxi` eme fenˆ etre montre la grille avec le robot et permet de voir « tourner » le programme (voir ci-avant, Figure 1). Option de confort Si vous trouvez que votre programme va trop vite ou trop lentement, l’interface graphique permet de modifier la vitesse d’ex´ ecution du programme et donc le d´ eplacement du Robot. Unisciel algoprog – Le robot logique [rb], May 12, 2018 5 1.3 Primitives Avancer Le Robot se d´ eplace d’une case dans la direction vers laquelle il regarde. S’il se trouve devant un mur, le programme s’arrˆ ete et vous invective (pas trop m´ echamment, en prin- cipe). Pivoter a droite Le Robot tourne d’un quart de tour vers la droite (c.-` a-d. dans le sens des aiguilles d’une montre). Ainsi, s’il regardait en bas, il regarde ` a pr´ esent ` a gauche. Marquer Le Robot d´ epose une marque sur la case o` u il se trouve. Si la case ´ etait d´ ej` a marqu´ ee, un message d’avertissement est affich´ e. Effacer Marque Le Robot enl` eve la marque de la case o` u il se trouve. Si la case n’´ etait pas marqu´ ee, un message d’avertissement est affich´ e. Commentaire Permet de mettre un texte qui am´ eliore la lisibilit´ e du programme. Unisciel algoprog – Le robot logique [rb], May 12, 2018 6 1.4 Initialisations Onglets Initialisations Par d´ efaut le Robot ainsi que le Tr´ esor sont plac´ es au hasard sur le terrain, le Robot dans une direction al´ eatoire. Vous pouvez imposer (dans certaines limites) des positions et orientation initiales. Les valeurs possibles pour les positions (Tr´ esor, Robot) sont : • Aléatoire • Sur un Bord : Nord, Est, Sud, Ouest ou sur un Côté quelconque • Dans un Coin : Nord ouest, Nord est|, \lstinlineSud est@, Sud ouest ou dans un Coin quelconque • A l’Intérieur du terrain (donc pas sur un bord) Les orientations possibles sont : • Aléatoire • Nord, Est, Sud et Ouest R´ eglages Ils doivent se faire avant toute action du Robot, c.-` a-d. avant d’ex´ ecuter le programme. Unisciel algoprog – Le robot logique [rb], May 12, 2018 7 Primitives d’initialisation Pour d´ efinir ces initialisations dans nos programmes, nous ajoutons les primitives : • initTerrain(limite) • initTresor(position) • initRobot(position, orientation) ainsi que les valeurs : • limite : MURS, TORE, PORTES • orientation : HASARD, NORD, EST, SUD, OUEST • position : HASARD, NORD, EST, SUD, OUEST, CNO, CNE, CSE, CSO, BORD, INTERIEUR, COIN Unisciel algoprog – Le robot logique [rb], May 12, 2018 8 2 La s´ equence 2.1 La s´ equence La s´ equence uploads/Philosophie/ rb00cours-texte-xxx.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager