Piccolo manuale di LibreLogo/Incapsulare: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Iamarf (discussione | contributi)
Riga 23:
|}
 
Abbiamo visto come siano comode le variabili, ad esempio per cambiare le dimensioni del disegno: se vogliamo fare un quadrato di lato 50 anziché 100 basta cambiare l'istruzione '''LATO = 100''' in '''LATO = 50''', invece di cambiare l'argomento di tutte e quattro le istruzioni '''FORWARD'''. Tuttavia, se vogliamo disegnare più quadrati, magari di diverse dimensioni e in parti diverse del foglio, dobbiamo riscrivere tutto il blocco di istruzioni, una volta per ogni quadrato. Possiamo ricorrere a alle ripetizioni, in modo da ripetere tutto il blocco di istruzioni, cambiando solo ciò che serve ad ogni ciclo, ma non è detto che si possa ricorrere sempre a questo metodo con profitto. Inoltre, abbiamo già osservato come sia importante scrivere un codice chiaro e ordinato. Quasi sempre la concisione è una virtù. È qui che vengono in aiuto le “subroutine”, che in altri linguaggi sono dette “funzioni” e in altri ancora “metodi”, ma il concetto di base è lo stesso. L'idea consiste nell'incapsulare una sezione di codice che serva ad un compito ben definito, in modo che questa possanopossa essere impiegata semplicemente invocando una sola istruzione. È un accorgimento straordinariamente potente che consente di semplificare grandemente la scrittura del codice, e di conseguenza, di ridurre la probabilità di commettere errori.
 
 
Riga 29:
|-
|
Nel codice accanto, l'istruzione <span style="color:#008000;">'''TO</span> <span style="color:#ff0000;">QUADRATO'''</span> segna l'inizio della subroutine e l'istruzione <span style="color:#008000;">'''END'''</span> la fine. La parte in blu contiene il codice della subroutine. Nell'istruzione di inizio, <span style="color:#008000;">'''TO</span> <span style="color:#ff0000;">QUADRATO'''</span>, la parte <span style="color:#008000;">'''TO'''</span> è la dichiarazione di inizio della subroutine, mentre <span style="color:#ff0000;">'''QUADRATO'''</span> rappresenta il nome che abbiamo deciso di darle. È importante capire che quando si chiede a LibreLogo di eseguire uno script, le parti di codice comprese fra <span style="color:#008000;">'''TO'''</span> e <span style="color:#008000;">'''END'''</span> non vengono eseguite ma solo “imparate”. Nel codice restante, quando LibreLogo arriva all'istruzione QUADRATO, in realtà va a eseguire le istruzioni blu della subroutine, poi continua con le seguenti. Ecco quindi che le subroutine sono un metodo per inventarsi delle istruzioni nuove, che ci dà la possibilità di arricchire a piacimento il linguaggio. Naturalmente, l'istruzione QUADRATO funziona solo perché nello ''script'' è incluso il codice che la esprime, fra <span style="color:#008000;">'''TO'''</span> e <span style="color:#008000;">'''END.'''</span><span style="color:#000000;"> </span>
|-
|
Riga 295:
[[File:IncapsulareLO_06.svg|senza_cornice]]
 
Dove sono sovrapposti i poligoni regolari, a partire dal triangolo equilatero (N=3), fino a quello con 30 lati.
 
== Esercizio ==