De keuze of selectie

De keuze of selectie

1. Inleiding

Vrijwel elk algoritme wordt beïnvloed door de keuzes van de gebruiker. Soms kan een keuze van een gebruiker ertoe leiden dat bepaalde delen van een programma wel of niet worden doorlopen. Dit wordt ook wel een selectie genoemd. In plaats van een algoritme stap per stap te doorlopen (= sequentie of opeenvolging), worden enkel de stappen doorlopen waarvoor de gebruiker heeft gekozen.

Een selectie bestaat steeds uit een voorwaarde, via de ALS-structuur. Deze ALS-structuur gaat steeds kijken of er aan een bepaalde voorwaarde wordt voldaan. Bijvoorbeeld: Is de gebruiker oud genoeg? Is het paswoord juist? Moeten er meerdere voorwaarden worden nagekeken, dan kan je werken met de logische operatoren, die je terug kan vinden onder de categorie functies. Indien aan alle voorwaarden moet voldaan worden gebruiken we de EN-operator. Wanneer er maar aan één van de meerdere voorwaarden voldaan moet worden, gebruiken we de OF-operator.

2. Voorbeelden

Voorbeeld 1: Het algoritme vraagt de leeftijd van de gebruiker. Als deze leeftijd minder is dan 18, krijgt hij een negatieve boodschap. Anders (dus wanneer hij/zij 18 jaar of meer is) krijgt hij de boodschap dat hij mag autorijden indien hij in het bezit is van een geldig rijbewijs.

Voorbeeld 2: Op een online webshop kan je producten kopen. De gebruiker geeft het aantal gekochte producten en het bedrag zonder korting toe. Het programma berekent de korting en het bedrag na korting. Als je 4 producten koopt, krijg je 30% korting, anders 15%. De gebruiker krijgt tot slot de korting en het bedrag met korting.

Voorbeeld 3: Wanneer je op de groene vlag klikt, dan start het programma. Het programma maakt automatisch een geluksgetal aan tussen 1 en 10. Je kan een gokje wagen door op de groene knop te klikken. Wanneer je op een knop drukt, mag je raden naar het geluksgetal. Wanneer je het getal hebt geraden, word je gefeliciteerd en de achtergrond Bingo verschijnt. Er wordt ook nog weergegeven wat het geluksgetal was. Vervolgens stopt het programma. Als het ingegeven getal foutief is, krijg je de boodschap HOGER of LAGER. Je kan dan nogmaals proberen door op de groene knop te klikken.

OPDRACHT 1: WINKELEN

Wanneer op de groene vlag wordt geklikt, worden er twee vragen gesteld.

    • Is de koelkast leeg of vol?
    • Hoeveel geld heb je nog?

Indien de koelkast leeg is EN wanneer er nog meer dan 50€ beschikbaar is, verschijnt de boodschap ‘Laten we boodschappen gaan doen!’. Indien dit niet het geval is, verschijnt de boodschap ‘We zullen nog even moeten wachten…’

Sla deze oefening op als Winkelen_VoornaamFamilienaam en plaats deze in de gedeelde Dropboxmap.

Voorbeeld eindresultaat:

OPDRACHT 2: BIOSCOOP

Bij het klikken op de groene vlag wordt er naar je leeftijd gevraagd. Wanneer je 12 jaar of ouder bent, mag je de zaal binnen. Wanneer je nog geen 12 jaar bent, verschijnt de boodschap dat je niet toegelaten wordt in de film. Pas eventueel de sprite(s) en de achtergrond aan om dit meer in het thema bioscoop te laten passen!

Uitbreiding: Voeg de sprite ‘Casey’ toe aan jouw programma. Zorg ervoor dat ‘Casey’ bij de start van het programma zijn handen niet in de lucht steekt. Dit doe je door het juiste ‘uiterlijk’ van ‘Casey’ aan te duiden. Wanneer de gebruiker aangeeft dat hij 12 jaar of ouder is, steekt ‘Casey’ één hand op en zegt hij ‘Welkom!’. Wanneer de gebruiker aangeeft dat hij jonger is dan 12 jaar, steekt ‘Casey’ beide handen in de lucht en geeft hij de boodschap dat de gebruiker niet toegelaten wordt in de film.

Sla deze oefening op als Bioscoop_VoornaamFamilienaam en plaats deze in de gedeelde Dropboxmap.

Voorbeeld eindresultaat:

OPDRACHT 3: BMI UITBREIDING

In dit project wordt na het berekenen van de BMI op basis van nodige informatie van de gebruiker (gewicht en lengte) de corresponderende persoonlijke (!) boodschap getoond aan de gebruiker. Je kan starten van het project BMI dat je reeds hebt aangemaakt in een vorige oefening.

Sla deze oefening op als BMI_Uitbreiding_VoornaamFamilienaam en plaats deze in de gedeelde Dropboxmap.

Voorbeeld eindresultaat:

Bronnen

    • https://onderwijs.vlaanderen.be/nl/zo-denkt-een-computer-programmeren-en-computationeel-denken-in-het-onderwijs
    • https://pincette.katholiekonderwijs.vlaanderen/meta/properties/dc-identifier/Cur-20170925-35
    • Algoritmisch denken: analyseren, ontwerpen, beschrijven van oplossingen en implementeren met Scratch (Katholiek Onderwijs).
    • Games programmeren met Scratch 3.0 (Kris Van Der Hoeven)
    • https://www.leer-scratch.be/ (Universiteit Hasselt)
    • https://kevinvermassen.be/scratch/
    • https://nl.scratch-wiki.info/wiki
    • https://informaticalessen.be/programmeren/de-selectie/