Skip to main content

Programmeerlussen - Blokkengebaseerd

Tips voor leraren-pictogram Tips voor leraren - Doel van deze activiteit

Het programmeren van repetitief gedrag kan worden bereikt door gebruik te maken van herhaal- of voor altijd-lussen. Kort gezegd, met herhaalblokken kan de programmeur een specifiek aantal keren instellen dat de blokken in de lus moeten worden herhaald. Het blok forever herhaalt de blokken in de lus voor altijd, of totdat het project wordt gestopt. In deze activiteit leren leerlingen over beide.

Voor meer informatie over programmeren met, herhaalofvoor altijd,lussen, ga naar dehelpinformatiein VEXcode V5.

Hieronder volgt een overzicht van wat de leerlingen tijdens deze activiteit gaan doen:

  • Bekijk de instructievideoLoopsgebruiken.

  • Bekijk het voorbeeldproject Herhalende acties (geen gyro).

  • Vergelijk en contrasteer tussen forever- en repeat-blokken.

  • Voltooi de Squared Loops Challenge, waarbij leerlingen de Clawbot in een vierkant moeten bewegen en de klauw en arm moeten activeren vóór elke beurt.

De V5 Clawbot is klaar voor gebruik!

U kunt de Help-informatie in VEXcode V5 gebruiken om meer te weten te komen over de blokken. Raadpleeg de zelfstudie Help gebruiken voor hulp bij het gebruik van de Help-functie.

Tips voor leraren-pictogram Tips voor leraren

Als dit de eerste keer is dat de student VEXcode V5 gebruikt, kan hij/zij ook de tutorials in de werkbalk bekijken om andere basisvaardigheden te leren.

Benodigde materialen:
Aantal Benodigde materialen
1

VEX V5 Classroom Starter Kit (met up-to-date firmware)

1

VEXcode V5 (nieuwste versie, Windows, MacOS, Chromebook)

1

Technisch notitieboekje

1

Lussen gebruiken (zelfstudie)

1

Voorbeeldproject Herhalende acties (geen gyroscoop)
 

Stap 1: Laten we beginnen met programmeren met lussen.

  • Begin met het bekijken van de instructievideoUsing Loops.

  • Open het voorbeeldprojectHerhalende acties (geen gyro).

    Herhalende acties (geen gyroscoop) sjabloonpictogram, dat illustreert welk sjabloonproject voor deze activiteit moet worden geselecteerd.

  • Bekijk het geopende voorbeeldproject.

    Voorbeeld project in de VEXcode V5 Workspace. Aan de linkerkant heeft het project een When Started-blok met een Repeat-blok bevestigd, ingesteld om 4 keer te herhalen. Binnen de lus bevindt zich een Drive For-blok dat 300 mm naar voren is ingesteld en een Turn For-blok dat 90 graden naar rechts is ingesteld. Aan de rechterkant staat 'Dit programma drijft een robot in een vierkant van 300x300mm door de aandrijving naar voren te herhalen en commando's 4 keer te draaien'.

Doe het volgende in je technische notitieblok.

  1. Voorspel wat het project de Clawbot zal laten doen. Leg meer uit dan dat het project zich herhaalt.

    Wat herhaalt het? Wat doet de Clawbot?

  2. Schrijf je voorspelling, maar breek het korte project niet op in meer dan twee delen.

Icoon Toolbox voor docenten Toolbox voor leraren - antwoorden

  1. Bij dit project rijdt de robot 300 millimeter vooruit en draait hij vervolgens vier keer 90 graden naar rechts om een vierkant af te maken. In plaats van dezelfde 2 blokken 4 keer te gebruiken, reduceert het herhaalblok dezelfde acties als 8 blokken tot 3 blokken. Met het herhaalblok worden de handelingen van vooruit rijden en vervolgens draaien herhaald.

  2. De voorspelling zou simpelweg kunnen zijn: "De Clawbot beweegt in een vierkant." Dit zou een bondige manier zijn om de herhaalde bewegingen van de Clawbot vast te leggen, zonder enige context.

De technische notitieboekjes van studenten kunnen individueel (Google Doc / .docx / .pdf) of als team (Google Doc / .docx / .pdf) worden bijgehouden en beoordeeld. De voorgaande links bieden een andere rubriek voor elke aanpak. Wanneer een rubriek wordt opgenomen in de onderwijsplanning, is het een goed idee om de rubriek uit te leggen of in ieder geval kopieën aan de studenten te geven voordat de activiteit begint.

  • Opslaan,downloadenen voer het voorbeeldproject Herhalende acties (geen gyro) uit.

    VEXcode V5-werkbalk met de projectnaam 'Herhalende acties (geen gyroscoop)'.

  • Zie voor hulp de zelfstudie in VEXcode V5 waarin wordt uitgelegd hoe u een project kunt downloaden en uitvoeren.

    VEX V5-werkbalk met een rode pijl die de knop Tutorials rechts van de knop Bestand oproept.

     

  • Controleer uw uitleg van het project in uw technische notitieblok en voeg notities toe om ze indien nodig te corrigeren.

Stap 2: Voer het project uit en observeer de robot.

Twee codefragmenten naast elkaar die het verschil in use case laten zien tussen een forever loop (links) en een repeat loop (rechts). Aan de linkerkant is er een opmerking met de tekst 'Sensorinvoer gebruiken om te bepalen wanneer u moet draaien' met een voor altijd-blok met een if then-blok erin. Als de bumper wordt ingedrukt, draait de robot 90 graden naar rechts, anders rijdt hij vooruit. Aan de rechterkant staat de opmerking 'Een vaste afstand gebruiken om te bepalen wanneer u moet draaien' met een herhaallus ingesteld op 4 om de robot in een vierkant van 300 mm aan te drijven.

Kijk opnieuw naar het project Herhalende acties (geen gyroscoop) (aan de rechterkant). Dit project zal het voorwaartse en vervolgens het gedrag vier keer herhalen. Eenrepeatblok wordt gebruikt als u een reeks gedragingen een bepaald aantal keren wilt gebruiken. Als het blokherhaalwordt vervangen door een blokvoor altijd, herhaalt de robot het voorwaartse gedrag en draait hij vervolgens voor altijd.

In het project aan de linkerkant wordt de invoer van een sensor gebruikt om te bepalen wanneer de robot moet beginnen met draaien. Het project aan de rechterkant gebruikt een vaste aandrijflijn-afstand om te bepalen wanneer er moet worden begonnen met draaien.

Om de invoer van een sensor voortdurend te controleren, wordt eenif/elseblok gebruikt in combinatie met eenforeverblok. In het project links zal de robot naar rechts draaien als deBumperHsensor wordt ingedrukt. Anders zal de robot eindeloos vooruit rijden als deBumperHsensor niet wordt ingedrukt. Om de waarde van deBumperHsensor voortdurend te controleren, bevindt hetif/thenblok zich in eenforeverblok.

Het bovenstaande project aan de linkerkant is een praktisch gebruiksvoorbeeld van een structuur die voor altijd wordt herhaald, waarbijforeverblokken enif/thenblokken samen worden gebruikt. Stel je een zelfrijdende veegmachine voor die vooruit blijft rijden totdat hij tegen een muur of voorwerp aanloopt en vervolgens draait voordat hij verder rijdt.

Breid uw leerproces uit-pictogram Breid uw leerproces uit

Als u het gebruik van lussen met voorwaarden verder wilt verkennen, bouwt u het voorbeeldproject Floor Sweeper in VEXcode V5.

VEXcode V5-project met een When Started-blok en een Forever-blok gekoppeld. Binnen het forever-blok bevindt zich een Repeat until-blok met de voorwaarde ingesteld op Bumper8 ingedrukt, en een Drive forward-blok daarbinnen. Hierna volgt een Stop-rijblok met een draai voor het blok naar rechts voor 90 plus willekeurige selectie van 0 tot 90 graden.

  • Laat de studentenbumperschakelaars monteren en bedraden.
  • Vraag de leerlingen om het voorbeeldproject Clawbot (aandrijflijn 2 motoren, geen gyro) te openen.

    Het voorbeeldprojecticoontje vermeldt onderaan 'Clawbot (aandrijflijn twee motoren, geen gyro)' om aan te geven welke sjabloon u voor dit project moet kiezen.

  • Laat de leerlingen het bovenstaande project nabouwen.
  • Laat de leerlingen het project opslaan als Floor Sweeper.

    Projectdialoogvenster in de VEXcode V5-werkbalk. Slot 1 is geselecteerd en de projectnaam is 'Floor Sweeper'.

  • Als studenten hulp nodig hebben bij het opslaan van het project, raadpleeg dan de tutorial Naamgeving en opslaan.

    VEXcode V5-werkbalk met een rode pijl die naar de knop Tutorials verwijst, rechts van het menu Bestand.

     

Als de studenten hulp nodig hebben met een van de blokken, verwijs ze dan naar deHelpinformatie of tutorial.

Vraag de studenten omhet project te downloaden en uit te voerenom te observeren hoe de robot beweegt. Begin vervolgens een discussie in de klas en vraag de studenten uit te leggen waarom er een forever-blok is gebruikt in plaats van een repeat-blok.

De studenten moeten opmerken dat er een forever-blok wordt gebruikt omdat dit project voortdurend controleert of de bumperschakelaar wordt ingedrukt.

Stap 3: De Squared Loops Challenge!

Geschetst pad van de beweging van de robot met een groen vierkant met pijlen die aangeven dat ze tegen de klok in bewegen in een vierkant. Op elke hoek is er een dubbelzijdige oranje pijl die op dit punt in het pad een beweging aangeeft.

  • Laat je Clawbot in een vierkant rijden.
  • Vóór elke bocht moet de klauw worden geopend en gesloten en moet de arm worden opgeheven en neergelaten.
  • De Clawbot kan niet meer dan één keer langs een kant van het plein rijden.
  • U kunt het voorbeeldproject Repeating Actions (No Gyro) als uitgangspunt gebruiken, maar sla het op alsSquaredLoopsvoordat u wijzigingen aanbrengt.

Dialoogvenster Projectnaam in de VEXcode IQ-werkbalk. Sleuf 1 is geselecteerd en de projectnaam luidt Squared Loops.

Plan het volgende in uw technische notitieblok:

  • Plan je oplossing en voorspel wat elk blok in je project de Clawbot zal laten doen.
  • Download en voeruw project uit om het te testen voordat u het indient.
  • Breng indien nodig wijzigingen aan in het project en maak aantekeningen over wat er tijdens het testen is gewijzigd.

 

Icoon Toolbox voor docenten Teacher Toolbox - Oplossing

Hieronder vindt u een mogelijke oplossing voor de Squared Loops Challenge:

VEXcode V5-voorbeeldoplossing met een When started-blok en een Repeat-blok ingesteld op 4. Er zijn 6 blokken binnen het herhaalblok die in volgorde luiden: Rijd 300 mm vooruit, Draai klauwmotor open voor 70 graden, draai armmotor omhoog voor 360 graden, draai klauwmotor gesloten voor 70 graden, draai armmotor omlaag voor 360 graden, draai rechts voor 90 graden.

U kunt studenten een programmeerrubriek geven om hun projecten te beoordelen. Klik op een van de volgende links (Google Doc / .docx / .pdf)
De technische notitieboekjes van studenten kunnen individueel worden bijgehouden en beoordeeld (Google Doc / .docx / .pdf) of als team (Google Doc / .docx / .pdf).