Skip to main content

Besluitvorming - C++

Icoon Toolbox voor docenten Toolbox voor leerkrachten - Het doel van deze lezing

In dit STEM-lab ligt de nadruk op het programmeren van de robot, zodat deze reageert op de omstandigheden die hij detecteert. Deze eerste lezing is bedoeld om het idee van voorwaardelijke opdrachten, Booleaanse (WAAR of ONWAAR) voorwaarden en het voordeel van het opnemen van deze programmeerstructuren in een project te introduceren. Studenten moeten gaan inzien dat het toevoegen van voorwaardelijke programmering de manier verbetert waarop de robot reageert op zijn omgeving.
Als je naar een robot kijkt, lijkt het misschien alsof deze beslissingen neemt over zijn eigen gedrag, maar binnen de programmering controleert de robot de omstandigheden en onderneemt hij op basis daarvan actie. Studenten kunnen bedenken hoe omstandigheden hun eigen weloverwogen beslissingen beïnvloeden.
 

Te nemen beslissing:Moet ik een paraplu meenemen?
Huidige conditie:Het zal waarschijnlijk regenen (WAAR).
Beslissing:Neem een paraplu mee.

Een persoon die bij een splitsing in de weg staat met twee pijlen op de grond geschilderd. De pijl naar links, gelabeld als ONWAAR, wijst naar links, terwijl de pijl naar rechts, gelabeld als WAAR, naar rechts wijst. De persoon bevindt zich op het kruispunt van de twee paden.
WARE en VALSE PADEN

Besluitvorming

Op hun meest basale niveau zijn programma's geschreven om eenvoudige gedragsreeksen te bereiken. Je wilt bijvoorbeeld dat je robot vooruit rijdt en ook enkele bochten maakt om een bestemming te bereiken. Maar wat als je wilt dat je robot op het juiste moment wacht om vooruit te rijden en zijn route te voltooien? Dat zou programmering met voorwaardelijke stellingen vereisen. U zou een voorwaardelijke verklaring gebruiken om te definiëren wat het "juiste moment om te beginnen" is binnen uw project. Misschien is het "juiste moment" nadat een knop is ingedrukt of wanneer een sensor een specifiek niveau detecteert en dan begint te rijden. Wanneer u het gedrag van de robot observeert, lijkt het alsof hij zelf bepaalt wanneer hij moet gaan rijden. Dit komt echter doordat u zelf de voorwaarde hebt ingesteld voor wanneer het rijden moet beginnen.

Voorwaardelijke statements zijn krachtige programmeerstatements die gebruikmaken van een Booleaanse voorwaarde (TRUE of FALSE). Met behulp van hetzelfde voorbeeldscenario als hierboven, kunt u uw robot programmeren om herhaaldelijk te controleren of het hersenscherm wordt ingedrukt en vooruit te rijden wanneer dat het geval is. De voorwaardelijke verklaring in dat project kan iets vergelijkbaars lezen als: "Als het scherm detecteert dat het wordt ingedrukt (WAAR), voer dan de rijsequentie uit." Deze verklaring vermeldt geen gedrag als de voorwaarde ONWAAR is (het scherm is, nietingedrukt). De robot onderneemt dus geen actie als de voorwaarde ONWAAR is. Met voorwaardelijke verklaringen kun je projecten ontwikkelen waarbij de robot zich anders gedraagt, afhankelijk van wat hij voelt. Voor meer informatie over Booleaanse logica, klik hier.

In het volgende voorbeeld zal de robot vooruit rijden als het scherm van de hersenen wordt ingedrukt (WAAR). Als het scherm van de hersenen niet wordt ingedrukt (FALSE), stopt de robot met rijden. Dit laat zien dat de robot alleen vooruit rijdt als het scherm van de hersenen wordt ingedrukt, anders stopt de robot.

// Begin met projectcode
int main() {
  // Initialiseren van robotconfiguratie. NIET VERWIJDEREN!
  vexcodeInit();

  while (true) {
    if (Brain.Screen.pressing()) {
      Drivetrain.drive(forward);
    }
    else {
      Drivetrain.stop();
    }    
  }  
} 

 

Tips voor leraren-pictogram Tips voor docenten - Automatisch aanvullen gebruiken

Autocomplete is een functie in VEXcode V5 die de rest van de opdracht die u typt voorspelt. Terwijl studenten met VEXcode V5 werken, moedig je ze aan om de functie Automatisch aanvullen te gebruiken als hulp bij desyntaxis. Zodra u begint met typen, ziet u mogelijk een functie voor automatisch aanvullen. Gebruik de toetsen ‘Omhoog’ en ‘Omlaag’ om de gewenste naam te selecteren en druk vervolgens op ‘Tab’ of (Enter/Return) op uw toetsenbord om uw selectie te maken. Voor meer informatie over deze functie, zie deC++artikelen.

VEXcode V5-werkruimte met het begin van de Drivetrain-opdracht getypt en een scrolbaar menu met de opties voor automatisch aanvullen voor het volgende deel van de opdracht.

Breid uw leerproces uit-pictogram Breid uw leerproces uit

U kunt deze activiteit uitbreiden door uw leerlingen in tweetallen te laten werken en een doolhof te schetsen, die een ander team vervolgens kan voltooien. Het doolhof moet minimaal drie tot vijf voorwaardelijke uitspraken bevatten. Ga bijvoorbeeld door tot je een muur tegenkomt. Ga dan linksaf. De leerlingen moeten de oplossing van het doolhof in de vorm van een stroomdiagram opschrijven. Vervolgens moeten de leerlingen van doolhof ruilen met een ander team, dat op zijn beurt een oplossing voor het doolhof in de vorm van een stroomdiagram moet maken. Vervolgens moeten de twee teams hun antwoorden vergelijken om te zien hoe dicht ze bij elkaar liggen.

Om deze activiteit te relateren aan online of mobiele games, vraag je je leerlingen om het doel van hun favoriete game/app te beschrijven. Laat de leerlingen vervolgens een stroomdiagram maken waarin de eerste tien ja/nee- of waar/onwaar-beslissingen staan die ze in hun spel volgen.