Elke dag zijn er meerdere situaties waarbij we een probleem moeten oplossen. In de meeste gevallen is dit een klein probleem waar we niet over moeten nadenken of een probleem waarvoor we de oplossing reeds weten. Bijvoorbeeld:
Wat is de kortste weg naar school?
Hoe stuur ik een bericht met mijn gsm?
Wanneer we een nieuw en/of groter probleem tegenkomen, overlopen we verschillende denkpistes om tot een gewenst resultaat te komen. De weg om van een probleemstelling tot een oplossing te komen, noemen we een algoritme. Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leiden.
Voorbeelden
In een doos Lego zitten er heel wat losse stukjes. Het probleem is heel eenvoudig: “Hoe maken we met deze losse stukken dezelfde constructie als op de doos? Hiervoor gebruiken we de handleiding, een reeks van instructies die ons naar het gewenste resultaat
begeleid.
Wanneer je een nieuwe gsm aankoopt, heb je steeds een handleiding (al dan niet op internet) om je te helpen probleemsituaties om te zetten in oplossingen, bv.:
Hoe wis je alle berichten?
Hoe bewaar ik een contactpersoon
Wanneer je zelf iets wil koken, kan je best gebruik maken van een recept. Hier wordt immers stap voor stap uitgelegd hoe je van je beginsituatie tot een lekker gerecht komt.
Algoritme vs. programma
Elk computerprogramma is eigenlijk één groot algoritme, maar dan omgezet in een programmeertaal. Omdat het algoritme van een programma iets te ingewikkeld is voor de programmeur om zo maar te programmeren, deelt hij het algoritme op in kleinere deelalgoritmen. Al deze verschillende deelalgoritmen worden vervolgens geprogrammeerd in een programmeertaal en samengevoegd tot één programma.
Enkele voorbeelden van programmeertalen zijn:
javascript
java
php
Stappen naar succes
Wanneer we een programma willen schrijven, zullen we steeds eerst het algoritme uitwerken. We willen namelijk niet in het wilde weg beginnen programmeren. De verschillende stappen die we nodig hebben om tot een algoritme en vervolgens het programma te komen zijn als volgt:
Probleemstelling: Wat is het probleem? Wat willen we als resultaat?
Probleemanalyse:
Welke gegevens worden er ingevoerd door de gebruiker? (bv. een geboortedatum, de straal van een cirkel, …)
Welke verwerking moet er gebeuren? (bv. Wat is de formule om de oppervlakte van een cirkel te berekenen?)
Wat moet er uitgevoerd/getoond worden (bv. de leeftijd van de gebruiker, de oppervlakte van de cirkel, …)
Algoritme uitschrijven:
Controleer of het probleem moet opgesplitst worden in deelproblemen.
Maak voor elk deelprobleem een schema waarin alle stappen van begin tot einde zijn opgenomen.
Het programma: Zet je algoritme om in een programma. We schrijven het programma (of de code) in een programmeertaal.
Testfase: Controleer of je programma werkt door dit op verschillende manieren te testen.
Documenteren: De code van een programma kan vrij ingewikkeld worden. Om er voor te zorgen dat jij of andere mensen hier later nog aan uit kunnen voorzie je je code van commentaar.