Utilisation de blocs de commutation pour passer du codage par blocs au codage textuel dans VEXcode IQ (2e génération)

Switch intègre des éléments familiers de la programmation par blocs et des zones de texte permettant de saisir des commandes textuelles. Visionnez la vidéo suivante pour voir un exemple de code Python saisi dans un bloc Switch.

Remarque : Les blocs de commutation ne sont compatibles qu'avecPython.


Switch offre aux étudiants un pont naturel entre les blocs et le codage textuel. À mesure que les élèves se familiarisent avec la logique et le séquençage des commandes, ils peuvent commencer à convertir un projet un bloc à la fois. Cette vidéo illustre le processus de conversion d'un bloc en bloc Switch.

Cela permet aux étudiants de continuer à travailler avec le flux logique d'un programme basé sur des blocs où ils peuvent voir physiquement des choses comme l'enroulement d'une boucle autour d'autres blocs tout en commençant à expérimenter eux-mêmes les commandes de texte. Une fois les blocs convertis en Switch, les élèves peuvent facilement modifier les paramètres et commencer à comprendre la syntaxe de la commande texte. Cette section vous guidera à travers l'utilisation de Switch par un étudiant pour expliquer comment vous pouvez utiliser ces blocs dans un projet VEXcode.

Premiers pas avec les blocs de commutation

Pour commencer à coder avec Switch Blocks, vous devez avoir :

  • Un ordinateur (pas un appareil mobile).
  • Un cerveau QI de 2e génération.

Menu de VEXcode IQ Code Viewer avec l'option C++ grisée et indiquée comme désactivée. L'option Python dans le visualiseur de code est toujours activée.

Lorsqu'un bloc est converti en bloc de commutation, C++ dans la visionneuse de code sera désactivé.

Conversion de blocs en commutateurs

Convertir un seul bloc en commutateur

Recherchez le bloc dans l'espace de travail VEXcode IQ avec son menu contextuel ouvert. Le menu comporte six options : Dupliquer, Désactiver le bloc, Supprimer les blocs, Aide sur les blocs, Convertir le bloc en bloc commutable et Lire le bloc.

Faites un clic droit sur le bloc que vous souhaitez convertir en bloc de commutation.

Recherchez le bloc dans l'espace de travail VEXcode IQ avec son menu contextuel ouvert. L'option Convertir le bloc en bloc commutateur est sélectionnée.

Sélectionnez Convertir le bloc en bloc de commutation.

Bloc Drive for qui a été converti en bloc Switch, et qui contient maintenant un code Python qui lit drivetrain.drive_for(FORWARD, 10, INCHES).

Le bloc sera désormais commuté vers un bloc de commutation avec les mêmes paramètres.

Barre d'outils VEXcode IQ avec l'icône Annuler mise en évidence à gauche de l'icône Rétablir.

Pour transformer un bloc de commutation en bloc après la conversion, sélectionnez le boutonAnnuler.

Convertir plusieurs blocs en commutateur

Le menu contextuel du bloc situé en haut d'une pile de blocs est ouvert. Une autre option est désormais disponible dans le menu contextuel : « Convertir la pile en bloc de commutation », juste en dessous de l’option « Convertir le bloc en bloc de commutation ».

Cliquez avec le bouton droit sur le haut de la pile que vous souhaitez convertir en bloc de commutation.

Le menu contextuel du bloc situé en haut d'une pile de blocs est ouvert et l'option Convertir la pile en bloc de commutation est sélectionnée.

SélectionnezConvertir la pile en bloc de commutation.

L'ensemble des trois blocs empilés a été converti en un seul bloc Switch, avec une ligne de Python pour chaque commande de bloc individuelle.

Le bloc sur lequel vous avez cliqué avec le bouton droit de la souris et tous les blocs situés en dessous seront convertis en bloc de commutation.

Convertir les blocs à l'intérieur d'un wrapper en commutateur

Vous pouvez convertir un Wrapper et tout son contenu en Switch en un seul clic.

Le menu contextuel du bloc répétitif contenant d'autres blocs est ouvert. Les options Convertir en bloc Switch ont changé car il s'agit d'un bloc C, et affichent maintenant Convertir le wrapper en bloc Switch et Convertir le wrapper et son contenu en bloc Switch.

Cliquez avec le bouton droit sur le Wrapper que vous souhaitez convertir.

Le bloc répétitif contenant d'autres blocs a son menu contextuel ouvert et l'option Convertir le conteneur et son contenu en bloc de commutation sélectionnée.

SélectionnezConvertir le wrapper et le contenu en bloc de commutation.

L'ensemble de la pile, comprenant un bloc enveloppe et des blocs imbriqués, a été converti en un seul bloc Switch. Il existe une ligne de code Python correspondante pour chaque commande de bloc.

Tout le contenu du Wrapper sera converti en un seul bloc de commutation.

Utiliser un bloc de commutation

Ajouter un bloc de commutation à partir de la boîte à outils

Cliquez et faites glisser un bloc Switch depuis la boîte à outils, comme indiqué dans cette vidéo.

Saisissez un bloc de commutation

Sélectionnez le champ de texte du bloc Switch, puis saisissez la commande souhaitée comme indiqué dans cette vidéo.

Copier et coller du texte à l'intérieur d'un bloc de commutation

Cliquez et faites glisser pour mettre en surbrillance le texte dans le bloc de commutation. Faites un clic droit et sélectionnez Copier. Ensuite, cliquez à l’intérieur d’un autre bloc de commutation. Enfin, faites un clic droit et sélectionnez Coller pour transférer le texte, comme indiqué dans cette vidéo.

Blocs de commutation supplémentaires

Les blocs de commutation suivent les mêmes conventions de forme que les autres blocs. Le tableau ici montre la comparaison entre la forme du bloc, sa signification et les blocs Switch du même type.

Forme de bloc Description Exemples de blocs Exemples de commutation
Blocs de chapeau Commencez une pile de blocs et façonnez-les pour attacher des blocs en dessous. Définition de mes blocs : bloc chapeau. Bloc de chapeau Switch. Le code Python se lit comme suit : def print_name.
Empiler des blocs Exécuter les commandes principales. Ils sont conçus pour être fixés au-dessus ou au-dessous d'autres blocs de pile. Piloter le bloc d'empilement. Bloc de pile Switch. Le code Python lit drivetrain.drive_for(FORWARD, 200, MM).
Blocs booléens Renvoie une condition comme vraie ou fausse et s'adapte à tous les blocs avec des entrées hexagonales (à six côtés) pour d'autres blocs. Bloc booléen de pression sur le pare-chocs. Bloc booléen Switch. Le code Python lit left_bumper.pressed().
Blocs de reporters Indiquez les valeurs sous forme de nombres et ajustez-les à l'intérieur de tous les blocs avec des entrées ovales pour les autres blocs. Bloc de rapport de valeur de minuterie. Bloc de reportage Switch. Le code Python lit brain.timer_time(SECONDS).
Blocs C Faites une boucle sur le(s) bloc(s) qu'ils contiennent ou vérifiez si une condition est vraie ou fausse. Ils sont conçus pour fixer des blocs de pile au-dessus, en dessous ou à l'intérieur d'eux. Bloc C pour toujours. Si alors sinon bloc C. Bloc C commuté. Le code Python lit tant que vrai. Bloc extensible Switch C. Le code Python lit si left_bumper.pressed(), sinon.

 

1Weintrop, David et Uri Wilensky. « Comment les modalités basées sur les blocs, basées sur le texte et les modalités hybrides bloc/texte façonnent les pratiques de programmation des novices. »  Revue internationale d'interaction enfant-ordinateur 17 (2018) : 83-92

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: