Leçon 4 :

Conditions logiques et tests

Conditions logiques

Une condition logique est une expression donnant un résultat vrai ou faux. On peut en particulier combiner différents mots-clef avec les opérateurs logiques Et, Ou, Non, par exemple: (MurEnFace Et MurADroite) Ou Non MurAGauche.

Vous trouverez une description détaillée dans la documentation, chapitre langage du robot, rubriques fonctions prédéfinies et expressions. La documentation s'affiche avec le menu Aide > Documentation. Pour l'instant, il vous suffit de connaître trois conditions: MurEnFace, MurADroite, MurAGauche.

Bloc test

Dans l'organigramme, un bloc test a cette forme:

Pour modifier le texte contenu dans un bloc test, il faut choisir l'outil sélection et faire un double-clic sur le bloc.
La condition logique contenue dans le bloc test est évaluée quand le bloc est exécuté. Le résultat peut être vrai ou faux. Si le résultat est vrai, l'exécution se poursuit après la sortie marquée O (oui ou vrai); si le résultat est faux, l'exécution se poursuit après la sortie marqué N (non ou faux).

Dans l'exemple ci-dessous, on utilise la condition logique MurEnFace. C'est un mot-clef du langage du robot qui fournit un résultat de type logique (vrai ou faux) en fonction de la position du robot au moment où elle est évaluée. Si le robot est en face d'un mur, le programme s'arrêtera, sinon le robot avancera et recommencera le test.


Exécution pas à pas et visualisation de l'état courant

Pendant l'exécution d'un programme, vous pouvez cliquer sur le bouton Pause dans la fenêtre exécution, puis faire exécuter les instructions les unes après les autres en cliquant sur le bouton Exécution pas à pas .
Vous pouvez aussi afficher l'état courant du robot en cliquant sur le bouton Afficher l'état . Vous verrez alors apparaître une liste contenant en particulier des mots-clef utilisables dans les tests.

Vous trouverez la liste complète des mots-clefs dans le document accessible par le menu Aide > Résumé du langage du robot


Dans cet exercice, vous allez essayer d'atteindre l'objectif Aller dans un coin(n'importe lequel, mais si le robot se trouve dans un coin au début du programme, il doit aller dans un autre coin).
Vous utiliserez le terrain Terrain9x9SansObstacles défini à la leçon 3.
Attention! Votre programme doit fonctionner sans erreur d'exécution, quelles que soient la position et la direction initiale du robot. A vous de trouver les situations initiales à problèmes.


Zone pour malvoyants

Vous disposez maintenant des opérateurs logiques "ou", "et", "non", "mur en face", "mur à droite", "mur à gauche".
Vous devez déplacer votre robot dans un coin (n'importe lequel, mais si le robot se trouve dans un coin au début du programme, il doit aller dans un autre coin). Le terrain est entouré de murs, mais il n'y a pas de murs sur le terrain. Attention! Votre programme doit fonctionner sans erreur d'exécution, quelles que soient la position et la direction initiale du robot. A vous de trouver les situations initiales à problèmes.