Een controlestructuur in de informatica is een manier om de volgorde te bepalen waarin instructies of statements in een computerprogramma worden uitgevoerd. Het stelt de programmeur in staat om de volgorde van instructies van het programma te beïnvloeden.

Controlestructuren

Je kan drie soorten controlestructeren onderscheiden:

  • sequentie;
  • selectie;
  • herhaling.

Controlestructuren maken het mogelijk om de stroom van het programma te beïnvloeden:

Controlestructuren helpen je om instructies die het programma moet uitvoeren op een efficiënte en leesbare manier te programmeren.

Sequentie

Sequentie

Een sequentie is een reeks van instructies of statements die in een specifieke volgorde worden uitgevoerd, de één na de ander.

Hoe vaak je het programma ook gebruikt, wat de invoerwaarden van de gebruiker of berekende waarden van het programma ook zijn, de instructies worden steeds in dezelfde volgorde uitgevoerd. Schematisch stelt men de sequentie als volgt voor:

Sequentie

Hieronder vind je de vertaling van dit schema naar pseudocode.

python statement
python statement
python statement

Pseudocode

Pseudocode is een manier om een programma te beschrijven in een gestructureerde, menselijk leesbare vorm, zonder de syntaxis van een specifieke programmeertaal te gebruiken

Alle programma’s die je tot nu toe geprogrammeerd hebt, zijn voorbeelden van sequenties van statements. Een ander voorbeeld van zo een programma waarin enkel de sequentie voorkomt vind je in het volgende codefragment:

leeftijd = int(input("Geef je leeftijd: "))
aantal = int(input("Hoe groot is vriendengroep? "))
ticketprijs = 7.50

totale_prijs = ticketprijs * aantal

print(f"De toegangsprijs voor de groep van {aantal} vrienden bedraagt € {totale_prijs}.")

In het bovenstaande codefragment is de ticketprijs steeds € 7,50. Maar wat als je dit programma wil gebruiken voor een festival? Of een pretpark? Dan is de prijs bv. afhankelijk van de leeftijd of de grootte van de groep. Het kan dus best zijn dat de ticketprijs € 7,50 is. Maar misschien is de groep vrienden jonger dan 12 en kosten tickets dan minder.

In zo een geval moet het mogelijk zijn om verschillende instructies uit te voeren, afhankelijk van de invoer van het programma of berekeningen die tijdens de uitvoering van het programma reeds gemaakt werden.

Selectie

Selectie maakt het mogelijk om beslissingen te nemen binnen een programma. Dit gebeurt op basis van een conditie of voorwaarde. Het resultaat van de conditie of voorwaarde bepaalt welk pad het programma zal volgen.

Enkelvoudige selectie

In het onderstaande schema wordt een zijsprong gemaakt, bv. wanneer de groep groot genoeg is om een korting te krijgen.

Enkelvoudige selectie

Afhankelijk van het resultaat van de conditie of voorwaarde, wordt de zijsprong uitgevoerd.

Booleaanse expressie

Een conditie of voorwaarde wordt ook een booleaanse expressie genoemd. Een booleaanse expressie levert steeds een waarheidswaarde op. Men zegt dat een booleaanse expressie naar True of False evalueert.

Tijdens de uitvoering van het programma wordt zo een booleaanse expressie dan geëvalueerd. Afhankelijk van de waarde voert het programma dan de bijhorende instructies of statements uit.

Nadat de eventuele zijsprong uitgevoerd werd, voert Python de statements onder de selectie uit.

Hieronder vind je de vertaling van dit schema naar pseudocode.

if booleaanse expressie:
    python statement
    python statement
    python statement

python statement
python statement

Let op, alle statements die uitgevoerd moeten worden als de booleaanse expressie naar True evalueert, laat je in Python 1 tab of 4 spaties inspringen (indenteren) naar rechts.

Indentatie

Indentatie staat voor het inspringen van code om de structuur van het programma te visualiseren. In andere programmeertalen gebruikt men bv. accolades om code die bij elkaar hoort te visualiseren.

Tweevoudige selectie

Stel nu dat de ticketprijs afhankelijk is van de leeftijd. Als je ouder bent dan 12 jaar betaal je € 7,50 is. In het andere geval betaal je € 5,00.

In het onderstaande schema wordt altijd een zijsprong gemaakt: bv. de rechter zijsprong indien de vriendengroep ouder is dan 12 jaar en de linker zijsprong indien de vriendgroep hoogstens 12 jaar is.

Tweevoudige selectie

Tijdens de uitvoering van het programma wordt de booleaanse expressie geëvalueerd, waarna het programma de correcte stroom van statements uitvoert.

Nadat één van beide zijsprongen uitgevoerd werd, voert Python de statements onder de selectie uit.

Hieronder vind je opnieuw de vertaling van dit schema naar pseudocode .

if booleaanse expressie:
    python statement
    python statement
    python statement
else:
    python statement
    python statement
    python statement

python statement
python statement

Tweevoudige selectie

Tweevoudige selectie, ook wel bekend als een if-else-statement, is een controlestructuur die toestaat dat een programma twee verschillende codeblokken uitvoert, afhankelijk of een bepaalde voorwaarde of booleaanse expressie naar True of False evalueert.

  • Het ene codeblok wordt uitgevoerd als de booleaanse expressie naar True evalueert.
  • Het andere codeblok wordt uitgevoerd als de booleaanse expressie naarFalse evalueert.

Merk opnieuw de indentatie op. Zo worden het if-blok en else-blok mooi gevisualiseerd.