Castor a acheté un robot programmable pour peindre le sol de sa maison.
Voici quelques exemples de programmes et leur effet :
| 1S | avance de 1 case vers le sud |
| 3E 1O | avance de 3 cases vers l'est, puis 1 case vers l'ouest |
| 3S 2E 1N | avance de 3 cases vers le sud, puis 2 cases vers l'est, puis 1 case vers le nord |
| 4(3S 2E) | fait 4 fois de suite : avance de 3 cases vers le sud, puis 2 cases vers l'est |
| 3E 4(3S 2E 1N) | avance de 3 cases vers l'est, puis exécute le programme ci-dessus 4 fois de suite |
| 2(3E 4(3S 2E 1N)) 1N | exécute deux fois le programme ci-dessus, puis avance de 1 case vers le nord |
Aidez Castor à écrire un programme de moins de 50 caractères qui reproduit le motif de gauche. Le robot commence sur la case rouge.
La solution la plus simple est :
La solution la plus simple est :
Pour résoudre ce problème, il fallait tout d'abord repérer le motif à faire répéter au robot, puis trouver la séquence de déplacements permettant de dessiner ce motif, et enfin « programmer » cette séquence.
Le « code » du programme est exprimé dans un petit langage constitué de 4 instructions de base, correspondant aux 4 déplacements possibles. Le langage contient également une notion de « répétition d'une suite d'instructions ». Cette notion s'appelle en informatique une « boucle », parce que l'on recommence un certain nombre de fois l'exécution d'une même suite d'instructions.