Differenze tra le versioni di "Tutorial:Scripting:Funzioni e subroutine"
m (Sostituzione testo - 'geogebratube.org' con 'geogebra.org') |
|
(Nessuna differenza)
|
Versione attuale delle 02:33, 12 mag 2016
Le Subroutine (note anche come funzioni o procedure) sono un concento importante nella programmazione di computer, e sono utili per la gestione dei programmi e per definire codici riutilizzabili. Questo tutorial descrive come sfruttare al meglio le subroutine in GeoGebra.
Metodo 1. Gli strumenti personalizzati sono in pratica delle funzioni: ricevono degli input e producono output. Possono essere richiamate dalla barra degli strumenti, tramite la barra di inserimento o scripting.
Metodo 2. Ogni funzione Javascript definita nella sezione Globali Javascript della scheda Scripting è disponibile per essere riutilizzata in Javascript ovunque in GeoGebra.
Metodo 3. Uno script GeoGebra non dispone di un supporto interno per le subroutine, ma è possibile ottenere lo stesso risultato utilizzando il comando EseguiScriptClic. Creiamo un oggetto, di nome mioOggetto, quindi inseriamo uno script nella scheda Al clic di mioOggetto. Ora è possibile richiamare il codice da altri oggetti o dalla barra di inserimento utilizzando il comando EseguiScriptClic[mioOggetto]. Se necessario, è possibile utilizzare ulteriori oggetti per passare input e output alla subroutine.
Ecco un esempio più dettagliato: supponiamo di avere 5 punti, A, B, C, D ed E, e si desidera colorarli di rosso quando si fa clic su di essi. È possibile ottenere questo risultato scrivendo uno script nella scheda Al clic di ciascun punto, ad esempio per A è necessario inserire il codice ImpColore[A,1,0,0]
; per B ImpColore[B,1,0,0]
, etc. Se in seguito si volessero colorare i punti in verde, sarebbe dunque necessario rieditare gli script di ciascun punto. Se nella costruzione ci sono molti punti, questo tipo di impostazione è abbastanza tediosa.
Proviamo ora ad utilizzare una subroutine. Creiamo un oggetto testo dal nome target.
target = "A"
nella barra di inserimento. Questo oggetto verrà utilizzato come input per la funzione.
Creiamo ora un pulsante, dal nome mioPulsante. (Non è necessario utilizzare un pulsante: qualsiasi oggetto può funzionare da pulsante). Nella scheda Al clic di mioPulsante inseriamo:
Esegui[{"SetColor[" + target + ",1,0,0]"}]
Ora, nella scheda Al clic del punto A digitare:
target = A EseguiScriptClic[mioPulsante]
Ripetiamo la stessa operazione per i punti B, C, D ed E, sostituendo la 'A' nella prima riga di codice rispettivamente con 'B', 'C', 'D', 'E' . Ora, quando si fa clic su uno di tali punti, questo diventerà rosso. Se si desidera colorare i punti in verde, basterà modificare la relativa riga di codice nella scheda Al clic di mioPulsante, e la modifica avrà immediatamente effetto su A, B, C, D ed E. Se si lavora su molti punti, questo metodo è decisamente più efficiente del precedente!
Come funziona? Quando si fa clic su un punto, ad esempio B, lo script Al clic memorizza il nome 'B' nell'oggetto testo target
, quindi esegue la subroutine memorizzata nella scheda Al clic di mioPulsante
, utilizzando il comando EseguiScriptClic[mioPulsante]
.
Lo script Al clic di mioPulsante
è ora in esecuzione. La riga Esegui[{"SetColor[" + target + ",1,0,0]"}]
costruisce un comando di GeoGebra (che è la parte "ImpColore[" + target + ",1,0,0]"
), e lo esegue tramite il comando Esegui[]
. Il risultato finale è l'esecuzione del comando ImpColore[B,1,0,0]
, che cambia il colore di B in rosso.
Ecco un esempio: (Collegamento aGeoGebra)
es:Tutorial:Funciones y Subrutinas en:Tutorial:Scripting:Functions_and_subroutines