04 Voorbeelden

Wat is een programmeertaal zonder voorbeelden?
alleen maar …

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!"
Schermafdruk van het Hello World script in de functie GC Wizard Script in GC Wizard

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
chermafdruk van het ASCI Christmas tree – ASCII art in de functie GC Wizard Script in GC Wizard

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
Schermafdruk van het Geo_art script in de functie GC Wizard Script in GC Wizard
Schermafdruk van de kaartweergave van het resultaat van het Geo_art script in de functie GC Wizard Script in GC Wizard

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
Schermafdruk van het Four digits script in de functie GC Wizard Script in GC Wizard

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
Schermafdruk van het Distance Script in de GCW script functie in GC Wizard

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
Schermafdruk van het Divide script in de functie GC Wizard Script in GC Wizard

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
Schermafdruk van het Complex numbers script in de functie GC Wizard Script in GC Wizard

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
Schermafdruk van het Almost perfect numbers Script in de GCW script functie in GC Wizard

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
Schermafdruk van het Sum of divisors Script in de GCW script functie in GC Wizard