Il logo di batmath
www.batmath.it

Liste in Geogebra

Geogebra implementa la possibilità di usare semplici liste e di eseguire alcune operazioni sulle liste stesse. Le funzioni predefinite non sono molte e si limitano, sostanzialmente, alla ricerca del massimo o minimo di una lista di numeri, all'estrazione di un elemento di posto noto dalla lista stessa e al calcolo della lunghezza della lista. Numerose altre operazioni possono essere definite sulle liste, usando opportunamente anche l'istruzione condizionale if-then-else. Nella figura interattiva che proponiamo a corredo di questa pagina abbiamo inserito, a titolo d'esempio, due comandi per la ricerca della posizione di un dato elemento in una lista e per l'ordinamento di una lista. Le macro di costruzione di questi comandi sono dovute a un utente del forum di Geogebra, che ringraziamo per averli messi a disposizione di tutti.

La definizione di una lista si può fare usando direttamente la sintassi di base nella finestra di input algebrico: \[lista={a_1,a_2,a_3,\ldots,a_n},\] dove gli \(a_i\) sono numeri, punti, o altri oggetti. Si può anche definire una lista usando il comando Sequence (Successione in italiano), con la seguente sintassi:

Sequence[<espressione>, <variabile>, <numero a>, <numero b>, <numero s>]

dove i tre numeri rappresentano, nell'ordine, il valore iniziale, quello finale e il passo dell'incremento della variabile.

Esempi

Si presti attenzione al fatto che gli oggetti della lista sono trattati come un tutt'uno e dunque eventuali proprietà verranno applicati a tutti gli oggetti della lista stessa: i grafici delle funzioni del secondo esempio avranno tutte lo stesso colore, spessore, ecc.

Come esempio di applicazione delle liste vogliamo vedere come si può costruire un piccolo codice per calcolare il Massimo Comun Divisore e il minimo comune multiplo di due numeri interi positivi.

Detti \(a\) e \(b\) i due numeri (che si introdurranno con uno slider, o per inserimento diretto nella finestra di algebra), usiamo l'algoritmo elementare di provare a fare le divisioni successive per tutti i numeri interi positivi \(n\) non superiori al più piccolo dei due numeri dati: se il resto di entrambe le divisioni è zero, allora il numero \(n\) in questione è un divisore, altrimenti no. Per controllare contemporaneamente il resto di entrambe le divisioni basterà che facciamo la somma dei due resti: se esso è zero, allora \(n\) è un divisore comune. I passi dell'algoritmo sono i seguenti:

Naturalmente non si tratta di un algoritmo efficiente, ma ha il vantaggio di usare solo concetti elementari.

Se vogliamo essere più sofisticati ordiniamo la lista L1 ottenendo la lista L2, cerchiamo la posizione che occupa in L2 il numero 1, ed estraiamo da L1 la lista di tutti gli elementi successivi: avremo così l'elenco di tutti i divisori comuni dei due numeri. Per fare questo usiamo alcuni comandi implementati in una apposita macro (non facile da costruire!!), contenuta nel file allegato a titolo d'esempio. I codici sono (attenzione: i comandi OrdinaLista e TrovaPosizione non sono presenti nella versione base di Geogebra):

Non resta che scrivere il tutto, usando opportunamente le caselle di testo, nella finestra del programma. Per completezza abbiamo previsto l'inserimento dei dati in ingresso mediante due caselle di input: chi ha un po' d'esperienza con javascript può agevolmente comprendere la costruzione del codice, scaricando il sorgente della pagina.

Puoi vedere il risultato finale nella pagina MCD-mcm con Geogebra

.
pagina pubblicata il 05/02/2008 - ultimo aggiornamento il 05/02/2008