In un foglio a quadretti è disegnato un rettangolo, per esempio di 14 quadretti in orizzontale e 5 in verticale (vedi figura).
01 02 03 04 05 06 07 08 09 10 11 12 13 14 1 2 S 3 P 4 5 → Ogni casella può essere individuata da due numeri interi; per esempio la casella contenente P è individuata dal fatto di essere nella sesta colonna (da sinistra) e nella terza riga (dall’alto): brevemente si dice che ha coordinate X e Y pari a (6,3).
Le coordinate della casella contenente S sono (10,2) e di quella contenente la freccia sono (1,5).
La freccia può essere pensata come un robot, in questo caso rivolto verso destra; il robot può eseguire dei comandi che gli consentono di muoversi e – una volta terminato il movimento – di marcare la casella con una lettera MAIUSCOLA specificata nel comando; al robot sono consentiti i seguenti movimenti:
- girarsi di 90 gradi in senso orario: comando o;
- girarsi di 90 gradi in senso antiorario: comando a;
- avanzare di una casella (nel senso della freccia, mantenendo l’orientamento): comando f.
L’orientamento è definito facendo riferimento ai punti cardinali:
- n=nord (verso l’alto)
- e=est (verso destra)
- s=sud (verso il basso)
- o=ovest (verso sinistra).
Il termine che definisce i comandi contiene due informazioni: il movimento da compiere e la lettera da imprimere sulla casella in cui si trova eseguito il movimento.
Questi comandi possono essere concatenati in una lista in modo da permettere al robot di compiere vari percorsi marcati dalle lettere impresse; per esempio, se si parte dalla casella (1,1) vuota e il robot è orientato e, la lista di comandi[(f,R),(f,O),(f,M),(f,A)]sposta il robot dalla casella (1,1) alla casella (5,1), lasciando nelle caselle delle colonne dalla seconda alla quinta del percorso la parola ROMA.
Se il robot passa su una casella che contiene già una lettera, questa viene sostituita da quella presente nel comando.
Per esempio, partendo dalla posizione indicata in figura con i comandi:[(a,A) (f,M) (f,E) (f,X) (f,Z) (o,W) (o,*) (f,T)]sulla prima colonna dalla seconda alla quinta riga si legge la parola TEMA (il simbolo * cancella il contenuto della casella).
In un rettangolo 15×15 il robot parte dalla casella (8,10), che contiene la lettera A, orientato n e deve eseguire il percorso descritto dalla seguente lista di comandi:
[(f A) (f B) (f C) (f X) (a D) (f E) (a A) (f F) (f K) (a V) (f H) (o Y) (f G) (f Z) (a X) (a W) (f Q) (a Z) (f Y) (a X) (f W) (a V) (f U) (f T) (a S) (f R) (f Q) (f P) (a O) (f N)].Trovare le seguenti informazioni relative alla posizione e all’orientamento del robot:
- le coordinate X1 e Y1 e la direzione D1 dopo l’esecuzione del comando numero 20;
- le coordinate X2 e Y2 e la direzione D2 al termine del percorso;
- la lettera L impressa nella casella di coordinate (8,11) al termine del percorso.