-
In deze video wil ik je
-
een idee geven van
-
wat een computerprogramma is.
-
En als je mee wilt doen,
-
wat ik je erg adviseer,
-
omdat de enige manier om te leren programmeren is
-
dat je zelf alles uitprobeert.
-
Deze cursus is gericht op Python. Ik ga veel van het
-
programmeren doen in Python.
-
Deze omgeving heet PyScripter.
-
P-Y-S-C-R-I-P-T-E-R.
-
Het is gratis, het is open-bron software.
-
En ik gebruik Python...
-
Ik geloof Python 2.6 of 2.7.
-
Als je Python 2 gebruikt,
-
dan zijn de voorbeelden dezelfde als de mijne,
-
ze werken hetzelfde.
-
Maar als je Python 3 gebruik moet je
-
af en toe iets andere variaties gebruiken
-
om het goed te laten werken.
-
Als dat nodig is zeg ik het wel.
-
Laten we gewoon beginnen met het zelf schrijven van een computerprogramma.
-
Wat hier zo geweldig aan is,
-
is dat we ons programma hier kunnen schrijven.
-
En eigenlijk bewerken we gewoon tekst in een bestand.
-
Meer is het niet.
-
Het is een verzameling instructies
-
en de computer begint
-
bovenaan, en gaat naar beneden
-
terwijl hij de instructies leest.
-
Maar later zul je zien
-
dat er manieren zijn om de computer
-
te laten rondspringen en lussen te maken
binnenin de instructies
-
zodat hij dingen steeds opnieuw kan doen of iets over kan slaan.
-
Nu dat gezegd is, laten we beginnen met het schrijven van een simpel programma,
-
en terwijl we dat doen
-
zullen we een paar van de basisprincipes tegenkomen
-
die een computerprogramma kan hebben.
-
Ik zal een heel heel simpel programma schrijven.
-
Een erg eenvoudig computerprogramma
-
zou letterlijk maar één expressie zijn.
-
Ik schrijf gewoon 'print 3+7',
-
het zal dus letterlijk 3+7 nemen en dat weergeven.
-
Het zal het doorgeven aan de 'print'-functie
-
die ingebouwd is in Python.
-
Misschien kan ik het beter schrijven als: print (3+7).
-
Dit gaan we opslaan. Er is dus letterlijk maar één...
-
als je erover nadenkt. Slechts één opdracht
-
hier op de bovenste lijn. Er staat print 3+7.
-
We voegen nog een opdracht toe,
-
zodat je kan zien dat het van boven naar beneden gaat.
-
Ik voeg er nog een toe: print(2-1)
-
en daarna doen we: print("this is a chunk of text")
-
Laten we eens kijken wat dit programma
-
gaat doen.
-
Ik sla het dus op.
-
Ik sla het dus op.
-
Ik heb het opgeslagen als "testarea.py". Vertelt ehm... Dat is een...
-
De extensie .py geeft aan dat het een Python bestand is.
-
Nu ga ik het programma draaien.
-
Wat is er zo fijn aan deze ontwikkelomgeving,
-
deze IDE of Integrated Development Environment, is
-
dat je op dezelfde plaats je programma kan typen en laten draaien.
-
Het kan je tekst ook kleuraanduidingen geven,
-
zodat je kunt zien wat een functie is, wat geen functie is,
-
de verschillende datatypes...
-
We gaan het later nog over meer datatypes hebben.
-
Laten we het programma starten en kijken wat er gebeurt.
-
Ziezo, we hebben het gedraaid!
-
Dus het gaf 10 weer, daarna 1,
en daarna gaf het
-
"this is a chunk of text" weer.
-
Dat is precies wat we het wilden dat het zou doen.
-
En het deed het op volgorde.
-
Het begon bovenaan, het zag 3+7 als gelijk aan 10
-
en gaf het weer, het gaf hier 10 weer.
-
En daarna gaf het 2-1 weer,
-
en tot slot gaf het "this is a chunk of text" weer.
-
Nog iets wat ik je van bij het begin wil laten zien
-
is het idee van datatypes.
-
Toen je dit voorbeeld zag
-
voelde je misschien al aan
-
dat er verschillen zijn tussen
-
de 3 of 2 of 1 of 7, en dit stuk tekst.
-
Dit is een getal. Ik kan getallen optellen. Ze stellen
-
een bepaalde hoeveelheid voor.
-
Terwijl dit hier een stuk tekst voorstelt.
-
En je voelt het al.
-
Het zijn verschillende datatypes.
-
De 3 en 7 en 1... dit zijn numerieke tekens.
-
In dit geval zijn het gehele getallen.
-
En je kan... In deze hier,
-
dit is eigenlijk een String,
-
een woord dat je veel hoort in de informatica.
-
Dit is eigenlijk... een verwijzing naar een reeks... letters.
-
en in Python kunnen we zelfs vragen
-
wat de types van deze dingen zijn.
-
Dus je kan de functie "type" erop loslaten
-
dus nu zou het type van de "3+7" moeten weergeven, in plaats van 10.
-
Dat proberen we eens. Ik zal gewoon 2-1 weergeven om je het verschil te laten zien.
-
Daarna zal ik het type weergeven... Het type van dit blokje text.
-
Het type van dit blokje text.
-
En we slaan het op. Ik typ gewoon CTRL+S,
-
dat is de sneltoets om dit op te slaan.
-
En dan probeer ik dit programma te draaien.
-
Zo, alsjeblieft.
-
De opdracht is uitgevoerd.
-
Het begint met de binnenste haakjes.
-
3+7 is 10. Dan probeert het om het type van 10 te nemen, en dat is 'int'.
-
Een type int, en dan geeft het dat type int weer.
-
Hier zie je dat. Er staat type 'int'.
-
int is de afkorting van integer (geheel getal).
-
Daarna zegt het geef (2-1) weer.
-
Dat doet het op deze regel hier,
-
het geeft 1 weer,
-
en dan het type van dit hele ding hier.
-
Dus in plaats van de tekst weer te geven,
-
geeft het het type weer. En dit type is een String.
-
Het volgende dat ik je wil laten zien
-
als we experimenteren met programma's,
-
is het gegeven "variabele".
-
Want een van de dingen die we willen
-
is om deze dingen op verschillende plaatsen op te slaan.
-
We zullen in toekomstige video's leren dat we in Python
-
eerder labels gebruiken voor deze dingen,
-
en dat de labels kunnen veranderen.
-
Laten we kijken of we verschillende types labels
kunnen maken.
-
Laten we een compleet ander programma schrijven met variabelen.
-
Wat zo leuk is aan Python,
-
hoewel sommige mensen het niet leuk vinden,
-
is dat je elk datatype in elk type variabele kan plaatsen.
-
Dus je kan zeggen a=3+5,
-
daarna kunnen we zeggen b=a*a-a-1
-
[Opmerking: * betekent 'keer', het wordt gebruikt voor vermenigvuldiging.]
-
en daarna kun je zeggen c=a*b (c is gelijk aan a keer b)
-
Dan heb je dit.....
-
Ik plaats hier wat spaties, dan ziet het er netter uit.
-
c is gelijk aan a maal b
-
Daarna kunnen we c laten weergeven.
-
Als je wilt kun je verder gaan
-
en proberen erachter te komen hoe c eruit gaat zien
-
of we kunnen gewoon dit programma draaien.
-
Dus laten we het programma draaien
-
en dan kunnen we terugkijken om te zien
-
of hij het juist heeft gedaan.
-
Ik ga het programma opslaan,
-
en dan draaien.
-
We krijgen 440 voor c. Eens kijken of dat klopt.
-
3+5 is 8. Dus het label 'a' verwijst naar 8.
-
Op elke plek in het programma, totdat we 'a' opnieuw definiëren,
-
Elke keer als je 'a' gebruikt, zegt het programma: a is 8.
A verwijst naar 8.
-
Dus als je hier naar toe gaat, dan definieer je 'b' ,
-
Dan zegt hij "a*a". Het gebruikt de juiste rekenvolgorde,
-
dus je doet eerst je vermenigvuldigingen.
-
Speciaal in dit geval wanneer je ook een aftrekking hebt.
-
Dus, a*a zal 64 opleveren.
-
Toen hadden we 64 - a, dus 64 - 8, wat 56 is.
Min 1 is 55.
-
Dus 'b' is 55. En 'c' wordt dan a, dus 8, keer 55
-
En 8 maal 55 is inderdaad 440.
-
Alles is correct berekend.
-
Misschien wil je zien wat er gebeurt als
-
je verschillende "a"'s krijgt.
-
Dat kun je uitproberen.
-
Je kan gewoon veranderen wat er hier gebeurt voor verschillende a's.
-
Dus laten we een a nemen......
-
Laten we "a" gelijk maken aan -6
-
en ons programma draaien om te zien wat er gebeurt.
-
We krijgen -246. En je kan het zelf controleren.
-
Je gaat regel voor regel, en deze variabelen verwijzen naar
-
dat waarnaar ze gedefinieerd zijn te verwijzen,
-
en kijken of je de uitkomst krijgt die we hier krijgen.
-
Als programma's gewoon een hoop commando's waren
-
en je altijd er van boven naar beneden doorheen zou gaan,
-
zou je niet echt interessante dingen kunnen doen.
-
Om echt interessante dingen te doen zal je
-
dingen zien zoals Voorwaardelijken en Lussen.
-
En Voorwaardelijken en Lussen dat zijn ....
-
Laten we het zo doen...
-
Laat ik dat hier neerzetten.
-
Laten we zeggen "If (a<0:)"
In dat geval, geven we (c) weer,
-
typ dan 'else:', en in dit geval geven we dan (c-a) weer.
-
Dit is dus interessant.
Je hebt misschien al een voorgevoel
-
van wat er gaat gebeuren.
Maar laten we het opslaan.
-
Het is ongelofelijk hoeveel je kunt doen met alleen
-
deze voorwaardelijken. Dus dit zegt:
-
als 'a' minder is dan 0, doe dit,
-
Anders, als 'a' niet minder is dan 0, doe dan dit hier.
-
Dus merk op dat we hier niet gewoon van boven naar beneden gaan.
-
Het hangt er vanaf of 'a' minder dan 0 is of niet,
-
of hij deze regel uitvoert,
-
of deze regel.
-
En de reden dat Python wist dat alleen deze regel uit moest worden gevoerd.
-
als 'a' minder was dan 0, is omdat het hier is ingesprongen.
-
Dat inspringen is onderdeel van deze voorwaarde.
-
De manier dat hij weet dat er nieuwe voorwaarden voor hem zijn
-
is vanwege deze dubbele punt hier.
-
En dan de manier om te weten wat hij moet doen
-
als dit niet waar is,
-
is als 'a' niet minder is dan 0,
dan voert hij de 'else' voorwaarde uit.
-
Als je hierna iets anders wil doen,
-
ongeacht of 'a' minder is dan 0 is of niet,
-
kan je het gewoon uit deze voorwaardelijke halen
-
door de inspringing weg te halen.
-
Dus nu kunnen we gewoon
-
'we zijn klaar met het programma' weergeven.
-
Laten we nog wat toevoegen aan deze voorwaardelijke.
-
Laten we hier 'a<0' weergeven.
-
Dus let op: dit zal niet worden uitgevoerd.
-
Dit staat binnen in een regel tekst,
-
dus het zal gewoon dat ding weergeven.
-
Hier zeggen we print('a is not less than 0').
(a is niet minder dan 0).
-
Dit is een interessant programma. We zullen het eens draaien.
-
Hopelijk werkt het. Ik sla het op. Nu gaan we het starten.
-
En het geeft 'a<0' weer,
-
- laten we een beetje omhoog gaan -
-
het heeft geprint...... we draaien het programma....
Het heeft "a<0" geprint.
-
Dus het laat zien dat we in de voorwaardelijke zitten.
-
Het geeft dit weer. Daarna geeft het 'c' weer, wat -246 is.
-
Het voert dit niet uit,
-
omdat dat alleen maar uitgevoerd zou worden als a niet minder dan 0 zou zijn.
-
Maar dan gaat het uit deze voorwaardelijke
-
en geeft, sowieso,
-
'we are done with the program' weer.
-
Laten we nu 'a' veranderen om te kijken of we de andere
-
voorwaardelijke werkend kunnen krijgen.
-
Laten we 'a' groter dan 0 maken.
-
Laten we "a" gelijk maken aan 9 en het programma draaien.
-
Dus daar. 'a' is 9. Het bekijkt of 'is a minder dan 0?',
-
nou, 'a' is niet minder dan 0,
-
dus dit wordt niet uitgevoerd.
-
Het gaat naar de 'else' voorwaardelijke.
-
Dus nu geeft het 'a is not less than 0' weer
-
wat het hier heeft gedaan, daarna gaf het c-a weer,
-
wat 630 is. Het gaat deze voorwaarde uit,
-
en ongeacht of 'a' groter dan 0 is of niet,
-
geeft het 'we are done with the program' weer.