Taal modeleren: Meervoudsvormen, deel 2

We gaan meervoud bewerken zodat het correct werkt met meer woorden. Als het project nog niet geopend is, laad het dan opnieuw. De projectnaam is als het goed is H2-Meervoud.


  1. Abstractie: Maak een blok dat gespecialiseerd is in één categorie: woorden die eindigen op de letter 'h'.
    • Begin met een lijst van de woorden waarvoor je wilt dat het werkt.
    • Dit gespecialiseerde blok zou moeten werken voor alle woorden die binnen zijn specialiteit passen. , , ,

      (En het mag er helemaal naast zitten voor woorden die niet binnen deze specialiteit passen.)

    • Test met een verschillende woorden om zeker te weten dat het werkt zoals je wilt. Gebruik daarna map om op de hele lijst te testen op de hele lijst die je eerder hebt gemaakt.
  2. Abstractie: Taal kent veel uitzonderingen. In het Engels eindigen de meervoudsvormen van sommige woorden op -s, sommige op -es en woorden zoals calf en fly worden calves en flies, waarbij hun laatste letter verandert voordat -es wordt toegevoegd.

    Zo zijn er nog veel meer uitzonderingen. Voor een programmeertaak zo complex als deze, is het vaak een goed idee om het probleem te splitsen in delen. We maken voor ieder deelprobleem een eigen procedure, in een gespecialiseerd blok. Een 'top-level'-blok erboven maakt dan gebruik van alle gespecialiseerde blokken.

    In dit geval is het top-level-blok meervoud. In plaats van iedere uitzondering direct in het blok in te bouwen, is het netter en overzichtelijker om het meervoudblok er ongeveer zo uit te laten zien:



    Het tonen van de structuur van een methode, alleen de algemene strategie, in het top-level-blok en de details overlaten aan aparte blokken, is deel van het belangrijke informatica-idee dat abstractie heet. In Hoofdstuk 2 Les 4, pagina 3 Bakstenen had je al eerder even kennis gemaakt met het begrip abstractie. Abstractie houdt je code overzichtelijk, leesbaar en makkelijker te debuggen. Het maakt je code ook flexibeler.


  3. Als je je nieuwe gespecialiseerde blok vertrouwt, voeg het dan toe aan het meervoud. Test of meervoud zowel werkt voor de nieuwe, als voor de oude woorden. Je kan voor het testen map gebruiken.
  4. Maak een meervoud-yblok om woorden zoals
    en aan te kunnen.

  5. Onthoud dat een specialist fouten maakt als hij een taak krijgt waarin hij niet gespecialiseerd is.

    Zorg dat meervoud alleen taken geeft aan meervoud-y die het aankan.






 
  1. Omdat je weet wat dit blok doet:

    Geen Afbeelding

    kan je alleen de gespecialiseerde lijst als invoer gebruiken om meervoud of meervoud-h te testen. Doe het op deze manier:

    Geen Afbeelding

  2. Breid meervoud uit, om met nog een uitzondering om te gaan. Je mag zelf bedenken welke. Gebruik een nieuw gespecialiseerd blok voor deze uitzondering zodat meervoud netjes blijft.

  3. Als meervoud een woord te verwerken krijgt met een spatie aan het einde, blijft die spatie staan in de meervoudsvorm: .
    Zoek een manier om dit netjes op te lossen: .

    Je hebt al een blok dat gespecialiseerd is in meervoudsvormen van woorden die niet op een spatie eindigen. Gebruik dat.

  4. Verrassing! Als meervoud eenmaal correct werkt met een enkele spatie op het eind, probeer dan eens in te voeren. Werkt dat ook meteen? Waarom wel of niet?



TerugVolgende