Controle#
Invoering#
De besturingsblokken in VEXcode AIM beheren de projectstroom door lussen en voorwaarden af te handelen en te voorkomen dat blokken worden uitgevoerd.
Een lus is wanneer een computer dezelfde stap of groep stappen steeds opnieuw herhaalt totdat hij de opdracht krijgt om te stoppen. Een voorwaarde is een regel die de computer controleert om te bepalen wat hij vervolgens moet doen. Een robot kan bijvoorbeeld vooruit bewegen als een sensor een object detecteert.
Hieronder vindt u een lijst van alle blokken:
wait — Pauzeert de uitvoering van blokken gedurende een bepaalde tijd.
wacht tot — Pauzeert de uitvoering van blokken totdat aan een bepaalde voorwaarde is voldaan.
repeat — Herhaalt een set blokken een specifiek aantal keren.
voor altijd — Herhaalt een reeks blokken oneindig.
herhaal tot — Herhaalt een reeks blokken totdat aan een voorwaarde is voldaan.
while — Herhaalt een reeks blokken zolang een voorwaarde waar blijft.
if — Voert een reeks blokken uit als aan een voorwaarde is voldaan.
if / else — Voert één set blokken uit als een voorwaarde waar is, anders voert het een andere set blokken uit.
als / anders als / anders — Voert verschillende sets blokken uit, afhankelijk van meerdere voorwaarden.
break — Verlaat een repeat, forever, repeat until, of while lus onmiddellijk.
stop project — Beëindigt het project.
wachten#
Het wacht-blok op de stack zorgt ervoor dat blokken een bepaalde tijd niet worden uitgevoerd voordat naar het volgende blok wordt overgegaan.
wacht (1) seconden
Parameters |
Beschrijving |
|---|---|
tijd |
De wachttijd, weergegeven als een positief geheel getal of decimaal getal in seconden. |
Voorbeeld
wanneer gestart
[Move forward for one second, then stop.]
beweeg [vooruit v]
wacht (1) seconden
stop alle beweging
wacht tot#
Het wacht tot-blok op de stack zorgt ervoor dat blokken niet worden uitgevoerd totdat aan een bepaalde voorwaarde is voldaan, waarna naar het volgende blok wordt overgegaan.
wacht totdat <>
Parameters |
Beschrijving |
|---|---|
voorwaarde |
De voorwaarde waaraan voldaan moet worden voordat je door kunt gaan naar het volgende blok. |
Voorbeeld
wanneer gestart
[Move forward until screen pressed, then stop.]
beweeg [vooruit v]
wacht totdat <scherm ingedrukt?>
stop alle beweging
herhalen#
Het C-blok repeat voert de blokken erin een vast aantal keren uit.
herhaal [10]
einde
Parameters |
Beschrijving |
|---|---|
tijden |
Een geheel getal dat bepaalt hoe vaak het herhaal-blok wordt uitgevoerd. |
Voorbeeld
wanneer gestart
[Move in a square path.]
herhaal [4]
beweeg [vooruit v] voor [50] [mm v] ▶
draai [rechts v] voor [90] graden ▶
einde
voor altijd#
Het eeuwige C-blok zorgt ervoor dat de blokken erin steeds opnieuw worden uitgevoerd zonder te stoppen.
altijd
einde
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Move in a square path forever.]
altijd
beweeg [vooruit v] voor [50] [mm v] ▶
draai [rechts v] voor [90] graden ▶
einde
herhaal tot#
Het C-blok herhaal tot de blokken erin herhaaldelijk uitvoert totdat aan de opgegeven voorwaarde niet is voldaan.
herhaal totdat <>
einde
Parameters |
Beschrijving |
|---|---|
voorwaarde |
Een expressie of variabele die vóór elke lus wordt gecontroleerd. Als deze False is, worden de blokken herhaald. Als deze True is, stopt de lus. |
Voorbeeld
wanneer gestart
[Repeat until the screen is pressed before turning off the LEDs.]
herhaal totdat <scherm ingedrukt?>
stel [lightall v] LED-kleur in op [rood v]
einde
stel [lightall v] LED-kleur in op [uit v]
terwijl#
Het C-blok while voert de blokken binnenin herhaaldelijk uit zolang aan de opgegeven voorwaarde wordt voldaan.
zolang <>
einde
Parameters |
Beschrijving |
|---|---|
voorwaarde |
Een expressie of variabele die vóór elke lus wordt gecontroleerd. Als deze waar is, worden de blokken herhaald. Als deze onwaar is, stopt de lus. |
Voorbeeld
wanneer gestart
[Keep the LEDs green while the robot is moving.]
beweeg [vooruit v] voor [200] [mm v] ◀ en niet wachten
zolang <bewegen actief?>
stel [lightall v] LED-kleur in op [groen v]
einde
stel [lightall v] LED-kleur in op [uit v]
als#
Het C-blok if voert de blokken binnenin uit als de voorwaarde waar is.
als <> dan
einde
Parameters |
Beschrijving |
|---|---|
voorwaarde |
Een expressie of variabele die wordt gecontroleerd tijdens de uitvoering van de instructie. Als deze waar is, worden de blokken binnen het if-blok uitgevoerd. Als deze onwaar is, worden de blokken overgeslagen. |
Voorbeeld
wanneer gestart
[Kick when the screen is pressed.]
altijd
als <scherm ingedrukt?> dan
schop object [gemiddeld v]
einde
einde
als / anders#
Het C-blok if/else bepaalt welke reeks blokken wordt uitgevoerd, afhankelijk van of de voorwaarde waar of onwaar is.
als <> dan
anders
einde
Parameters |
Beschrijving |
|---|---|
voorwaarde |
Een expressie of variabele die wordt gecontroleerd tijdens de uitvoering van de instructie. Als deze True is, worden de blokken binnen het if-blok uitgevoerd. Als deze False is, worden de blokken binnen het else-blok uitgevoerd. |
Voorbeeld
wanneer gestart
[Show one emoji when the screen is touched and a different one when it's not.]
altijd
als <scherm ingedrukt?> dan
toon [emoji_excited v] kijkend [vooruit v]
anders
toon [emoji_bored v] kijkend [vooruit v]
einde
einde
als / anders als / anders#
Het uitbreidbare C-blok if / else if / else selecteert welke set blokken wordt uitgevoerd op basis van voorwaarden:
De
if-functie voert het codeblok uit als de voorwaarde alsTruewordt geëvalueerd.De
else if-instructie controleert aanvullende voorwaarden alleen als alle voorgaande voorwaarden alsonwaarzijn geëvalueerd. Er kunnen meerdereelse if-instructies worden gebruikt.De else-instructie voert het codeblok alleen uit als geen van de voorgaande voorwaarden als waar is geëvalueerd.
als <> dan
anders als <> dan
anders
einde
Parameters |
Beschrijving |
|---|---|
voorwaarde |
Een expressie of variabele die wordt gecontroleerd wanneer de instructie wordt uitgevoerd. De eerste voorwaarde die waar is, voert die reeks blokken uit. Als alle voorwaarden onwaar zijn, worden de blokken binnen het else-blok uitgevoerd. |
Voorbeeld
wanneer controller-as [1 v] verandert
[Move the robot forward or reverse based on the position of the joystick.]
als <(controller-as [1 v] positie) [math_greater_than v] [0]> dan
beweeg [vooruit v]
anders als <(controller-as [1 v] positie) [math_less_than v] [0]> dan
beweeg [achteruit v]
anders
stop alle beweging
einde
pauze#
Het break-blok beëindigt een lus onmiddellijk. Dit blok kan worden gebruikt binnen repeat, repeat until, while en forever blokken. Break is handig wanneer een lus vroegtijdig moet stoppen op basis van iets dat tijdens het project gebeurt, zoals het indrukken van een knop of het detecteren van een object door een sensor.
onderbreek
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Flash LEDs until the screen is pressed.]
altijd
stel [lightall v] LED-kleur in op [rood v]
wacht [0.5] seconden
stel [lightall v] LED-kleur in op [groen v]
wacht [0.5] seconden
als <scherm ingedrukt?> dan
onderbreek
einde
einde
stop project#
Het stackblok stop project beëindigt een lopend project.
stop project
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Stop the project once the screen is pressed.]
altijd
stel [lightall v] LED-kleur in op [rood v]
wacht [0.5] seconden
stel [lightall v] LED-kleur in op [groen v]
wacht [0.5] seconden
als <scherm ingedrukt?> dan
stop project
einde
einde