Als iemand je vraagt wat je voornaam is, kan je daar snel een antwoord op geven. Dit komt omdat je voornaam ergens in je geheugen is opgeslagen. Maar hoe onthoudt een computer informatie?

Wat is een variabele?

In een computerprogramma kun je een variabele gebruiken om een bepaalde waarde op te slaan. Dit kan tekst (bijvoorbeeld je voornaam) of een getal (bijvoorbeeld je leeftijd) zijn. Deze informatie wordt dan ergens in het computergeheugen opgeslagen zodat we die nadien terug kunnen raadplegen. Hiervoor moeten we aan deze informatie wel een unieke naam koppelen.

Beetje verwarrend? Ik probeer het nog eens.

Je kunt het computergeheugen vergelijken met een groot magazijn met allemaal dozen. Iedere doos stelt een variabele voor en bevat een bepaalde waarde (een tekst of een getal). Om de juiste doos gemakkelijk terug te vinden, krijgt iedere doos een unieke naam (bijvoorbeeld, score). Dan kan je tegen de computer zeggen: geef mij de inhoud van de doos met naam score.

magazijn
Figuur 1: Het computergeheugen...euh magazijn*

Variabelen maken

Naam geven

Om een variabele te maken, gaan we naar het palet Variabelen (zie Figuur 2) en kiezen we een variabelenaam. Door voor elke variabele een verschillende naam te gebruiken, kunnen we variabelen van elkaar onderscheiden.

Zichtbaarheid

We kunnen ook kiezen of een variabelen zichtbaar is voor andere sprites of enkel voor de huidige sprite.

maak_variabele
(a)

maak_variabele
(b)

Figuren 2a en 2b: Aanmaken van een variabele

Variabele gebruiken

Wanneer je een variabele hebt gemaakt, worden er een aantal acties mogelijk. Je kan volgende blokken gebruiken:

Blok Uitleg
set [naam]to {Ruby} Geef de waarde 'Ruby' aan de variabele naam. Je kan hier ook een andere string invullen.
set [score]to {0} Geef de waarde 0 aan de variabele score. Je kan hier ook een ander getal invullen.
change [score] by {4} Verhoog de waarde van de variabele score met 4. Je kan hier ook een ander getal invullen. Dit kan ook een negatief getal zijn zoals -1. In dat geval wordt de waarde verminderd met 1.
show variable [score] De variabele score wordt met naam en waarde getoond op het scherm.
hide variable [score] De variabele score wordt niet meer op het scherm getoond.

Een klein voorbeeld

We gaan aftellen! In dit voorbeeld wordt de variabele teller eerst op 3 gezet. Dan wordt de variabele gezegd en vervolgens wordt er 1 van de variabele afgetrokken. Dit doen we uiteindelijk drie keer.

when greenflag clicked set [teller]to {3}; say (teller) for {2} seconds; change [teller] by {-1}; say (teller) for {2} seconds; change [teller] by {-1}; say (teller) for {2} seconds;

En nu aan de slag

  1. Maak het voorbeeldprogramma na en voer het uit.
  2. Pas het voorbeeld aan op de volgende manier:
    1. Zie jij ook een aantal keer dezelfde blokken achter elkaar terug komen? Laten we dit oplossen door gebruik te maken van een herhaallus!
      Zorg er dus voor dat onderstaande bloken in een herhaallus worden gezet:

      say (teller) for {2} seconds; change [teller] by {-1};

      [TIP: Gebruik jouw variabele om te weten hoeveel keer je gaat moeten herhalen]
    2. Probeer nu eens af te tellen vanaf 10.
  3. Optellen naar een hoger niveau:
    1. Maak een nieuwe variabele en zorg ervoor dat alle sprites deze kunnen zien.
    2. Laat Ruby starten met tellen.
    3. Zeg eerst het getal, verander dan de variabele met 1 en zend een signaal naar Unix.
    4. Laat Unix dan eerst de variabele zeggen, daarna de variabele aanpassen met 1 en opnieuw een signaal sturen naar Ruby
    5. Om de beurt zullen ze dus optellen. (Bijvoorbeeld: Ruby zegt 1, Unix zegt 2, Ruby zegt 3, Unix zegt 4, enzovoort....)
    6. [TIP: Je hebt maar twee signalen nodig om dit te kunnen maken]


*https://pixabay.com/nl/archief-dozen-documenten-mappen-1850170/