5. Procedure con variabili
Istruzioni esaminate: st, ht
L'uso di variabili apre nuovi orizzonti alla programmazione Logo. Come ricorderete la procedura per tracciare un quadrato di lato 100 era questa
to quadrato
repeat 4 [fd 100 rt 90]
end
E se volessimo tracciare un quadrato di lato 80? Allo stato delle nostre conoscenze dovremmo scrivere una nuova procedura mettendo al posto del numero 100 il numero 80.
to quadrato
repeat 4 [fd 80 rt 90]
end
Ma capite che questo modo di operare è decisamente poco pratico. Sarebbe bello disporre di una procedura per tracciare tutti i quadrati. Il Logo ci consente di farlo utilizzando una variabile. Ecco come si trasforma la nostra procedura
to quadrato :LATO
repeat 4 [fd :LATO rt 90]
end
Come vedete questa volta entra in gioco un nuovo elemento: la variabile LATO. Quando noi scriviamo la procedura non specifichiamo quale sia l'avanzamento della tartaruga, cioè quale sia la lunghezza del lato, ma al posto di un numero mettiamo il simbolo :LATO. Probabilmente vi chiederete quale sia la funzione dei due punti che vanno messi davanti al nome della variabile senza lasciare uno spazio. E' molto semplice: LATO è il nome della variabile, :LATO rappresenta il valore che le sarà assegnato. Tutto sarà chiaro dopo aver esaminato qualche esempio.
Supponiamo allora di aver scritto nell'editor la procedura precedente e di averla salvata. Cosa digiteremo nel campo di input della finestra commander per metterla in esecuzione? E' questo il momento per assegnare un valore numerico alla variabile. Se vogliamo un quadrato di lato 80 digiteremo
quadrato 80
Se vogliamo un quadrato di lato 100 digiteremo
quadrato 100
e così via. Possiamo pensare alla variabile LATO come a una scatolina nella quale inserire un valore a nostra scelta. Le schermate seguenti mostrano come l'unica procedura quadrato :LATO possa generare quadrati di lato diverso.
Vi siete resi conto che la nuova procedura quadrato richiede la specificazione di un parametro (di una variabile) esattamente come accade per molte istruzioni primitive del Logo, ad esempio per l'istruzione fd, che richiede di specificare di quanti passi la tartaruga deve avanzare. Nel caso della procedura quadrato dobbiamo specificare la misura del lato.
Sul piano sintattico tenete presente che la variabile LATO che viene utilizzata all'interno della procedura deve essere dichiarata subito dopo il nome della procedura
to quadrato :LATO
E' poi evidente che il nome della variabile, anziché LATO, può essere uno qualsiasi, ad esempio L o X.
Esaminate ora la procedura seguente al cui interno viene utilizzata più volte la procedura quadrato con diversi valori del parametro.
to quadrati
cs
ht
quadrato 10
rt 90 fd 10 lt 90
quadrato 20
rt 90 fd 20 lt 90
quadrato 30
rt 90 fd 30 lt 90
quadrato 40
rt 90 fd 40 lt 90
quadrato 50
end
Mettendola in esecuzione otterrete la schermata della figura seguente. Tenete presente che l'istruzione ht (hide turtle, nascondi tartaruga) ha l'effetto di non visualizzare il triangolino che rappresenta la tartaruga. Per poterlo rendere di nuovo visibile bisognerà dare l'istruzione st (show turtle, mostra tartaruga).
Un'ultima osservazione, sul piano didattico. Il concetto di variabile è probabilmente uno dei concetti matematici più importanti (ma anche tra i più astratti) che i ragazzi dovranno assimilare nella scuola di base. L'ambiente Logo ci fornisce un'ottima occasione per renderlo concreto.