Tutorial:Introduzione a GeoGebraScript

Da GeoGebra Manual.

A volte le modalità di base offerte da GeoGebra per interagire con i fogli di lavoro non sono sufficientemente potenti, oppure sono al contrario di difficile applicazione, specialmente per gli utenti più giovani.. GeoGebraScript consente la creazione di costruzioni semplici da utilizzare, ma dotate di interattività a livello particolarmente sofisticato: è lo strumento per scrivere script, cioè programmare in GeoGebra.

Tra gli utilizzi più comuni dello scripting possiamo citare:
  • La verifica delle risposte degli studenti, immesse in campi testo.
  • La generazione automatica di nuove attività in seguito alla pressione di un pulsante, sia in ordine casuale che utilizzando un insieme predeterminato definito dal creatore del foglio di lavoro.
  • L'avvio di animazioni o la visualizzazione di parti nascoste della costruzione in seguito alla pressione di un pulsante o al completamento dell'attività proposta all'utente.
  • (e molte altre ...)

In GeoGebra sono disponibili due linguaggi per lo scripting, GeoGebraScript e JavaScript: questo tutorial si occuperà di GeoGebraScript, in quanto questo utilizza la sintassi dei comandi di GeoGebra e quindi è più semplice e intuitivo per gli utenti, oltre ad offrire funzionalità applicabili alla gran parte delle applicazioni.

Note: Lo scripting è un'attività di solito riservata agli utenti esperti di GeoGebra, quindi consigliamo agli utenti non esperti di dare un'occhiata agli altri tutorial prima di affrontare questa caratteristica avanzata di GeoGebra.

Il punto di partenza: i comandi

Per creare un oggetto in GeoGebra è possibile utilizzare gli strumenti, i comandi e la barra di inserimento.

Esempio: Il comando Circonferenza[(1,2),3] genera una circonferenza di centro (1,2) e raggio 3.

Anche se si utilizza uno strumento per creare un oggetto, in realtà GeoGebra utilizza un comando per la creazione dello stesso. Se si desidera conoscere il comando utilizzato per generare un oggetto, aprire la finestra di dialogo Proprietà e fare riferimento al campo Definizione. In pratica, gli strumenti sono solo una "scelta rapida" per inserire i comandi con il mouse. L'elenco completo dei comandi è disponibile qui, mentre l'elenco completo dei comandi utilizzabili negli scripting è disponibile qui).

Informazioni di base sullo scripting

Uno script è una sequenza di comandi di GeoGebra che vengono eseguiti nelle seguenti due situazioni:

  • Al clic: lo script viene eseguito dopo un clic del mouse dell'utente sull'oggetto.
  • All'aggiornamento: lo script viene eseguito quando il valore o le proprietà dell'oggetto si modificano, come ad es. dopo il movimento di un punto nella Vista Grafica, o la modifica del valore assunto da uno slider.

In GeoGebra lo scripting è orientato agli oggetti, cioè è possibile attribuire uno script a ciascun oggetto della costruzione, (sia di tipo "Al clic" che "All'aggiornamento"), ma non è possibile definire uno script senza associazione ad un oggetto (diversamente da JavaScript).

Per associare uno script a un oggetto fare clic con il tasto destro del mouse sull'oggetto, indifferentemente nella Vista Algebra o nella Vista Grafica, selezionare l'opzione Proprietà…, quindi la scheda Scripting. Tale scheda ne contiene altre tre: Al clic, All'aggiornamento e Globali JavaScript. La terza scheda non verrà trattata in questo tutorial, mentre le altre due servono per definire gli script associati alle relative azioni sull'oggetto selezionato.

Fare clic per visualizzare un'immagine più grande

Ora creeremo un semplicissimo script, utilizzando la scheda All'aggiornamento:

Esempio: (L'intera costruzione è disponibile in GeoGebra)
  1. Aprire una nuova finestra di GeoGebra 4
  2. Creare un punto "A" e una retta "a", utilizzando il comando Retta nella barra di inserimento oppure lo strumento Retta - per due punti.
  3. Aprire la scheda All'aggiornamento dello scripting, come descritto in precedenza.
  4. Digitare lo script
ImpSpessoreLinea[a, Distanza[A, a]*2]
ImpDimensionePunto[A, Distanza[A,asseX]]

quindi premere il pulsante OK per confermare e chiudere la finestra di dialogo.

  1. Provare a immaginare l'effetto dello script, quindi verificare la congettura muovendo il punto A nella Vista Grafica

Lo script è stato associato all'aggiornamento del punto, e non della retta: ciò significa che verrà eseguito ogni volta che il punto cambierà posizione nel piano.

Nello script sono stati utilizzati i comandi ImpSpessoreLinea e ImpDimensionePunto. Oltre ai comandi per lo scripting è comunque possibile utilizzare negli script istruzioni del tipo ad es. use f(x) = x^2 oppure c = Circonferenza[(0,0), 5].

A parte alcuni casi particolari, descritti in dettaglio in seguito, l'esecuzione di uno script di GeoGebra ha lo stesso effetto dell'inserimento successivo dei relativi comandi nella barra di inserimento. Il seguito di questo tutorial è dedicato all'utilizzo di alcuni oggetti speciali con gli script: i campi testo e i pulsanti. .

Note: Molti comandi di scripting eseguono un'azione solo una volta, e non determinano una connessione permanente con l'oggetto: ad es. ImpSpessoreLinea[a, Distanza[A, a]*2] copia il valore corrente di Distanza[A,a]*2 al momento dell'esecuzione, e successivamente tale valore non verrà modificato, a meno di una ri-esecuzione del comando o una modifica manuale dello spessore della linea. Nell'esempio precedente, lo spessore della linea non viene modificato quando si modifica la retta, ma solo quando il punto A viene spostato nella Vista Grafica.
Note: Al contrario di altri linguaggi di programmazione non è necessario inserire un punto e virgola al termine di ogni riga di script di GeoGebraScript.

Pulsanti

I pulsanti rappresentano uno strumento utile e visualmente efficace per l'applicazione di uno script "Al clic". Per creare un pulsante utilizzare lo Tool Insert Button.gif strumento Inserisci pulsante.

Campi testo

I Tool Insert Textfield.gif campi testo, sono uno tra gli oggetti più versatili in GeoGebra, in quanto consentono l'inserimento di testo, numeri, funzioni e qualsiasi altro inserimento che può essere convertito in un oggetto di GeoGebra.

Un campo testo può essere utilizzato in vari modi all'interno di una costruzione: può essere collegato ad un oggetto, programmato con uno script o utilizzato in connessione a un altro oggetto, come ad esempio un pulsante. Tali modalità sono spiegate in seguito.

Campi testo collegati

I campi testo collegati sono, appunto, collegati a un oggetto già esistente in GeoGebra: ciò significa che il campo testo visualizza dinamicamente il valore corrente: una modifica dell'oggetto ha effetto anche sul relativo campo testo. I campi testo collegati sono utili ad es. per modificare le espressioni delle funzioni o i valori di uno slider senza utilizzare la barra di inserimento e quindi eventualmente modificare l'intera costruzione.

L'esempio che segue illustra come creare i campi testo collegati in GeoGebra.

Esempio: (La costruzione è disponibile su GeoGebra )
  1. Aprire una finestra di GeoGebra
  2. Inserire nella barra di inserimento l'espressione di una funzione, ad es. f(x) = x^2
  3. Selezionare lo Tool Insert Textfield.gif strumento Inserisci campo testo dalla barra degli strumenti (seconda casella degli strumenti da destra).
  4. Fare clic in una posizione qualsiasi della Vista Grafica: sarà visualizzata una finestra di dialogo. For the caption enter "f(x) =" and as linked object select your function f.
  5. You're done. Move the graph of f to see how the textfield will automatically display the new definition of your function. You can also change the textfield and press enter to see how you can change the function's definition using the textfield.
Note: As mentioned above you can not only link functions, but also numbers and basically ever other object, just try it out.

Input Boxes with Click Scripts

On contrast to the first example we will now not link the input box to a specific object but use its Click script to apply its value to other objects (the reason why this is called click script is unknown to the author ;-)). The script will be very similar to the one in the first example, the new issue now is how to access the value of the input box in the script. The answer is %0. Seriously.

Esempio: (Input box with click script, see GeoGebra)
  1. Open a blank GeoGebra window
  2. Create a point A and a line a.
  3. Select the input box tool and click onto the canvas (as above), but this time use the label "Size:" and leave the "Linked Object" field empty.
  4. Go to the Click script tab of the new input box (instructions how to do that way above).
  5. Now add the following script (note the %0):
Setpuntiize[A, %0/2]
SetLineThickness[a, %0]
  1. Click "Ok" again and close the dialog.
  2. Now enter a new value into the input box and press enter.

As you can see the placeholder %0 indeed carries the value of the input box.

ToDo

If you know something (a little) about scripting: You're help and participation is very welcome! You could add something for the following topics or think of something else:

  • More step-by-step instructions for beginners
  • More concrete examples (also links to GeoGebra files using scripting)

Example Scripts

Buttons: Increment/Decrement Buttons

Instead of using a showing a slider to go through a step-by-step explanation, you can use a button.

Esempio:
  • Create an integer slider, called Steps.
  • Create a Button using Button Tool
  • Enter for caption the visible label on the button
  • Enter the script SetValue[Steps,Steps+1] or simply Steps=Steps + 1

To decrement change "+" to "-". To change the size of the steps change 1 to your value.

Note: The command Steps=Steps + 1 is only available in scripting. If you enter a command like that in the barra di inserimento, you'll get an error circular definition

en:Introduction to GeoGebraScript

© 2024 International GeoGebra Institute