Portail d'enseignement

E Suong
E Suong

Explorer les ressources

Accueil

Défis algorithmiques

Labyrinthe spirale

Programmez un robot pour sortir d’un labyrinthe en spirale en six lignes !

Défi de programmation · langage LN

Sortir en six lignes

Le robot part du centre d’un labyrinthe en spirale dont votre programme ne connaît pas la taille. Guidez-le jusqu’à la sortie en utilisant ses capteurs, avec six lignes LN au maximum.

0 / 6 lignes · hors commentaires et lignes vides, FIN compris

Exécuter replace le robot au centre du même labyrinthe. Pas à pas avance d’un appel à une commande ou à un capteur. Les programmes de plus de six lignes restent exécutables pour expérimenter.

Aide à la syntaxe LN

Les commandes et capteurs s’écrivent en minuscules, sans argument ni import. Les mots-clés sont mis en majuscules au lancement.

SI mur_devant():
  droite()
FIN SI

est_libre() renvoie VRAI lorsque le robot est sorti. Vous pouvez utiliser NON pour inverser un test et TANT QUE pour répéter des instructions.

Ouvrir l’interpréteur LN et sa documentation ↗
SORTIE

0 pas · 0 appels

Essayer à la main

Écrivez votre programme ou explorez avec les commandes manuelles.

Console LN
Les instructions AFFICHER apparaîtront ici.

Les commandes et capteurs du robot

avancer()
Avance d’une case, si aucun mur ne bloque le passage.
droite() / gauche()
Tourne le robot d’un quart de tour sur place, sans le déplacer.
mur_devant()
Renvoie VRAI s’il y a un mur juste devant le robot, FAUX sinon. Le capteur est montré en rouge ou en vert.
est_libre()
Renvoie VRAI lorsque le robot est à l’extérieur, et FAUX tant qu’il est dans le labyrinthe.

Chaque nouveau labyrinthe change de taille et d’orientation. Le programme ne reçoit aucune variable donnant ses dimensions. Un mur provoque un arrêt avec un message ; l’état de la scène reste cohérent.

La limite de six lignes inclut les lignes de fermeture comme FIN SI et FIN TANT QUE. Une réussite vaut pour le labyrinthe testé : recommencez sur d’autres labyrinthes pour éprouver votre solution.

Pause fige l’animation ; Pas à pas exécute un appel, y compris un test de capteur. Arrêter annule l’action inachevée. Ctrl + Entrée : exécuter / arrêter. Le code est enregistré uniquement sur cet appareil.