Speciale operatoren

Introductie

Dit is de eerste keer dat je een speciale operator gaat gebruiken. Een operator is een middel dat twee variabelen neemt en er een actie op uitvoert. Je kent dit vast wel van de rekenles op school:

Veel gebruikte operatoren zijn
  • + (optellen)
  • - (aftrekken)
  • * (vermenigvuldigen)
  • / (delen)
  • ^ (machtsverheffen)

Een speciale operator is de MOD operator. Deze gebruik je net als + en -. Je kan dus schrijven '7 MOD 2'. De uitkomst is de rest na deling, in dit geval 1, omdat 3*2+1 = 7. Als je nog weet hoe je een staartdeling doet, dan zag je vaak een rest overblijven na het delen. Dit is precies wat MOD doet. MOD is erg handig als je een bepaalde actie eens in de zoveel keer wilt uitvoeren, bijv. laat elk 100e object zien.

Een goede vergelijking voor MOD is de minutenwijzer op een klok. Als de wijzer op 'tien voor' staat en je telt er 20 minuten bij op, dan kom je op ' tien over'. Dat betekene dat de klok eigenlijk (50+20) MOD 60 doet.

Voorbeeld
PRINT 7 MOD 2 ' toont 1 PRINT 365 MOD 52 ' toont 1
PRINT 100 MOD 10 ' toont 0 PRINT 100 MOD 30 ' toont 10

In games

Operatoren zijn essentieel voor alle programma's, en dus ook voor games. Vooral de MOD operator is belangrijk bij het herhaald laten terugkomen van elementen in het spel. Denk aan een kaartspel zoals patience. Elke derde kaart wordt omgedraaid, en wanneer de stapel klaar is, begint het opnieuw bovenaan. Denk ook aan het bijhouden van tijd: elke 30 frames in een spel wil je 1 seconde aftellen, wanneer je een spel draait op 30 frames per seconde (FPS).

fps

Opdracht

  1. Maak een variabele, en zet er een getal in
  2. Bereken de rest na deling met 2, 3, 5 en 7, en druk deze af. Gebruik hierbij de MOD operator

Let op met
  • MOD correct gebruiken (bijv. COUNT MOD 10)

Verwacht resultaat

Als de input is A=7
1
1
2
0
Test je programma met diverse getallen

Veelgemaakte fouten

  • MOD verkeerd gebruiken (2 MOD 3 in plaats van 3 MOD 2)
  • geen spaties gebruiken (7MOD2)
  • geen variabele gebruiken (7 MOD 2 in plaats van A MOD 2)
  • typefouten (syntax error)

Bronnen


(Er zijn nog geen discussies in dit forum)