Dit zullen veel van jullie je misschien afvragen. Waarom moeten we kunnen programmeren, anderen kunnen het toch ook voor ons doen. De realiteit is helaas dat digitale apparaten een steeds grotere rol in ons leven spelen. Denk er maar eens over na: je winkelt vaak online via webshops, betaalt met een online betaalsysteem, bankiert online, speelt multiplayer spelletjes, gebruikt social media via je smartphone en binchwatched netflix op je smart tv. Het is belangrijk dat we in iedergeval tot op een zeker niveau begrijpen hoe deze apparaten werken. Hoe kan jij anders in je toekomstige werk met computers werken en beslissingen maken over technologie. Juist de onwetendheid van veel mensen zorgt voor enorme ICT problemen in de overheid omdat de mensen die erover beslissen er geen vestand van hebben.
Hier een korte uitleg over de basisbeginselen van programmeren. Geschreven door Robin Boers voor Digitale Geletterdheid. Enjoy!
Variabelen zijn net als verwijswoorden. Je zegt niet:
De krokodil loopt op de straat
De krokodil is boos
De krokodil eet een kind op
De krokodil is nu blij
Je zegt:
De krokodil loopt op de straat
Hij is boos
Hij eet een kind op
Hij nu blij
In programmeertalen is dat net zo. Als je in je programma heel vaak iets door 6 moet delen kan je overal de zes door de variabele num
vervangen en als je dan later de zes naar een zeven wil veranderen hoef je alleen de waarde van de variabele num
aan te passen.
Je hebt variabelen en constanten. Variabelen kan je wel veranderen en constanten niet.
In een game zou je constanten kunnen gebruiken voor dingen die vast staan en nooit veranderen in het spel, zoals de snelheid van de speler, of max health. Je zou variabelen kunnen gebruiken voor dingen die wel veranderen zoals hp en ammo, en of de speler nog leeft of niet.
Om het makkelijk te houden praat ik hier alleen over variabelen omdat het moeite kost om steeds 'variabelen en constanten' te zeggen.
Variabelen kunnen 4 verschillende soorten waardes hebben:
- Getal (int)
- Tekst (string)
- Lijst (array)
- Lijst met naam waarde paren (object)
Een getal noemen we in programmeertaaltaal een interger. Met een interger kan je berekeningen doen. De namen van variabelen kunnen niet een interger zijn omdat dan de computer in de war raakt.
getal = 1
print (getal)
> 1
Een stukje tekst wordt in programmeertaaltaal een string genoemd. Een string wordt aangegeven met dubbele of enkele aanhalingstekens (naast de puntkomma, die weer naast de L zit)
string = "Hallo!"
print (string)
> Hallo!
Als je twee intergers bij elkaar optelt, wordt dat een gewone optelsom:
print (1+2)
> 3
Als je twee strings bij elkaar optelt worden ze achter elkaar geplakt:
print ("Hallo," + "ik ben Robin.")
> Hallo, ik ben Robin.
Dus als je een string en een interger bij elkaar optelt krijg je:
print("1"+1)
> 11
WACHT WAT?!
Je snapt nu dus misschien dat het belangrijk is om goed te onthouden wat het verschil tussen een interger en een string is, en waarom het fout kan gaan als je dat niet doet :)
En o ja,
Als je een string wil omzetten in een interger of andersom kant dat met int()
en str()
:
string = "11"
getal = 3
print (string + getal)
string = int (string)
print (string + getal)
getal = str(getal)
print (string + getal)
> 113
> 14
> 113
Dit is iets wat heel vaak gaat gebruiken. Een if-statement wordt gebruikt om te checken of een waarde aan een conditie voldoet. Je kan met een if-statement de waarde van een string controleren:
ik = "robin"
if ik == "robin":
print("Jij bent Robin.")
> Jij bent Robin.
Het valt je misschien op dat er 2x een = staat. Dit verscheelt per taal. Soms zijn het er 3 en soms 2. Maar het is er never nooit 1.
Je kan met een if-statement ook op meerdere dingen tegelijk testen. Deze code draait alleen als ik Robin ben en mijn zusje Lize is.
ik = "robin"
zus = "lize"
if ik == "robin" and zus == "lize":
print("Jij bent Robin en je zusje is Lize.")
> Jij bent Robin en je zusje is Lize.
Met else kan je iets uitvoeren als het niet waar is:
ik = "tom"
zus = "nienke"
if ik == "robin" and zus == "lize":
print("Jij bent Robin en je zusje is Lize.")
else:
print("Jij bent niet Robin en je zusje is niet Lize.")
> Jij bent niet Robin en je zusje is niet Lize.
Je kan ook checken of een getal groter, kleiner of gelijk is aan een ander getal:
getal = 7
getal_twee = 10
if getal > getal_twee:
print("Getal 1 is groter dan getal 2)
else:
print("Getal 1 is niet groter dan getal 2")
if getal < getal_twee:
print("Getal 1 is kleiner dan getal 2")
else:
print("Getal 1 is niet kleiner dan getal 2")
if getal == getal_twee:
print("Getal 1 is gelijk aan getal 2")
else:
print("Getal 1 is niet gelijk aan getal 2")
> Getal 1 is niet groter dan getal 2
> Getal 1 is kleiner dan getal 2
> Getal 1 is niet gelijk aan getal 2
Met else-if kan je een tweede if-statement draaien als het eerste negatief is, je kan zoveel else-if statements gebruiken achter elkaar als je wil.
ik = "tom"
zus = "lize"
if ik == "robin" and zus == "lize":
print("Jij bent Robin en je zusje is Lize.")
elif ik == "robin":
print("Jij bent Robin en je zusje is niet Lize.")
elif zus == "lize":
print("Jij bent niet Robin en je zusje is Lize.")
else:
print("Jij bent niet Robin en je zusje is niet Lize.")
> Jij bent niet Robin en je zusje is Lize.
Opmerking: in Python is het niet elseif maar elif :)
Een functie is een stukje code dat pas wordt uitgevoerd als jij de computer dat vertelt. Je kan functies gebruiken om je code in te korten, of als je een bepaald stukje code heel vaak opnieuw moet draaien.
def my_cool_function():
do something cool
while True
my_cool_function()
Je kan een functie parameters meegeven. Deze passen aan wat de functie precies doet. Als ik een spel had waarbij je steden kon aanvallen zou ik niet voor elke stad een aparte functie maken:
def attack_hong_kong():
code
def attack_rotterdam():
code
def attack_london():
code
etc.
Ik zou 1 functie maken met een parameter:
def attack_city(city_name):
code
Je weet het misschien niet, maar je hebt al best veel functies gebruikt. Print bijvoorbeeld. Daarbij is de parameter wat er precies op het scherm moet verschijnen.
print(parameter)
Hier kan je parameters in actie zien:
def my_cool_function(cool_thing):
print("I am doing " + cool_thing)
my_cool_function("football")
my_cool_function("wiskunde")
my_cool_function("chinees eten")
> I am doing football
> I am doing wiskunde
> I am doing chinees eten
In Python worden functies soms ook methodes genoemd.
Comments zijn heel belangrijk in welke programmeertaal dan ook. Comments worden genegeerd door de computer. Ze zijn er om jou te vertellen wat de code precies doet. Als je met meerdere mensen aan dezelfde codebase werkt of later je code terugleest kunnen ze heel goed van pas komen.
In Python kan je comments maken door een hashtag voor de regel te zetten:
# This function prints what cool thing I am currently doing
def my_cool_function(cool_thing):
print("I am doing " + cool_thing)
my_cool_function("football")
my_cool_function("wiskunde")
my_cool_function("chinees eten")
Als je programeert probeer je je code altijd zo kort mogelijk te schrijven. Als je bijvoorbeeld 10x hallo op het scherm wil printen kan het zo:
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
print("HALLO!!")
Maar je kan het ook korter doen met een loop:
for x in range(10):
print("HALLO!!")
Allebei de stukken code hebben hetzelfde resultaat, maar de tweede is aanzienlijk korter en makkelijker te lezen.
> HALLO!!
> HALLO!!
> HALLO!!
> HALLO!!
> HALLO!!
> HALLO!!
> HALLO!!
> HALLO!!
> HALLO!!
> HALLO!!
In de meeste programmeertalen heb je drie soorten loops:
- For loops
- Foreach loops
- While loops
Een for-loop is een loop die voor een vooraf gedefinieerd aantal keer draait. Het mooie van for loops is dat je kan zien in de hoeveelste iteratie van de loop je zit. Iteratie is de hoeveelste keer dat de loop draait.
for x in range(5):
print(x)
> 1
> 2
> 3
> 4
> 5
Een while-loop draait alleen als er aan een bepaalde conditie wordt voldaan. Je zegt eigenlijk: loop dit zolang dit waar / niet waar is. Je zou een while loop bijvoorbeeld in een game kunnen gebruiken, zodat de game alleen draait als je nog leeft.
while gameover == False:
playerinput()
update()
draw()
Je kan bij een while loop ook een else
statement toevoegen, die draait als er niet meer aan de conditie van de loop voldaan wordt.
while gameover == False:
playerinput()
update()
draw()
else:
show_gameover_screen()
Wat ik je net heb uitgelegd slaat niet alleen maar op Python. Er zijn honderde programmeertalen, maar als je eenmaal deze basisbeginselen snapt kan je ze allemaal heel makkelijk leren. Alleen de syntax (hoe je de code zelf schrijft) verschilt.
Ik zou het waarderen als je een comment achterlaat met wat feedback op dit ding. Kan ik m verbeteren :D
-Robin