Se hai già risolto gli esercizi precedenti prova a utilizzare intensivamente le procedure per semplificare il codice
Esempio 1
Un possibile algoritmo è
- Gira a destra
- vai avanti finché c’è strada libera
- prendi il faro
- gira verso sinistra
- vai avanti finché c’è strada libera
- fai un passo indietro
- posa il faro
I passi 2. e 5. sono identici e quindi possono diventare una procedura…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
right VAI pickUp right right VAI backward(1) putDown procedure VAI { repeatWhile(frontIsClear) { forward(1) } } |
Esempio 2
Come sopra…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
repeat(4) { SPOSTA } procedure SPOSTA { right VAI pickUp right right VAI backward(1) putDown right } procedure VAI { repeatWhile(frontIsClear) { forward(1) } } |
Ancora più corto…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
repeat(4) { SPOSTA } procedure SPOSTA { VAI_A_DESTRA pickUp right VAI_A_DESTRA backward(1) putDown right } procedure VAI_A_DESTRA { right repeatWhile(frontIsClear) { forward(1) } } |