Meer informatie over if-else

Stappen in de Systematische Probleem Aanpak

1. Doel

Bepaal de reden voor het gebruik van een if-else-structuur. Bijvoorbeeld: Het programma moet beslissingen kunnen nemen op basis van invoer of andere data.

2. Subdoelen

Splits het probleem in subdoelen, zoals:

  • Het vaststellen van de conditie(s) die getoetst moet worden.
  • Het formuleren van de actie(s) die gedaan moeten worden op basis van de conditie(s).

Tip

Het vaststellen van de condities en acties kan je erg eenvoudig inventariseren door er een tabel van te maken. In de linker kolom zet je dan de conditie en in de rechter kolom de actie die bij de conditie hoort.

Casus

Gegeven is de volgende tekst: Als de leeftijd van een persoon 65 jaar of ouder is, moet er een seniorenkorting worden toegepast. Als de leeftijd van een persoon jonger is dan 18 jaar en er geen speciale status is, moet de toegang worden geweigerd. Voor personen van 18 jaar en ouder, maar jonger dan 65 jaar, of met een speciale status, moet de toegang worden verleend.

Zet deze tekst om in een tabel:

ConditieActie
Als leeftijd >= 65Seniorenkorting toepassen
Als leeftijd < 18 en geen speciale statusToegang weigeren
Als leeftijd >= 18 en < 65 of speciale statusToegang verlenen

3. Fasen

  1. Parameters/Variabelen Identificeren
    Actie: Identificeer de parameters of variabelen waarop de if-else-structuur zal controleren.
    Resultaat: Gedefinieerde variabele(n) zoals leeftijd of specialeStatus.

  2. Waardes Analyseren
    Actie: Bepaal de mogelijke waarden die de variabelen kunnen aannemen en waarop de condities gebaseerd moeten worden.
    Resultaat: Een lijst van mogelijke waarden, zoals leeftijden (bijv. 65+ voor senioren, 18+ voor volwassenen).

  3. Condities Analyseren
    Actie: Identificeer de condities waarop beslissingen moeten worden gebaseerd.
    Resultaat: Overzicht van condities, zoals “leeftijd >= 18” of “isStudent”.

  4. Acties per Conditie Bepalen
    Actie: Specificeer welke actie het programma moet uitvoeren als een bepaalde conditie waar is, en welke actie indien onwaar.
    Resultaat: Acties gekoppeld aan condities.

  5. Bouw de if-else-structuur in Code
    Actie: Implementeer de if-else-structuur op basis van de eerder bepaalde condities en acties.
    Resultaat: Een volledige if-else-structuur met logische condities en bijbehorende acties.

  6. Test en Valideer
    Actie: Test de if-else-structuur met verschillende invoerwaarden om te verifiëren dat de structuur correct werkt.
    Resultaat: Een gevalideerde if-else-structuur die gewenste uitkomsten levert.

Correctieve feedback tijdens de uitvoer

Fouten detecteren

Bij een foutmelding, zoals een onverwachte uitkomst, herken je de fout door te kijken naar de specifieke conditie die mogelijk onjuist is gedefinieerd.

  • Fout in logica: Als een conditie niet correct werkt, controleer of de operatoren de juiste relatie tussen voorwaarden aangeven. Bijvoorbeeld, verander && naar || als dat nodig is.
  • Fout in syntax: Zorg ervoor dat alle haakjes correct zijn geplaatst om de volgorde van evaluatie te waarborgen. Gebruik bijvoorbeeld ((conditie1 && conditie2) || conditie3) voor duidelijkheid.

Tip

Bij het testen en valideren is het belangrijk om zowel verwachte als onverwachte input te proberen, zodat eventuele fouten in de if-else-logica tijdig gedetecteerd kunnen worden.

Tips voor efficiënt gebruik van if-else-structuren

  • Vermijd overmatige if-else-structuren door te overwegen of else if-clausules of switch-cases effectiever zijn.
  • Gebruik haakjes om complexe logica duidelijk te structureren, wat bijdraagt aan de leesbaarheid.
  • Test met flowcharts voor overzicht bij meerdere if-else regels, zoals:
flowchart TD
    A[Start] --> B[Leeftijd controleren en studentstatus checken]
    B --> C{Is leeftijd >= 65?}
    C -- Ja --> D[Seniorenkorting toepassen]
    C -- Nee --> E{Is leeftijd tussen 18 en 65 \n en is de gebruiker een student?}
    E -- Ja --> F[Toegang verlenen tot content]
    E -- Nee --> G[Toegang weigeren. Leeftijdsrestrictie \n of geen speciale status]
    D --> H[Programma verder uitvoeren]
    F --> H
    G --> H
    H --> I[Stop]

Volgende stap: Oefeningen if-else