Skip to content

Instantly share code, notes, and snippets.

@RobinBoers
Last active May 31, 2021 10:20
Show Gist options
  • Save RobinBoers/7da3f8125c0ce4af5dd7db060fefed9e to your computer and use it in GitHub Desktop.
Save RobinBoers/7da3f8125c0ce4af5dd7db060fefed9e to your computer and use it in GitHub Desktop.
Handleiding voor de basis van programmeren

Waarom is programmeren belangrijk

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.


De basis van programmeren

Hier een korte uitleg over de basisbeginselen van programmeren. Geschreven door Robin Boers voor Digitale Geletterdheid. Enjoy!

Variabelen en constanten

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

If, else if en else

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 :)

Functies en parameters

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

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")

Loops

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()

Goed om te weten

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.

Vertel me wat je er an vind

Ik zou het waarderen als je een comment achterlaat met wat feedback op dit ding. Kan ik m verbeteren :D

-Robin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment