De beginselen van het programmeren

Home / Programmeren / Basisbeginselen

In deze tutorial ga ik proberen de basisprincipes van het programmeren uit te leggen, zodat je straks meteen aan de slag kunt met de verschillende programmeertalen.

Basisbeginselen

Een computer kan maar een ding: informatie verwerken. Bij een spelletje bijvoorbeeld verwerkt de computer alle knoppen die worden ingedrukt en voert aan de hand daarvan een actie uit, meestal het veranderen van iets op het scherm. Daarvoor heeft de computer een aantal dingen nodig. Allereerst moet je natuurlijk het programma met de instructies hebben. Dan moet er iets zijn om de gegevens die verwerkt moeten worden op te slaan. Daarvoor wordt meestal een harde schijf of een diskette voor gebruikt. Dan is er ook nog een wachtrij nodig om alle gegevens tijdelijk in te bewaren, dat is het geheugen van een computer. Vervolgens is er ook de verwerkingseenheid, de processor, nodig. En dan is het ook handig als je de resultaten meteen kunt zien, dat kan met een beeldscherm. Maar dat is niet noodzakelijk.

Bij het programmeren moet je commando's aan de computer geven voor het ophalen van gegevens, die bewerken en weer opslaan of op het beeldscherm weergeven. Ook moet je gegevens die ingevoerd zijn door gebruikers (via het toetsenbord of via de muis) opslaan in het geheugen.

Termen en afkortingen

In het stukje hierna gebruik ik een aantal keer het woord 'code'. Met code wordt een aantal instrucies, of soms zelfs een heel programma bedoeld.

Variabelen

Daarmee komen we aan bij het eerste begrip, variabelen. Een variabele is een stukje van het geheugen dat word gereserveerd om er gegevens in op te slaan. Variabelen heb je vaak nodig om gegevens in op te slaan die veranderlijk zijn. Dit betekend vaak dat het gegevens zijn die door de gebruiker zijn aangevoerd, en dus telkens anders kunnen zijn. Bij het verwerken van informatie heb je deze dus nodig. En het verwerken van informatie is het enige wat je met computers kan, dus variabelen heb je zeker nodig...

De verschillende soorten variabelen en hoe handig ze wel niet zijn bespreken we apart in de tutorials die specifiek over de programmeertalen gaan.

Functies

Soms komt het voor dat je bepaalde handelingen vaker moet doen, of dat het makkelijker is om een stukje van je programma apart te zetten. Daarvoor zijn functies. Bij een functie zet je de commando's in een apart stuk, meestal helemaal onderaan je programma. Vervolgens kun je de functie ergens anders in het programma aanroepen. Een voorbeeld: je wilt in je programma vaak een lijn tekenen. Dan kun je de verschillende instructies die nodig zijn in de functie met de naam tekenlijn stoppen, en vervolgens ergens anders de functie aanroepen, waarbij je tegen de functie zegt waar de lijn moet komen. Vervolgens doet de functie de rest.

Vaak bevat een programmeertaal al heel veel functies die ingebouwd zijn. Deze functies zijn altijd aanwezig, en zijn erg van belang. Zo is in elke normale programmeertaal wel een functie ingebouwd die iets op het scherm zet. Zonder deze functie zou je meteen heel moeilijk moeten gaan doen om iets op het scherm te krijgen. Met een functie gaat het heel makkelijk, je roept namelijk de functie aan en je vult in wat er op het scherm moet komen. Per programmeertaal bespreken we deze functies.

Voorwaardes

Het komt vaak voor dat je sommige instucties alleen wilt uitvoeren onder een bepaalde voorwaarde. Een voorbeeld: Je hebt een programma waar de gebruiker moet aangeven of hij/zij iets wel of niet wil. Je kunt dan in een programma eerst een instructie neerzetten die de gebruiker vraagt: "Wil je functie X inschakelen? Typ J voor ja en N voor nee." Je zet ook in de instructie dat de computer het antwoord in de variabele met de naam functiex stopt. Nadat de gebruiker dit invoerde controleer je met zo'n voorwaarde of de variabele functiex de waarde j bevat. Zo ja, dan wordt de code uitgevoerd. Zo nee, dan gaat het programma na die code verder. Je leest er meer over verderop in deze tutorial, onder de kop Booleaanse wiskunde.

Lussen

Soms zijn er stukjes van je programma die je een (on)bekend aantal keer wilt herhalen. Daarvoor zijn lussen. Lussen zorgen ervoor dat een stukje code (dat zijn dus een of meerdere instucties) net zolang wordt herhaald totdat er aan een voorwaarde (die dingen die we hierboven hebben besproken) niet meer wordt voldaan. In de meeste programmeertaal zijn verschillende soorten lussen aanwezig. Ook hier bespreken we per programmeertaal de mogelijkheden ervan.

Booleaanse logica

Een ander belangrijk onderdeel van het programmeren is booleaanse logica. Deze logica werkt met vergelijkingen en de begrippen waar en onwaar. Booleaanse logica is nodig om de computer beslissingen te laten nemen aan de hand van gegeven. Je kunt natuurlijk ook programma's maken die alleen Hallo Daar! op het scherm zetten, maar de kracht van computers zit in het verwerken van gegevens. En gegevens kun je heel snel vergelijken met booleaanse expressies.

Maar wat hebben booleaanse expressies dan met de hiervoor besproken voorwaarde te maken? Dat is heel simpel: zo'n controle wordt met behulp van een booleaanse expressie uitgevoerd. Het antwoord van een computer op zo'n vraag is namelijk altijd waar of onwaar. Aan de hand van het antwoord wordt er iets wel of juist niet gedaan.

Expressies

Waarschijnlijk zegt de term "booleaanse expressie" je helemaal niks. Kijk eens naar het volgende voorbeeld:

5 < 54

Voor het geval je het nog niet weet, het teken < betekend kleiner dan. Er staat dus in gewoon Nederlands: 5 is kleiner dan 54. Is 5 kleiner dan 54? Ja! Dat betekend dus dat de expressie waar is. Kijk ook eens naar het volgende voorbeeld:

233 > 578

Nu staat er een >-teken, wat groter dan betekend. Is 233 groter dan 578? Nee! Dat betekend dus dat de expressie onwaar is. Dit is de basis van booleaanse logica. In een computerprogramma heb je er helaas waarschijnlijk weinig aan. Kijk nu eens naar het volgende voorbeeld:

variabele > 578

Nu wordt het anders! Is variabele groter dan 578? Dat weet je niet, want de inhoud van de variabele is onbekend. Als je nu een programma maakt die om de inhoud van variabele vraagt en daarna kijkt of de expressie waar of onwaar is heb je eindelijk iets nuttigs! De computer verwerkt informatie! Als je eenmaal aan het programmeren bent geslagen zal blijken dat computers enorme hoeveelheden informatie moeten verwerken en dat dat eigenlijk het enige is waar ze goed in zijn.

Operatoren

Bij het gebruik van booleaanse expressies kun je natuurlijk alleen gebruik maken van < en >, maar gelukkig zijn er nog andere "tekens", ook wel operatoren genoemd, die gebruikt kunnen worden in booleaanse expressies. Er zijn er in totaal 6: "ene gelijk zijn aan", "niet gelijk zijn aan", "kleiner zijn dan", "groter zijn dan", "kleiner zijn of gelijk aan" of "groter zijn of gelijk aan" de andere. Hoe je zo'n operator opschrijft verschilt per programmeertaal. Gelukkig lijken ze meestal erg op elkaar. Hieronder staan de meest gebruikte. Achteraan vindt je een voorbeeld van een vergelijking die waar oplevert.

VergelijkingTeken in o.a. C++, PHP en JavascriptTeken in o.a. BASIClevert "waar" op
Is gelijk aan===5==5 (of 5=5)
Is niet gelijk aan!=<>5!=22 (of 5 <> 22)
Is kleiner dan<<5<13
Is groter dan>>13>5
Is kleiner dan of gelijk aan<=<=5<=13
Is groter dan of gelijk aan>=>=13>=5

Omdat deze tutorial taal onafhankelijk is kan ik geen goed voorbeeld geven. Die krijg je als je een bepaalde taal gaat leren.

Waar en onwaar

Als we aan het programmeren zijn hebben we het meestal niet over waar en onwaar, maar over hun Engelse vertalingen, true en false. True betekend waar en false betekend onwaar. Omdat computers graag met getallen werken wordt voor true vaak 1 gebruikt, en voor false 0. Hoe dat precies in zijn werk gaat leer je per programmeertaal apart.

In een programmeertaal kun je beslissingen nemen met booleaanse expressies heb ik zojuist proberen uit te leggen. Hoe eigenlijk? Vaak is het zo dat een stuk code alleen wordt uitgevoerd als een bepaalde expressie waar is (dat heet een voorwaarde of controle) of dat een stuk code wordt herhaald aan de hand van een expressie (een lus).

Van je code een programma maken

Als je dan straks helemaal klaar bent met het maken van een programma moet je het omzetten naar voor de computer begrijpbare instructies. Dit doe je met een compiler. Een compiler vertaald de code als het ware. We gaan hier nu niet te diep op in, dat doen we per taal apart. Het is maar dat je even weet dat het nodig is.

Dat was het...

Hopelijk ben je dolenthausiast geworden en wil je meteen aan de slag. Veel succes!