\b;Exercice Des \l;bornes\u object\exchange; d'informations sont placées le long d'un chemin. Lorsque le \l;robot\u object\bottr; est proche d'une borne, il peut lire les informations qu'elle contient. Les informations contenues dans chaque borne donnent la direction et la distance jusqu'à la borne suivante. \b;Principe Répéter toujours : o Lire la direction dans la \l;borne\u object\exchange;. o Lire la longueur dans la \l;borne\u object\exchange;. o Si rien n'a été lu, stopper. o Tourner dans la direction obtenue. o Avancer de la longueur obtenue. La répétition infinie s'effectue avec une boucle \c;\l;while\u cbot\while;\n;. Les instructions entre \c;{ }\n; sont répétées à l'infini, ou jusqu'à l'exécution de l'instruction \c;break\n;. \s;\c; while ( true ) \n; La lecture de la \l;borne\u object\exchange; s'obtient avec \c;\l;receive\u cbot\receive;("name");\n;. Ceci n'est évidemment possible que lorsque le \l;robot\u object\bottr; est proche de la borne. L'orientation du robot n'a pas d'importance. Il faut définir deux \l;variables\u cbot\var; \c;dir\n; et \c;len\n; : \s;\c; float dir, len; \n; Et ensuite leur assigner la direction à prendre et la longueur à avancer : \s;\c; dir = receive("Direction"); \s;\c; len = receive("Length"); \n; Une variable \c;float\n; peut prendre une valeur spéciale appelée \c;\l;nan\u cbot\nan;\n;. Ceci indique que la variable ne contient pas un nombre. Lorsqu'il n'y a plus de \l;borne\u object\exchange;, à la fin du parcourt, ou si le \l;robot\u object\bottr; dévie de sa trajectoire et que la borne est trop loin, les deux variables \c;dir\n; et \c;len\n; prennent cette valeur. Il est donc possible de tester cette valeur avec un \c;\l;if\u cbot\if;\n; pour stopper le programme si nécessaire. \s;\c; if ( dir == nan ) break; \n; Si la \l;borne\u object\exchange; a été lue avec succès, il faut tourner dans la bonne direction avec : \s;\c; turn(dir); \n; Puis avancer avec : \s;\c; move(len); \n; \b;Remarque En cliquant sur une \l;borne\u object\exchange; pour la sélectionner, vous pouvez voir les paramètres qu'elle contient. Dans cet exercice, chaque borne contient deux informations appelées \c;"Direction"\n; et \c;"Length"\n;. \b;Pour tuer le temps N'oubliez pas que, pendant que le robot avance de borne en borne, vous pouvez changer de vue en cliquant sur l'icône \button 13; ou en appuyant sur la barre d'espace. Vous pouvez également sélectionner le \l;cosmonaute\u object\human; et suivre le robot. Mais attention, dans ce cas, à ne pas le heurter, ce qui le ferait dévier inéxorablement de sa trajectoire ! \key;\key help;\norm; permet de revoir ces instructions en tout temps ! \t;Voir aussi \l;Commandes\u command; et \l;programmation\u cbot;.