Programmeren voor Kinderen

Leren programmeren op de basisschool

Les 4

Heb je Les 2 al af? We gaan namelijk nu verder met het programma uit les 2. En Les 3?

We zetten de boel weer even klaar. Start cmd. Type notepad print.py (Enter). Weet je nog hoe het eruitziet?

De tafel van getal

En wat nou als we de tafel van zes willen programmeren? Of de tafel van 285672187?

We kunnen natuurlijk ons programma veranderen, en overal waar 7 staat iets anders neerzetten. Nou ja, bijna overal dan. In deze regel:

print '7 x 7 =', 7 * 7

moeten de eerste en de  derde zeven gewoon blijven staan. Toch?

Eigenlijk kun je voor die andere zevens in de tafel van zeven steeds ‘getal’ denken:

Eén keer getal is getal
Twee keer getal is, nou ja, eeeh, 2 * getal
Drie keer getal is 3 * getal

Dat getal kan steeds iets anders zijn. Is het zes, dan doe je de tafel van zes. Is het 285672187, dan doe je gewoon de tafel van 285672187. Computers kunnen heel goed rekenen.

Zou het niet handig zijn als je het dan ook zo zou kunnen opschrijven?

getal = 6
print '1 x', getal, '=', 1 * getal
print '2 x', getal, '=', 2 * getal
...

Eerst zeggen we dat getal zes is. Da’s makkelijk. De regels met print zijn een beetje ingewikkeld. Laten we hem even uitpuzzelen.

print '1 x', Print de string '1 x', dus precies die letters.
getal, print ons getal. Da’s zes, dus.
'=', print de string '='. Een is-teken.
1 * getal print de uitkomst van de som: 1 * getal.

Dus op deze manier printen we de som en het antwoord door getal te gebruiken in plaats van 6. Of 7.

Verander de tweede regel maar eens.

print '1 x', getal, '=', 1 * getal

Bewaren, terug naar het zwarte scherm, en

python print.py

(Enter.)

Wat zie je?

Ik zie dit:

De tafel van 7
1 x
Traceback (most recent call last):
  File "print.py", line 2, in 
    print '1 x', getal, '=', 1 * getal
NameError: name 'getal' is not defined

De eerste regel is niet veranderd, die gaat nog steeds goed. Maar toen Python de tweede regel probeerde te doen ging het mis. '1 x' kon hij nog wel printen, maar toen kwam de fout: NameError: name 'getal' is not defined. Dat betekent zoiets als: Foute naam, ik weet niet wie ‘getal’ is.

Zie je ook waarom hij dat niet weet?

Kun je het oplossen?

Kun je ook de titel van je programma aanpassen zodat hij ‘getal’ gebruikt? Deze dus:

print 'De tafel van', 7

En de andere negen regels?

Variabelen

getal is eigenlijk een naam voor een ding. Zoals je ook ‘dinges’ kan zeggen als je iets niet weet, of ‘iets’.

Kan jij me die dinges even aangeven?

Zulke woorden zijn heel handig; zo kan je ergens of praten zonder dat je precies weet wat het is. De tafel van getal bijvoorbeeld, in plaats van de tafel van zes of zeven of 285672187.

Als het goed is heb je je programma nu overal zo veranderd dat het getal gebruikt in plaats van 7. Ik denk dat het er zo uitziet.

getal = 7
print 'De tafel van', getal
print '1 x', getal, '=', 1 * getal
print '2 x', getal, '=', 2 * getal
print '3 x', getal, '=', 3 * getal
print '4 x', getal, '=', 4 * getal
print '5 x', getal, '=', 5 * getal
print '6 x', getal, '=', 6 * getal
print '7 x', getal, '=', 7 * getal
print '8 x', getal, '=', 8 * getal
print '9 x', getal, '=', 9 * getal
print '10 x', getal, '=', 10 * getal

Verander nu de eerste regel maar eens in

getal = 6

(Bewaren, zwarte scherm, python print.py, (Enter.)

En dan in

getal = 285672187

(Bewaren, zwarte scherm, python print.py, (Enter.)

Wel even narekenen of het klopt!

Wat heb je geleerd?

Weet je dat je nu meer van programmeren weet dan heel veel volwassenen? Je weet namelijk wat een variabele is. Een variabele is een naam die je geeft aan iets waarvan je nog niet weet wat het is. En als je het dan wel weet, dan geef je een waarde aan die variabele, en dan werkt het.

Een variabele is dus als het ware een soort doosje waar je iets in kan stoppen. In je programma gebruik je altijd het doosje, en als het programma wordt uitgevoerd pakt Python het doosje uit.

Maar je hebt nog meer geleerd:

  • Een variabele heeft een naam, bijvoorbeeld getal
  • Je kunt een variable een waarde geven met =, bij voorbeeld: getal = 6
  • Als een variabele geen waarde heeft gekregen krijg je een NameError. Python pakt het doosje uit maar er zit niks in!
  • Computers kunnen echt heel goed rekenen; de tafel van 285672187 bijvoorbeeld.

Vond je het moeilijk? De volgende keer gaan we nog meer met variabelen doen.

Dion

3 Reacties aan “Les 4”

  1. Effie schreef:

    hoi dion, wat leuk! ik snapte sommige lessen niet. maar nu kan ik al super goed programmaatjes maken met getallen! en nu snap ik ook meteen hoe je van letters een variabele kunt maken. supersiteeee! ik heb een eigen taal. die kan ik nu gemakkelijk vertalen met Python! 2 x SUPERSIIITTTTTTTTEEEEEEEEEEEEEEEEEEEH!!!

  2. Silke :) schreef:

    Heel tof! 😀 maar ik snap niet zo goed waar en wanneer dat je komma’s moet plaatsen… :s
    groeten
    silke

    • martijn669 schreef:

      Hey Silke, ik ben er ook niet heel erg goed in hoor, maar volgens mij moet je als je wilt dat het progammaatje iets zegt het er een ‘ voor doen dus zo: print ‘Hallo Silke hoe gaat het’, en dan als je een som wilt uitreken het zo doen: print ‘7 x 10 =’, 7 * 10 zo dus hoop dat je er wat aan hebt gehad en veel suc6 met de volgende lessen 😉

Geef een reactie