Naar de inhoud
Lus, naar de startpagina
Algoritmes

Variabelen: dozen met een naam

Een variabele is een doos met een naam waarin een programma een waarde bewaart, zoals je score in een spel. Die waarde kan veranderen.

1e graad11 tot 14 jaarConcept: Nog niet nagelezen door een leerkracht informatica.

Waarom

Hoe weet een spel hoeveel punten je hebt, ook na honderd sprongen en tien munten?

Het spel moet je score ergens onthouden. Telkens als je een munt pakt, kijkt het naar de oude score, telt er iets bij en onthoudt de nieuwe.

Die plek om iets te onthouden heet een variabele. Je kunt ze zien als een doos met een etiket: op het etiket staat de naam, in de doos zit de waarde.

Zie het

Kies een programma en voer het regel per regel uit. Kijk welke doos verandert en wat erin komt.

  • nog leegscore
  • nog leegilusteller
Op het scherm
nog niets
Blokken
  1. zet score op 0
  2. herhaal 3 keer
  3. zet score op score + 5
  4. toon score
Code
score = 0
for i in range(3):
    score = score + 5
print(score)
stap 0 van 8
Het programma staat klaar. Alle dozen zijn nog leeg.
Beschrijving van het beeld

Naast een kort programma staan dozen met een naam, zoals score, a, b, temp, x en de teller i. Bij elke stap licht de regel op die loopt, en de doos die verandert krijgt een markering en haar nieuwe waarde. Onderaan staat wat het programma toont.

Snap het

Met score = 0 maak je een doos met de naam score en leg je er 0 in. Het teken = betekent hier niet is gelijk aan, maar: leg in de doos.

Met score = score + 5 kijkt de computer eerst rechts: wat zit er nu in score? Daar telt hij 5 bij. Het resultaat legt hij terug in dezelfde doos. De oude waarde is dan weg.

In een doos zit altijd maar één waarde. Wil je twee dozen van inhoud wisselen, dan heb je een hulpdoos nodig, anders ben je één waarde kwijt.

Een lus heeft zelf ook een variabele: de teller. In for i in range(4): krijgt i na elkaar de waarden 0, 1, 2 en 3. Je kunt i gebruiken in je berekening.

Een goede naam helpt: score of coins zegt meer dan x. De computer maakt het niet uit, maar de mensen die je code lezen wel.

De regel

naam = waarde: reken rechts uit met de waarden van nu, leg het resultaat in de doos links. De oude inhoud verdwijnt.

Uitgewerkt voorbeeld

Welk getal toont dit programma?

  1. Het programma:

    score = 2
    for i in range(3):
        score = score + 4
    print(score)
  2. Regel 1: score wordt 2.

  3. De lus loopt 3 keer en telt telkens 4 bij: 6, dan 10, dan 14.

  4. Regel 4 toont de inhoud van score.

  5. Antwoord

    Het programma toont 14.

Doe het

Kies een niveau. Je krijgt telkens een nieuwe opgave, die meteen nagekeken wordt.

Oefenen

Welke waarde zit er in x nadat dit programma gelopen heeft?

Welke waarde zit er in x nadat dit programma gelopen heeft?
Blokken
  1. zet n op 6
  2. zet x op n + 2
  3. zet x op x + 2
  4. zet x op n × 2
Code
n = 6
x = n + 2
x = x + 2
x = n * 2

Valkuilen

  • Fout: score = score + 5 kan niet, want een getal is nooit 5 meer dan zichzelf.

    In code betekent = niet is gelijk aan, maar: leg in de doos. Eerst wordt rechts uitgerekend, dan wordt de doos gevuld.

    Juist: Lees = als wordt: score wordt score plus 5.

  • Fout: Na a = b en b = a zijn a en b gewisseld.

    Na a = b zit de oude waarde van a nergens meer. Daarna krijgt b gewoon zijn eigen waarde terug.

    Juist: Bewaar eerst een kopie: temp = a, dan a = b, dan b = temp.

  • Fout: Een variabele onthoudt al haar vroegere waarden.

    In een doos past één waarde. Wie iets nieuws in de doos legt, gooit het oude weg.

    Juist: Wil je vroegere waarden bijhouden, dan heb je meer dozen nodig (of later: een lijst).

In het echt

  • Je gsm bewaart het percentage van je batterij in een variabele die steeds kleiner wordt.
  • Een stappenteller telt er bij elke stap 1 bij: stappen wordt stappen plus 1.
  • Een kassa in de supermarkt houdt het totaal bij en telt bij elk product de prijs erbij.
  • In een spel zitten je levens, je munten en je niveau elk in een eigen variabele.

Geschiedenis

De code in Lus lijkt op Python, een programmeertaal die de Nederlander Guido van Rossum bedacht. De eerste versie verscheen in 1991. Python wordt nu op veel scholen en in veel bedrijven gebruikt.

Aan tafel

Bedenk samen een spel met drie variabelen, bijvoorbeeld punten, levens en tijd. Wanneer gaat elke variabele omhoog of omlaag?

Een vraag om samen over te praten, voor ouders en kinderen. Er is geen fout antwoord.

Fout gezien?

Een paar woorden is genoeg. We kijken het na en passen het aan.

Zoeken

Even laden…

Leesgemak

Kies wat helpt. Je keuze blijft bewaard op dit toestel.

Tekstgrootte

Gebruik je liever de instellingen van je toestel (zoom, schermlezer, donkere modus)? Die werken hier ook gewoon.