Skip to content

Algoritmes

Als software developer los je problemen op met code. Dat wil je zo efficiënt mogelijk doen. Om te leren hoe je dat in de basis doet focussen we ons eerst op eenvoudige problemen. Voorbeelden hiervan zijn:

  • Hoe bereken je de oppervlakte van een rechthoek?
  • Hoe vind je het grootste getal in een gegeven set van drie getallen?
  • Wat is de gemiddelde leeftijd van studenten in mijn klas?
  • Hoe verdeel ik de kosten van een etentje onder mijn vriendengroep?

Een dergelijk probleem oplossen doe je door het op te delen in een aantal logische stappen en dit om te zetten naar een set instructies. Dit noemen we een algoritme. Als je programmeert heb je veel te maken met algoritmes.

Een eenvoudig probleem oplossen met een algoritme

Laten we een eenvoudig probleem opdelen in een stappenplan.

Stel dat je de oppervlakte van een rechthoekige tafel in je woonkamer wilt berekenen in vierkante meters: \(m^2\). Feitelijk wil je dan de oppervlakte van een rechthoek berekenen.

Om de oppervlakte \(O_r\) van een rechthoek te berekenen dien je de lengte \(L_r\) en de breedte \(B_r\) van die rechthoek met elkaar te vermenigvuldigen. Als wiskundige formule ziet dit er als volgt uit:

Oppervlakte rechthoek = Lengte rechthoek x Breedte rechthoek

of korter genoteerd:

\[ O_r = L_r \times B_r \]

We gaan er in dit voorbeeld van uit dat je de lengte en de breedte van het tafelblad al weet, omdat je deze bijvoorbeeld al hebt gemeten. Welke stappen moet je nu nemen om de oppervlakte van het rechthoekige tafelblad te bepalen?

  1. De lengte van het tafelblad in centimeters noteren.
  2. De breedte van het tafelblad in centimeters noteren.
  3. De oppervlakte van het tafelblad in vierkante centimeters (\(cm^2\)) uitrekenen volgens in de bovenstaande formule.

Omdat je de oppervlakte van het tafelblad in \(cm^2\) hebt genoteerd en je de uiteindelijke oppervlakte wilt berekenen in \(m^2\) moet je dit nog omrekenen. Dit doe je door in de vierde stap de oppervlakte in \(cm^2\) te delen door \(10000\) (tienduizend):

  1. Oppervlakte in \(cm^2\) omzetten naar \(m^2\) volgens de formule:
\[O_r(m^2) = {O_r(cm^2)\over10000}\]

Dit is de laatste stap. Het probleem is opgedeeld in 4 korte stappen, die je nu eenvoudig om kunt zetten naar code.

In TypeScript kan dit er bijvoorbeeld als volgt uit zien:

  // Stap 1 en 2: lengte en breedte van rechthoek in centimeters opslaan
  let rectangleLengthCM : number = 120;
  let rectangleWidthCM : number = 80;

  // Stap 3: Oppervlakte rechthoek in cm^2 berekenen en opslaan
  let rectangleAreaCM2 : number = rectangleLengthCM * rectangleWidthCM;

  // Omrekenfactor opslaan in constante
  const conversionCM2ToM2 : number = 10000; // Omrekenfactor van cm^2 naar m^2

  // Stap 4: oppervlakte rechthoek in m^2 berekenen en opslaan
  let rectangleAreaM2 = rectangleAreaCM2 / conversionCM2ToM2; 

Dit is een eenvoudig voorbeeld. Later in de opleiding leer je lastiger problemen op te lossen en om te zetten naar een algoritme. Bijvoorbeeld hoe je specifieke data op een snelle manier kunt sorteren.

Aanvullende bronnen

In het volgende korte filmpje wordt op eenvoudige wijze uitgelegd wat een algoritme is op basis van een voorbeeld dat we allemaal kennen: het zetten van koffie.

Let op

Via de link hierboven kom je op het platform LinkedIn Learning terecht. Hier kun je als student van de HvA op inloggen. Hoe je dat doet, lees je hier: LinkedIn Learning.

Het volgende korte filmpje is ook leuk om te bekijken:

Let op

Om onderstaand filmpje te bekijken hoef je geen account aan te maken op de website van Khan Academy!

What are algorithms?