Göra demonstrationer
Kryssrutor
Då man använder konstruktioner som demonstrationer, kan man använda kryssrutor knutna till objekt. Objektet syns då endast när dess kryssruta är ikryssad
Villkor i GeoGebra
För villkorssatser av typen "visa detta objekt då detta villkor är uppfyllt", använder man sig av logiska villkor, dvs villkor som antingen är sanna eller falska. Ett exempel på ett villkor är en jämförelse mellan tal. I GeoGebra jämför man tal med hjälp av följande kod:
<, >, <=, >=
betyder <, >, ≤ respektive ≥-
==, !=
betyder lika med respektive skilt från, notera att = inte testar logisk likhet &&
och||
betyder logiskt och (\(\wedge \)) respektive eller (\(\vee\)).
Använd glidare för att stänga av och sätta på objekt
Om man vill låta en demonstration växa på ett mer avancerat sätt än att bara använda konstruktionsprotokollet, kan man införa en glidare för att representera de olika stegen. Det finns ett exempel på en glidare som används för att visa steg på denna sida (Analysens huvudsats)
För att välja vid vilka steg ett objekt skall visas, väljer man Avancerat fliken i egenskapsfönstret. I bilden nedan är följande kod inskriven:
(Step>=4) && (Step!=6)
GeoGebra formaterar koden för >=
,
&&
och !=
, vilket visas i bilden.
Input Box
I GeoGebra 4 finns det två nya verktyg, "Insert Button" och "Insert Input Box".
Då man använder "Input Box", gör man först ett objekt, sedan länkar man detta objekt till "Input Box". Användaren kan sedan skriva in nya värden för objektet i fråga genom att skriva i rutan. Texten som skrivs in måste följa GeoGebra syntax, dvs den syntax som också används då man skriver kommandon i inmatningsraden. Ett exempel på en "Input Box" kopplad till en funktion finns på sidan Lär dig GeoGebra - Funktioner.
Button
Då man sätter in en klick-knapp, dyker det upp en ruta där man kan skriva in ett GeoGebra script.
Skriv in koden A=(3,4)
i rutan och klicka på "Verkställ". Då man sedan
klickar på knappen "Make point", är det denna kod som körs.
Då man klickar på knappen första gången skapas en punkt A. Då man klickar på knappen igen, får punkten A koordinaterna (3, 4), med andra ord händer det ingenting.
Man kan ändra As koordinater till slumptal genom att använda kommandot:
RandomBetween[<Minimum Integer>, <Maximum Integer>]
Öppna egenskapsfönstret för knappen, välj "Scripting" fliken och sedan "On Click". Ändra sedan koordinaterna till slumptal.
Kommandot SetValue
Varenda gång man klickar på en knapp med "On Click"-händelsen
A=(RandomBetween[-5,5],RandomBetween[-5,5])
skapas punkten A. Effekten av koden är dock bara att samma punkt A får nya slumpmässiga koordinater. Om man bara vill
ändra ett objekts värde, är det programmeringsmässigt mer effektivt att använda kommandot SetValue
.
I arbetsbladet ovan, finns punkten A redan innan man klickar på knappen första gången. Knappens "On Click" script är:
SetValue[A,(RandomBetween[-5,5],RandomBetween[-5,5])]
Kommandot Execute
Om man vill göra en ny punkt varje gång knappen klickas, behövs det ett sätt
att göra nya variabelnamn. Om variablerna skall heta
A1, A2, A3, ...; så kan index lagras
i en variabel i som ökas med ett varje gång knappen klickas. Problemet är att man måste kunda blanda text
med en variabel då kommandot skrivs in. Kommandot Execute
ger en möjlighet att göra detta. Execute
tar en lista av textsträngar vilka tolkas som kommandon och exekverar them.
Execute[{"kommando1","kommando2","kommando3"}]
För att blanda textsträngar och variabelvärden, skrivar man textsträngarna innanför " tecken och konkatenerar sedan en sträng med en variabel med hjälp av + tecknet. Strängen blir alltså:
"A_{"+i+"}=(RandomBetween[-5,5],RandomBetween[-5,5])"
där i är variabeln som skall räknas upp.
För att exekvera denna textsträng och räkna upp variabeln i, gör man först en variabel i med värdet 0, sedan skrivs detta script in som knappens "On Click" händelse.
i=i+1 Execute[{"A_{"+i+"}=(RandomBetween[-5,5],RandomBetween[-5,5])"}]
I arbetsbladet ovan, är variabeln i begränsad till värden mellan 0 och 20 med hjälp av mod funktionen:
i=Mod[i+1,21] Execute[{"A_{"+i+"}=(RandomBetween[-5,5],RandomBetween[-5,5])"}]
by Malin Christersson under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Sweden License