# Een probleem in kleine stappen verdelen [Programmeergidsen](LEESMIJ.md) ‘Maak een quiz’ klinkt als één taak, maar bestaat uit kleinere taken. Een groot probleem opdelen heet **decompositie**. Zo kun je aan één onderdeel werken zonder het hele project in je hoofd te houden. ## Bouw het als een model Bij een modelhuis bouw je misschien de muren, het dak en de deur apart. Bij een quiz zijn de vraag, het antwoord, de controle en de score handige onderdelen. Teken vier vakjes op papier en verbind ze in die volgorde. Begin met één vraag. Een menu, muziek en tien moeilijkheidsniveaus kunnen wachten totdat de eenvoudige quiz werkt. Kleine taken maken het ook makkelijker om te ontdekken waar een bug zit. ## Een quiz met één vraag Dit voorbeeld heeft een uitvoeromgeving nodig die tekstvragen ondersteunt. Voer `4` in wanneer het programma daarom vraagt. ```pliro # taal: nl laat score = 0 laat antwoord = vraag("Hoeveel is 2 + 2?") als antwoord == "4": zet score = score + 1 zeg "Goed!" anders: zeg "Probeer het de volgende keer opnieuw." zeg "Score:", score ``` De eerste twee opdrachten maken de score en halen een antwoord op. `als` bepaalt welk bericht verschijnt. Tot slot toont het programma de score. `vraag` geeft tekst terug. Daarom vergelijkt dit voorbeeld het antwoord met de tekst `"4"`. ## Voorspel en probeer Wat moet er gebeuren bij het antwoord `4`? En bij `5`? Bij `4` verschijnt: ```text Goed! Score: 1 ``` Bij `5` krijg je nul punten en het andere bericht. Controleer beide mogelijkheden. Met één goed antwoord heb je nog niet de hele quiz getest. ## Jouw uitdaging Schrijf een tweede vraag op papier. Bepaal eerst de vraag, het verwachte antwoord, het bericht en de puntenregel. Voeg daarna pas code toe. Test de eerste vraag opnieuw nadat je de tweede hebt toegevoegd. ## Een veelgemaakte fout Veel nieuwe onderdelen tegelijk toevoegen maakt fouten lastiger te vinden. Werkt de quiz wel, maar de nieuwe muziek niet? Bewaar dan de werkende quiz en onderzoek het geluid apart. Later kun je met [functies](../syntaxis/functie.md) herbruikbare onderdelen een eigen naam geven. ## Verder leren [Een project plannen](project-plannen.md) · [Invoer en uitvoer](invoer-verwerking-en-uitvoer.md) · [Bugs opsporen](bugs-opsporen.md)