Je eerste eigen programma's: de voorbereiding

Home / Programmeren / Pseudocode

Als je alle tutorials gevolgd en gesnapt hebt kun je programmeren. Het enige probleem is dat het programmeren (tenminste, dat vind ik) helemaal niet het moeilijkste is van het maken van een programma. Het is veel moeilijker om te bedenken hoe je een computer iets moet laten doen. Dat is op zich ook programmeren, maar die stappen kun je bedenken zelfs zonder dat er een computer aan te pas komt. Het is daarom belangrijk dat je leert te denken in stukjes: wat moet er eerst gebeuren en hoe, wat gebeurd er met de gegevens die daaruit komen, en hoe, en waar gaat de uitvoer heen?

Pseudocode

Ik kan me goed voorstellen dat het moeilijk is om in zulke blokjes te denken. Maak je geen zorgen, dat komt vanzelf. Om de overstap te vereenvoudigen gaan we pseudocode schrijven. Dat is een reeks stappen die een programma moet doen, maar dan in gewone mensentaal. Stel dat je een automatische tankstation-computer moet programmeren. De pseudocode ziet er dan als volgt uit:

  1. Laat de gebruiker zijn pinpas en pincode invoeren en controleer deze
  2. Laat de gebruiker de gewenste hoeveelheid brandstof tanken
  3. Haal het geld van de rekening van de gebruiker
  4. Wens de gebruiker een prettige dag

We hebben nu een "programma", maar de computer zou hier niets van snappen. Het is handig om deze instructies nog verder op te splitsen:

  1. Laat de gebruiker zijn pinpas en pincode invoeren en controleer deze
    1. Vraag om de pinpas
    2. Controleer of de pinpas er goed inzit en of deze te gebruiken is
    3. Vraag om de pincode
    4. Stuur de pasgegevens en de pincode naar de bank en wacht op bevestiging
  2. Laat de gebruiker de gewenste hoeveelheid brandstof tanken
    1. Houd in de gaten welke brandstof de gebruiker tankt en hoeveel
    2. Laat steeds de hoeveelheid brandstof en het bedrag zien
    3. Doe dit totdat de gebruiker op het 'Klaar' knopje klikt
  3. Haal het geld van de rekening van de gebruiker
    1. Stuur een aanvraag naar de bank om het geld van de rekening te halen
    2. Print een bonnetje voor de gebruiker waarop staat dat hij heeft betaald
  4. Wens de gebruiker een prettige dag

Dat is al een stuk beter. Deze opdrachten zijn veel eenvoudiger te vertalen naar commando's dan de eerste versie. De stap van pseudocode naar echte code zou nu veel minder groot moeten zijn.

Overigens moet opgemerkt worden dat dit programma dat hierboven staat wel geprogrammeerd kan worden in onder andere C, C++, Java, Python, Perl en de andere "moeilijkere" talen. In BASIC zou dit in geen geval kunnen, omdat er geen commando's zijn om bijvoorbeeld de brandstofmeter, de pinpas-invoer en het beeldscherm te regelen. Dat laat meteen ook zien waarin de kracht van BASIC zit: je kunt ermee leren, het is een opstapje, maar geen volwaardige programmeertaal.