Tutorial:Scripting:Funzioni e subroutine

Da GeoGebra Manual.
Tutorial: Funzioni e subroutine negli script Geogebra

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]"}]

Note: I comandi invocati da Esegui devono essere scritti in Inglese.

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

© 2021 International GeoGebra Institute