Indice    Avanti    Indietro




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.