Wat is GCW Script?

GC Wizard Script is een eenvoudige programmeeromgeving om scripts te maken, op te slaan en uit te voeren.
De scripttaal is gebaseerd op SmallBASIC
De scripttaal van GC Wizard is gebaseerd op SmallBASIC uit het boek “The Art of Java” van Herbert Schildt en James Holmes, uitgegeven door McGraw Hill.
Er zijn extra functies en commando’s toegevoegd
GC Wizard heeft veel extra functies toegevoegd. Deze functies komen van de BASIC programmeertaal en speciale functies van GC Wizard.
Ook zijn er commando’s toegevoegd voor grafische weergave.
Wat is BASIC?
Basic is een programmeertaal
BASIC is een instructie-georiënteerde programmeertaal en gemaakt is om opdrachten te geven. Het werd in 1964 gemaakt door John G. Kemeny, Thomas E. Kurtz en Mary Kenneth Keller aan Dartmouth College. Ze maakten het eerst als een programmeertaal voor onderwijs.
BASIC is gemaakt voor beginners
Het had toen nog niet de kenmerken van een gestructureerde programmeertaal en werkte met regelnummers en spronginstructies, zoals de GOTO-instructie. Eind jaren 1980 en begin jaren 1990 kwamen er veel verschillende BASIC-dialecten.
Het woord “BASIC” staat voor “Beginner’s All-purpose Symbolic Instruction Code”, wat “symbolische programmeertaal voor beginners” betekent.
Het woord “BASIC” betekent ook “basis”. Dit laat zien dat het doel was om een eenvoudige programmeertaal te maken voor beginners. B Behalve in sommige productnamen wordt “BASIC” altijd met hoofdletters geschreven
Hoe werkt de GCW programmeeromgeving?
De programmeeromgeving bestaat uit twee delen:
- een invoer gedeelte;
- een uitvoer gedeelte;
Als je de functie opent, zie je eerst alleen het invoergedeelte. Afhankelijk van wat je GC Wizard laat doen, zal het uitvoergedeelte en mogelijke andere onderdelen verschijnen.
Het invoer gedeelte
Het invoergedeelte begint met een veld waar je een script kunt schrijven. Dit wordt het programmeervenster genoemd. Hieronder staan een paar knoppen:
| Afbeelding | Naam | Omschrijving |
|---|---|---|
| Startknop | Als je op deze knop drukt, begint het script en zie je het resultaat in het uitvoergedeelte. | |
| Laadknop | Hiermee kun je een bestand laden vanaf je apparaat of via internet. Als je kiest voor “Apparaat”, opent een knop de bestandsverkenner van je apparaat. Kies je “Internet”, dan verschijnt een veld waar je de URL kunt invoeren. | |
| Opslaanknop | Hiermee open je de bestandsverkenner van je apparaat. Je kunt kiezen waar en onder welke naam je het bestand wilt opslaan. | |
| Wissenknop | Deze knop wist alle tekst uit het programmeervenster. | |
| Hulpknop | Deze knop opent de online handleiding. | |
| Locatieknop | Hiermee verschijnt een scherm om coördinaten in te voeren. |
De laadknop
Als je op de laadknop tikt, verschijnen er twee knoppen waarmee je een bestand in GC Wizard kunt laden:

Opent de bestandsverkenner en hiermee open je een afbeelding vanaf je apparaat.

Toont een tekstveld waarin je de URL naar de afbeelding plaatst en een knop ‘Open’ om de afbeelding in GC Wizard te laden.
Het uitvoer gedeelte
Als je op de Startknop drukt, begint het script en zie je het resultaat in het uitvoergedeelte. Als je variabelen hebt gebruikt in het script, worden deze getoond in de Geheugendump.

Voorbeelden van programma’s in GCW Script
In dit artikel staan enkele voorbeeldscripts die je kunt gebruiken om de GC Wizard Script functie uit te proberen.
Hello World!
Wat doet het script?
Als je het onderstaande script in het programmeervenster zet en daarna uitvoert, zal in het Uitvoerscherm de tekst “Hello World!” komen te staan.
Het script
PRINT "Hello World!"

Christmas tree – ASCII art
Wat doet het script?
Als je het onderstaande script in het programmeervenster zet en daarna uitvoert, zal eerst een venster verschijnen met de vraag hoeveel lagen je wilt. Deze vraag blijft zich herhalen totdat je 0 invoert.
In het Uitvoerscherm verschijnt een ASCII-art van een kerstboom met de hoogte die je hebt aangegeven.
Het script
Z = 1
WHILE Z != 0
INPUT "Lagen: (Typ 0 om het programma te beëindigen)", Z
IF Z = 0 THEN
BREAK
ENDIF
PRINT ""
FOR J = Z TO 1 STEP - 1
Laag = " "
FOR I = 1 TO J
Laag = Laag + " "
NEXT
FOR K = 1 TO (Z+1-J)*2-1
Laag = Laag + "#"
NEXT
PRINT Laag
NEXT
Laag = ""
FOR L = 1 TO Z+1
Laag = Laag + " "
NEXT
Laag = Laag + "#"
PRINT Laag
PRINT ""
WEND

Geo-Art
Wat doet het script?
Om het volgende script goed uit te kunnen voeren moet je eerst een coördinaat opgeven.
Het onderstaande script zal het coördinaat in het script laden en vervolgens 10 punten om deze locatie maken in de vorm van een cirkel met een straal van 100 meter. Deze punten liggen vervolgens die 36 graden uit elkaar.
In de Uitvoer komen de 10 coördinaten van deze punten te staan. Op de kaart kun je zien dat er een geo-Art van een cirkel is ontstaan.
Het script
REM Haalt met de startknop de locatie op
a = GETLAT()
b = GETLON()
c = 0.0
FOR i = 1 TO 10
PROJECTION(a, b, 100.0, c)
c = c + 36.0
x = GETLAT()
y = GETLON()
WPTSADD(x, y)
NEXT


Search for four digits
Wat doet het script?
Dit script probeert verschillende combinaties van de cijfers Z, A, H en L om viercijferige getallen te maken. Het controleert of elk van deze getallen een perfect vierkant is. Als drie van deze getallen perfecte vierkanten zijn, wordt de combinatie van Z, A, H en L afgedrukt.
Het script
FOR Z = 1 TO 9
FOR A = 1 TO 9
FOR H = 1 TO 9
FOR L = 0 TO 9
C = 0
U = Z * 1000 + A * 100 + H * 10 + L
V = A * 1000 + H * 100 + Z * 10 + L
W = H * 1000 + A * 100 + Z * 10 + L
IF ISSQR(U) = 1 THEN
C = C + 1
ENDIF
IF ISSQR(V) = 1 THEN
C = C + 1
ENDIF
IF ISSQR(W) = 1 THEN
C = C + 1
ENDIF
IF C = 3 THEN
PRINT "ZAHL: "; Z, A, H, L
ENDIF
NEXT
NEXT
NEXT
NEXT

Distance
Wat doet het script?
Dit script bekijkt hoeveel plekken er kunnen zijn binnen een bepaalde afstand vanaf een bepaald coördinaat. (LAT|LON)
Let op! Dit script werkt alleen met het huidige coördinaat en de verwerking van dit script kost erg veel tijd.
Het script
R = 197
LAT = 50.9621667
LON = 11.03585
C = 0
FOR M = 0 TO 999
FOR S = 1 TO 2
FOR N = 0 TO 999
X = 50 + (57 + M / 1000) / 60
Y = 11 + (S + N / 1000) / 60
D = DISTANCE(LAT, LON, X, Y)
IF D <= R THEN
C = C + 1
ENDIF
NEXT
NEXT
NEXT
PRINT "Points within radius ", R, " are ", C

Divide Script
Wat doet het script?
Het script gaat op zoek naar de waarden van A en B in A679B. Dit is een vijfcijferig getal dat deelbaar is door 72. Om dit te vinden maakt het script alle mogelijke getalcombinaties en deelt dit door 72. Het script zal vervolgens alle getallen printen die deelbaar zijn door 72.
Het script
FOR A = 1 TO 9
FOR B = 0 TO 9
Z = A * 10000 + 6790 + B
C = Z / 72
R = MOD(Z, 72)
IF R = 0 THEN
PRINT Z, A,B,C
ENDIF
NEXT
NEXT

Complex numbers
Wat doet het script?
Dit script werkt met complexe getallen uit een lijst, die worden gegeven in de vorm van Cartesische coördinaten, wat betekent dat ze ons vertellen hoe ver we horizontaal en verticaal van een beginpunt verwijderd zijn. Vervolgens zet het deze Cartesische coördinaten om naar polaire coördinaten, zodat je kunt zien hoe ver en vanuit welke richting je van het beginpunt vandaan bent.
Het script
DATA 1.91372648, 2.4914364, 3.05909465, 0.71522325
DIM L
FOR I = 1 TO 2
LISTCLEAR(L)
READ X
READ Y
POLAR(L, X, Y)
PRINT L
NEXT

Almost perfect numbers
Wat doet het script?
Het script zoekt naar getallen tussen 15 en 99 die bijna perfect zijn. Een bijna perfect getal heeft als eigenschap dat de som van zijn delers (zonder het getal zelf) gelijk is aan het getal min 4. Het script controleert elk getal in dit bereik en print de getallen die aan deze voorwaarde voldoen.
Het script
DIM T
FOR I = 15 TO 99
LISTCLEAR(T)
DIVISORS(T, I)
S = SUM(T) - I
D = I - 4
IF S = D THEN
PRINT I, D, T
ENDIF
NEXT

Sum of divisors
Wat doet het script?
Het script zoekt naar het kleinste natuurlijke getal tussen 1 en 999 waarbij de optelling van al zijn delers (behalve het getal zelf) hoger is dan het getal zelf.
Het script
DIM T
FOR I = 1 TO 999
LISTCLEAR(T)
DIVISORS(T, I)
S = SUM(T) - I
IF S > I THEN
PRINT I, S, T
END
ENDIF
NEXT
