Een auto start vanuit rust en versnelt met een constante versnelling van 2 m/s². Wat is zijn snelheid na een periode van 7 seconden?
Het is een goede praktijk om je script te documenteren.
Documenteren is informatie toevoegen die door de interpreter niet vertaald en uitgevoerd wordt, maar enkel als informatie dient voor de programmeur.
Aanpassingen die later aan een script moeten doorgevoerd worden, kunnen makkelijke gebeuren als het script voldoende gedocumenteerd is.
Je kan deze extra informatie toevoegen door gebruik te maken van het hekje "#". Alles wat op een lijn na een hekje komt wordt door de interpreter genegeerd.
Je kan zo op de eerste lijn de titel van je script toevoegen:
# Opdracht 1: EVRB - Snelheid versie 11/10/23
Dit komt overeen met het eerste vakje van je algoritme.
Je kan ook de datum toevoegen, zodat je naderhand ook weet met welke versie van het script je te maken hebt.
In de volgende drie hoekjes worden waarden toegewezen aan variabelen.
Wanneer je vraagstukken gaat oplossen dan ga je ook eerst je gegevens opschrijven. Je gaat gegevens voorstellen met symbolen. Het toewijzen kan je hier een beetje mee vergelijken. Een bepaald getal wordt gestockeerd in het geheugen van de computer, en de variabele verwijst naar dit getal.
Je gaat een waarde toewijzen aan een variabele met het toewijzingsteken "=". Het is hetzelfde teken als het gelijkheidsteken in wiskunde, maar heeft wel een iets andere betekenis. Je kan dit best lezen als "krijgt de waarde"
v0 = 0
Dit lees je als: v nul krijgt de waarde nul.
Het verschil tussen een toewijzen en een gelijkheidsteken behandelen we nader
De (naam) van de variabele moet wel voldoen aan bepaalde voorwaarden:
mag enkel bestaan uit letters, cijfers en de "underscore"
mag niet beginnen met een cijfer
mag geen gereserveerd woord zijn
Verder zijn er nog een aantal afspraken tussen programmeurs. De belangrijkste is dat een naam betekenisvol moet zijn.
Heb je bijvoorbeeld een programma waarin je het oppervlak van een veld en van een boom moet berekenen, dan krijg je in de wiskunde al snel Av en Ab (in een script kan je niet gebruik maken van subscripts) terwijl bij het programeren dit zal voorgesteld worden als Oppervlakte_veld en Oppervlakte_boom.
Betekenisvol wilt niet altijd zeggen dat je gebruik moet maken van woorden. Zo zal in dit voorbeeld, als het script bedoelt is voor programmeurs met kennis van de fysica, het heel duidelijk zijn wat bedoeld wordt met v0, a, dt en v (beginsnelheid, versnelling, tijdsinterval en eindsnelheid).
Op dezelfde manier kunnen we zo de grootte van de versnelling toewijzen aan a en de grootte van het tijdsinterval aan dt.
a = 2
dt = 7
In de wiskunde kan onderstaande vergelijking niet.
x = x + 1
Wiskundig zou dit betekenen dat 0 = 1, wat natuurlijk foutief is.
In een computerscript heeft dit een heel andere betekenis.
Bekijken we daarom hieronder even de twee lijnen met code:
x = 1
x = x + 1
Bij een toewijzing gaat eerst het gedeelte rechts van het toewijzingsteken uitgevoerd worden. Het resultaat hiervan wordt dan toegewezen aan de variabele links van het toewijzingsteken.
In de eerste regel staat er recht van het toewijzingsteken gewoon het cijfer 1.
Er zal dus geen bewerking moeten uitgevoerd worden, en deze 1 wordt toegewezen aan x.
De variabele x krijgt dus de waarde 1.
In de tweede regel staat x + 1.
De waarde van x wordt daarom uit het geheugen van de computer gehaald, en hierbij wordt 1 opgeteld. Omdat x de waarde 1 had krijg je dus 1 + 1.
Het resultaat van deze bewerking (2) wordt dan toegewezen aan x.
De variabele x heeft nu dus waarde 2.
We zijn uiteindelijk aangekomen bij de berekening van de eindsnelheid: v = v0 + a . dt
In deze workshop maken we enkel gebruik van de basisbewerkingen: optellen, aftrekken, vermenigvuldigen, deling en machtsverheffing.
De meeste symbolen die hiervoor gebruikt worden komen overeen met de symbolen die je ook gebruikt in spreadsheets zoals Excel of Google Sheets. Enkel de machtverheffing verschilt hiervan
Optelling: +
Aftrekking: -
Vermenigvuldiging: *
Deling: /
Machtverheffing: **
Voor onze berekening krijgen we zo
v = v0 + a * dt
Het onderste scherm bij Thonny of het rechtse scherm bij Programmiz is de SHELL. Dit venster wordt gebruikt voor de communicatie met de gebruiker. De output van het script komt hier, en als aan de gebruiker input gevraagd wordt, dan zal dat ook in dit scherm gebeuren.
De SHELL kan ook gebruikt worden al kladblok, als uitprobeerscherm. Wanneer je iets typt in de SHELL en je drukt op ENTER dan start de REPL-cyclus.
Python gaat eerst de instructie lezen (Read).
Daarna gaat Python kijken of er geen fout staat in de syntax (schrijfwijze) van de instructie (Evaluate)
Wordt de instructie positief geëvalueerd, dan wordt de instructie uitgevoerd (Processed)
En tenslotte wordt de controle terug gegeven aan de gebruiker (Leave)
Wil je een bepaald stukje code of een instructie dus snel even controleren, dan kan dit door deze code even in te typen in de SHELL.
Je kan dit doen door bijvoorbeeld onderstaande lijnen in te typen (na elke lijn druk je op enter, alsof je naar een nieuwe regel gaat)
2+8*2
36**1/2
36**(1/2)
x = 2
x
y = 2*x
y
Onze laatste instructie (het laatst blokje met EINDE is geen instructie) zorgt voor de uitvoer van het resultaat, de output.
Output kan verkregen worden met de print( )-instructie.
De print( )-instructie drukt alles wat tussen de haken staat op één lijn op het scherm. Na het uitvoeren van de print( ) -instructie gaat men naar een nieuwe lijn. Dit wilt zeggen dat de volgende print( )-instructie aan het begin van de volgende lijn geprint wordt.
Tussen de haken kunnen getallen, variabelen, tekst en bewerkingen geplaatst worden. Tekst, dit wordt een string genoemd, wordt tussen aanhalingstekens geplaatst. Dit kunnen zowel enkele als dubbele aanhalingstekens zijn. Als je de string start met enkele, dan moet hem ook sluiten met enkele aanhalingstekens. Start je met dubbele aanhalingstekens, dan eindig je met dubbele aanhalingstekens.
Je kan onderstaande tekst kopiëren en plakken in Programiz of Thony en dan het script uitvoeren. Dit kan door in Programiz op de RUN-knop te klikken. In Thonny is dit het driehoekje op een groene achtergrond.
print ("Hello world!")
print('Dit is een Pypthon workshop')
print("Op de 'STEM'-inspiratiedag")
Wanneer tussen de haken een variabele of een bewerking staat, dan zal het resultaat van de variabele of de bewerking geprint worden.
x = 1
print(x)
print(16**0.5)
print(4*x)
Je kan meerdere gegevens op één lijn printen door al deze gegeven tussen de haakjes te plaatsen, gescheiden door een komma.
x = 1
print(x , 16**0.5, 4*x)
Voegen we alles samen dan krijgen we:
# Opdracht 1: EVRB - Snelheid versie 11/10/23
#Toewijzing
v0 = 0
a = 2
dt = 7
# formule & berekening
v = v0+a*dt
# Output
print(v)