Ga direct naar de hoofdinhoud

Portia's puzzel

Uitdaging: In Shakespeares De koopman van Venetië had Portia drie kistjes: een van goud, een van zilver en een van lood. In een van de doodskisten bevond zich haar portret. Haar aanbidder moet de kist met het portret kiezen om Portia tot zijn bruid te kunnen opeisen. Portia heeft de volgende woorden op de kistjes geschreven en vertelt de vrijer dat van alle beweringen er waar is ( Zie de afbeelding). In deze activiteit een algoritme maken om de juiste woorden en de juistete vinden op basis van . Programmeer de VR-robot om rond te rijden op het kunstcanvas en in de speeltuin, en om op de knoppen 'Waar' en 'Onwaar' onder elke bewering te klikken om aan te geven of deze waar of onwaar is. Klik vervolgens op de knop 'Selecteren' onder de juiste kist om aan te geven dat het portret zich in die kist bevindt. Om op een knop te klikken, rijd je ernaartoe en gebruik je de pen om het gebied met kleur te vullen. 

  • Download het werkblad 'Portia's Puzzel' als een PNG-bestand van Google Slides-presentatie
  • Selecteer de Art Canvas+ Playground en upload het werkblad 'Portia's Puzzle'.
  • Ontwerp een algoritme om de juiste bewering en de bijbehorende kist te vinden op basis van aanwijzingen.
    • Gebruik een getal om een ​​doodskist aan te duiden.  Gebruik variabelen om de getallen op te slaan.
    • Gebruik een variabele om de kist met het portret weer te geven. 
    • Stel de waarde van de variabele die de kist met het portret voorstelt in op een van de drie getallen die de kisten vertegenwoordigen. 
    • Gebruik de vergelijkings- en logische operatoren om elke bewering uit te drukken en geef aan of deze waar of onwaar is. Gebruik een variabele om de gerapporteerde waarde op te slaan (waar is 1, onwaar is 0).
    • Controleer hoeveel beweringen waar zijn. Als slechts één bewering waar is, is dit de juiste kist; anders, stel de waarde van de variabele die de kist met het portret vertegenwoordigt in op een getal dat een andere kist vertegenwoordigt. Herhaal de handelingen totdat het programma de juiste kist vindt.
  • Programmeer de VR-robot om naar de knop 'Waar' of 'Onwaar onder elke bewering te rijden. Gebruik de VR-pen om het gebied van de 'Waar'-knop groen te kleuren als de bewering waar is, anders kleur  het gebied van de 'Onwaar'-knop rood.
  • Programmeer de VR-robot om naar de selectieknop onder de juiste kist te rijden en gebruik de VR-pen om deze met dezelfde kleur als de kist te vullen om aan te geven dat het portret zich in deze kist bevindt.
  • Gebruik het [print]-blok om de naam van de juiste kist en de bewering 'True' naar de printconsole te printen.

Handige tips

  • Gebruik het vergelijkingsoperatorblok Gelijk aan uit de categorie Operators om te controleren of het portret zich in een kist bevindt.

    VEXcode gelijk aan blok dat twee aangepaste variabele blokken vergelijkt die lezen 'PortraitCasket = GoldCasket'.

    • Overeenkomend Python-commando:

      Portretkist == Goudenkist
  • Gebruik het logische operatorblok Niet  uit de categorie Operators om te melden of het portret zich niet in een kist bevindt.

    VEXcode Not-blok met daarin een Equal to-blok dat twee aangepaste variabele blokken vergelijkt, die samen 'lezen, niet PortraitCasket = SilverCasket'.

    • Overeenkomend Python-commando:

      niet Portretkist == Zilverenkist
  • Gebruik het if then else if then else blok uit de categorie Besturing om de VR-robot te programmeren om diverse gedragingen uit te voeren op basis van de voorwaarden van de instructies.

    Een leeg VEXcode If then else-blok dat eenmaal is uitgebreid en de volgende inhoud heeft: 'if then, else if then, else'.

    • Overeenkomend Python-commando:

      Als voorwaarde:
      	geef
      door; als voorwaarde:
      	geef
      door; anders: geef
      	door.