GeoGebraScript

GeoGebraScript

Avtor: Daniel Jevremović

Kaj je "skriptanje"?

Znotraj programa Geogebra obstaja opcija, kamor lahko pišemo skripte. Nastane vprašanje, kaj skripte sploh so? Skripta je zaporedje ukazov, ki se izvedejo ob nekem dogokdu, npr. klik na objekt. Pisanje skript v Geogebri je povezano z objekti.

Geogebra podpira GGBScript ter JavaScript, vendar je namen te predstavitve se osredotočiti na GeogebraScript. Geogebra nam omogoča dve vrsti izvedbe skript v GGBScript-u:

  • prvi način je ob kliku na objekt
  • drugi način pa ob spremembi lastnosti objekta (premik, druga vrednost na drsniku, ...)

GGBScript se lahko uporablja iz več razlogov. Najpogostejši razlog je za pisanje nalog, katere morajo učenci rešiti, ali pa pričetek neke animacije. Kot bo kasneje prikazano na primeru, je mogoče sestavljati naloge, ki se odzivajo glede na vnešen podatek v vnosno polje. Prav tako je mogoče izvesti tudi zaporedje več skript, ki se izvedejo ob npr. pravilni rešitvi naloge.

Ukazi

Pri pisanju skript uporabljamo že poznane GeoGebra ukaze, katere vnašamo v vnosno vrstico.

Nekaj primerov možnih ukazov:

  • CenterView - premakne pogled tako, da je točka na sredini ekrana
  • Pan - premik pogleda za x točk levo in y točk desno
  • PlaySound
  • SelectObjects - označi določene objekte
  • SetColor - nastavi barvo
  • SetLineThickness - nastavi debelino črte
  • SetPointSize - nastavi velikost točke
  • SetPointStyle - nastavi stil določene točke
  • Slider - ustvari drsnik
  • StartAnimation - začne animacijo
  • ...
(http://www2.nauk.si/files/700/pointtype.png)
SetPointStyle[ <Point>, <Number> ]

Primer 1

Primer 2

Kaj se zgodi, če premikamo premico?

Pogostejši ukazi

Ena pomembnejših ukazov je pogojni stavek If. Tako kot pri programiranju, je stavek if zelo pomemben, ce zelimo pisati zapletenejse skripte. S pomocjo tega in tudi drugih logicnih ukazov lahko pisemo skripte poljubne tezavnosti.

Poznamo tudi druge logične ukaze:

  • CountIf - prešteje število elementov seznama, ki zadostuje pogoju
  • IsDefined
  • IsInRegion
  • IsInteger
  • KeepIf - ustvari nov seznam, ki obdrži le elemente prvotnega seznama, kateri zadostujejo pogoju
  • Relation - prikaže informacijo, ki pove v kakšnem odnosu sta dva objekta

Prav pridejo tudi ukazi na seznamih:

  • Append - ustvari nov seznam ki prvotnemu doda dodan element
  • Element
  • First - nov seznam, ki ima prvi element prvotnega seznama kot edini element
  • Frequency
  • Insert
  • Intersection
  • IterationList
  • Join - ustvari nov seznam iz dveh seznamov
  • Last
  • Product
  • RandomElement - naključno izbere element iz seznama
  • Reverse
  • RootList
  • Sort
  • Take - vrne nov seznam elementov od startne pozicije
  • Unique
  • ...

Se še spomnite prvega filmčka ko smo spremenili barvo krožnice na rdečo? Tukaj bi seveda lahko tudi napisali seznam barv, iz katere naj skripta naključno izbere naslednjo barvo.

Možnosti je ogromno.

Vnos teksta

Imamo tudi gumbe. Gumbi so sicer objekti, ki poženejo skripto na klik. Marsikdo bi se vprašal kakšna je poanta imeti gumbe, če deluje tako kot katerakoli druga skripta na klik? Izkaže se, da klikanje na objekte ni vedno dobra ideja. Ko se piše skripta za reševanje nalog, verjetno ni primerno, da mora učenec klikniti na nek objekt, da nadaljuje na naslednji problem. Mogoče smo celo napisali skripto tako, da se odziva na skriti objekt! Prav tako lahko gumbe poimenujemo.

(http://www2.nauk.si/files/700/button.png)

Obstaja tudi vnos teksta, ki je še posebej uporaben, ko pišemo skripte, ki se odzivajo na spremembe lastnosti. S pomočjo vnosa teksta, lahko spreminjamo npr. pozicijo točke.

(http://www2.nauk.si/files/700/input.png)

Kot je prikazano na zgornji sliki, obstaja opcija, da vnos teksta povežemo z nekim obstoječim objektom.

Če povežemo okence za vnos teksta z nekim objektom, in nato z vnosom spremenimo trenutno vrednost okenca, se spremeni tudi vrednost objekta.

Na naslednjem primeru bo prikazano, kako lahko sestavimo nalogo, ki uporablja tako gumbe, kot vnos teksta.

Primer 3

0%
0%