Contrôle#

Introduction#

Les blocs de contrôle de VEXcode VR gèrent le flux d’un projet en gérant les boucles, les conditions et en retardant l’exécution des blocs.

Une boucle est un processus par lequel un ordinateur répète indéfiniment la même étape ou le même groupe d’étapes jusqu’à ce qu’il reçoive l’ordre de s’arrêter. Une condition est une règle que l’ordinateur vérifie pour déterminer l’action suivante. Par exemple, un robot peut avancer si un capteur détecte un objet.

Vous trouverez ci-dessous la liste des blocs disponibles :

  • wait – Met en pause l’exécution des blocs pendant une durée spécifique.

  • attendre jusqu’à – Suspend l’exécution des blocs jusqu’à ce qu’une condition spécifiée soit remplie.

  • repeat – Répète un ensemble de blocs un nombre spécifique de fois.

  • pour toujours – Répète un ensemble de blocs indéfiniment.

  • répéter jusqu’à – Répète un ensemble de blocs jusqu’à ce qu’une condition soit remplie.

  • while – Répète un ensemble de blocs tant qu’une condition reste vraie.

  • if – Exécute un ensemble de blocs si une condition est vraie.

  • if / else – Exécute un ensemble de blocs si une condition est vraie, sinon en exécute un autre.

  • if / else if / else – Exécute différents ensembles de blocs en fonction de plusieurs conditions.

  • break – Sort immédiatement d’une boucle repeat, forever, repeat until, ou while.

  • stop project – Met fin au projet.

attendez#

Le bloc de pile wait interrompt l’exécution des blocs pendant une durée spécifique avant de passer au bloc suivant.

bloc de pile d’attente#
attendre (1) secondes

Paramètres

Description

temps

Le temps d’attente, exprimé en secondes sous forme de nombre entier positif ou de nombre décimal.

Exemple

Au démarrage, il avance pendant une seconde, puis s’arrête complètement.#
au démarrage :: hat events
[Move forward for one second, then stop.]
se déplacer en [avant v]
attendre (1) secondes
arrêter le déplacement

attendre jusqu’à#

Le bloc de pile attendre jusqu’à suspend l’exécution des blocs jusqu’à ce qu’une condition spécifiée soit remplie avant de passer au bloc suivant.

attendre que le bloc de pile#
attendre jusqu'à <>

Paramètres

Description

condition

La condition à remplir avant de passer au bloc suivant.

Exemple

Au démarrage, l’appareil avance jusqu’à ce que l’écran soit pressé, puis s’arrête complètement.#
au démarrage :: hat events
[Move forward until a button is pressed, then stop.]
se déplacer en [avant v]
attendre jusqu'à <appui sur [LeftBumper v] ?>
arrêter le déplacement

répéter#

Le bloc C repeat exécute les blocs qu’il contient un nombre défini de fois.

répéter le bloc c#
répéter [10]
fin

Paramètres

Description

fois

Un nombre entier qui détermine le nombre de fois où le bloc répéter s’exécute.

Exemple

au démarrage :: hat events
[Move in a square path.]
répéter [4]
se déplacer [avant v] sur [150] [mm v] ▶
pivoter [droite v] de [90] degrés ▶
fin

pour toujours#

Le bloc C éternel exécute sans cesse les blocs qu’il contient, sans s’arrêter.

bloc c pour toujours#
indéfiniment
fin

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Une fois lancé, il se déplace continuellement sur une trajectoire carrée en avançant de 50 mm et en tournant à droite de 90 degrés dans une boucle infinie.#
au démarrage :: hat events
[Move in a square path forever.]
indéfiniment
se déplacer [avant v] sur [150] [mm v] ▶
pivoter [droite v] de [90] degrés ▶
fin

répéter jusqu’à#

Le bloc C repeat until exécute les blocs qu’il contient de manière répétée tant que la condition spécifiée n’est pas remplie.

répéter jusqu’à blocage#
répéter jusqu'à <>
fin

Paramètres

Description

condition

Une expression ou une variable vérifiée avant chaque itération de la boucle. Si elle est fausse, les blocs continuent de se répéter. Si elle est vraie, la boucle s’arrête.

Exemple

Au démarrage, toutes les LED restent rouges jusqu’à ce que l’écran soit pressé, puis elles s’éteignent.#
au démarrage :: hat events
[Move the pen until the bumper is pressed.]
se déplacer en [avant v]
répéter jusqu'à <appui sur [LeftBumper v] ?>
déplacer le Stylo [en bas v]
attendre (0.5) secondes
déplacer le Stylo [en haut v]
attendre (0.5) secondes
fin
attendre (0.5) secondes
arrêter le déplacement

alors que#

Le bloc C while exécute les blocs qu’il contient de manière répétée tant que la condition spécifiée est remplie.

bloc c#
tant que <>
fin

Paramètres

Description

condition

Une expression ou une variable vérifiée avant chaque itération de la boucle. Si elle est vraie, les blocs continuent de se répéter. Si elle est fausse, la boucle s’arrête.

Exemple

Au démarrage, il avance de 200 mm tout en maintenant toutes les LED vertes. Les LED s’éteignent une fois le mouvement terminé.#
au démarrage :: hat events
[Display a message while moving.]
se déplacer [avant v] sur [300] [mm v] ◀ et ne pas attendre
tant que <mobile en mouvement ?>
afficher [Moving...] ▶
attendre (0.1) secondes
effacer toutes les lignes
fin
afficher [Done!] ▶

si#

Le bloc C if exécute les blocs qu’il contient si la condition est vraie.

si bloc#
si <> alors
fin

Paramètres

Description

condition

Une expression ou une variable vérifiée lors de l’exécution de l’instruction. Si elle est Vraie, les blocs contenus dans le bloc if seront exécutés. Si elle est Fausse, ces blocs seront ignorés.

Exemple

Au démarrage, le robot vérifie en permanence si l’écran est pressé. Si c’est le cas, il donne un coup de pied dans un objet avec une force moyenne.#
au démarrage :: hat events
[Turn in a circle if the bumper is pressed.]
se déplacer en [avant v]
indéfiniment
si <appui sur [LeftBumper v] ?> alors
se déplacer [en arrière v] sur (200) [mm v] ▶
pivoter [droite v] de (360) degrés ▶
fin
arrêter le déplacement
fin

si / sinon#

Le bloc C if / else détermine quel ensemble de blocs s’exécute selon que la condition est vraie ou fausse.

bloc si alors sinon#
si <> alors
sinon
fin

Paramètres

Description

condition

Une expression ou une variable vérifiée lors de l’exécution de l’instruction. Si elle est vraie, les blocs contenus dans le bloc if seront exécutés. Si elle est fausse, ce sont les blocs contenus dans le bloc else qui seront exécutés.

Exemple

Au démarrage, l’application vérifie en permanence si l’écran est pressé. Si c’est le cas, elle affiche un emoji enthousiaste regardant vers l’avant ; sinon, elle affiche un emoji ennuyé regardant vers l’avant.#
au démarrage :: hat events
[If bumper pressed, reverse and turn right.]
indéfiniment
si <appui sur [LeftBumper v] ?> alors
se déplacer [en arrière v] sur (100) [mm v] ▶
pivoter [droite v] de (90) degrés ▶
sinon
se déplacer en [avant v]
fin

si / sinon si / sinon#

Le bloc C extensible if / else if / else sélectionne l’ensemble de blocs à exécuter en fonction de conditions :

  • if exécute son bloc de code si la condition est évaluée comme Vraie.

  • L’instruction else if vérifie des conditions supplémentaires uniquement si toutes les conditions précédentes ont été évaluées à faux. Plusieurs instructions else if peuvent être utilisées.

  • sinon n’exécute son bloc de code que si aucune des conditions précédentes n’a été évaluée comme vraie.

bloc if else if else#
si <> alors
sinon si <> alors
sinon
fin

Paramètres

Description

condition

Une expression ou une variable vérifiée lors de l’exécution de l’instruction. La première condition vraie exécute le bloc correspondant. Si toutes les conditions sont fausses, les blocs contenus dans le bloc else sont exécutés.

Exemple

Lorsque la position de l’axe 1 du contrôleur change, il avance si on le pousse vers l’avant, recule si on le tire vers l’arrière et s’arrête en position neutre.#
au démarrage :: hat events
[Turn right if the an Eye Sensor detects red, left if it detects green, and continue driving if anything else.]
indéfiniment
si <[FrontEye v] détecte du [rouge v] ?> alors
pivoter [droite v] de (90) degrés ▶
sinon si <[FrontEye v] détecte du [vert v] ?> alors
pivoter [à gauche v] de (90) degrés ▶
sinon
se déplacer en [avant v]
fin
fin

casser#

Le bloc break interrompt immédiatement une boucle. Ce bloc peut être utilisé à l’intérieur des blocs repeat, repeat until, while et forever. Break est utile lorsqu’une boucle doit s’arrêter prématurément suite à un événement survenant pendant l’exécution du programme, comme l’appui sur un bouton ou la détection d’un objet par un capteur.

bloc de rupture de pile#
sortir

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Au démarrage, les LED clignotent en rouge et en vert toutes les 0,5 secondes jusqu’à ce que l’écran soit pressé, puis s’arrêtent.#
au démarrage :: hat events
[Stop turning after a button is pressed.]
indéfiniment
se déplacer en [avant v]
si <appui sur [LeftBumper v] ?> alors
sortir
fin
fin
arrêter le déplacement

projet d’arrêt#

Le bloc de pile stop project met fin à un projet en cours d’exécution.

blocage du projet#
arrêter le projet

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

Au démarrage, les LED clignotent en rouge et en vert toutes les 0,5 secondes jusqu’à ce que l’écran soit pressé, puis le projet s’arrête.#
au démarrage :: hat events
[Stop the project entirely after a button is pressed.]
indéfiniment
se déplacer en [avant v]
si <appui sur [LeftBumper v] ?> alors
arrêter le projet
fin
fin