LOGO/Variabili
Le variabili sono un concetto presente in tutti i linguaggi di programmazione, ma il concetto non è facile da capire.
Gli argomenti
[modifica | modifica sorgente]Pensate di voler fare una procedura che disegna un quadrato; allora scrivereste:
to quadrato100 forward 100 right 90 forward 100 right 90 forward 100 right 90 forward 100 right 90 end
Ma questo farà solo quadrati di 100 passi. Facciamone uno che abbia come lato il doppio del primo:
to quadrato200 forward 200 right 90 forward 200 right 90 forward 200 right 90 forward 200 right 90 end
Capirete che è un po' scomodo scriversi tutte le procedure per ogni quadrato.
Per rendere le procedure più flessibili, è possibile specificare degli argomenti, scrivendo una procedura quadrato
generica, che utilizzerà i valori forniti al momento dell'esecuzione.
Allora la nostra procedura quadrato
sarà:
to quadrato :lato forward :lato right 90 forward :lato right 90 forward :lato right 90 forward :lato right 90 end
Se voglio disegnare un quadrato che abbia come lato 157 passi, è facile:
quadrato 157
In questo caso la variabile :lato
prende il valore 157.
make
e name
[modifica | modifica sorgente]Queste due procedure primitive (native del LOGO) hanno il compito opposto: assegnare un nome ad un valore, od assegnare un valore ad una variabile (che sono appunto due cose speculari).
La sintassi è:
make "variabile valore name valore "variabile
La prima volta che si dichiara una variabile, non si usano i due punti ma le virgolette.
Per stampare a schermo il valore di una variabile:
print :variabile
Si può anche operare con le variabili:
make "var1 150 make "var2 60 make "var3 :var1+:var2 print :var3
Il risultato sarà 210.
Possiamo anche scrivere una procedura che esegue le somme:
to somma :op1 :op2 make "op3 :op1+:op2 print combine :op1 [+] print combine :op2 [=] print [-------] print :op3 end
combine
serve per congiungere più elementi.