Utilização de blocos de comutação para fazer a transição de blocos para codificação baseada em texto no VEXcode EXP

O Switch incorpora elementos familiares da programação baseada em blocos e integra caixas de texto onde podem ser digitados comandos de texto. Veja o vídeo seguinte para um exemplo de código Python a ser inserido num bloco Switch.

Os blocos Switch são compatíveis apenas com Pythone Python.


O Switch oferece aos alunos uma ponte natural dos Blocos para a codificação baseada em texto. À medida que os alunos se familiarizam com a lógica e o sequenciamento de comandos, eles podem começar a converter um projeto bloco por bloco. 

Isso permite que os alunos continuem trabalhando com o fluxo lógico de um programa baseado em blocos, onde eles podem ver fisicamente coisas como o envolvimento de um loop em torno de outros blocos, enquanto também começam a experimentar comandos de texto. Depois que os blocos são convertidos em Switch, os alunos podem facilmente alterar os parâmetros e começar a entender a sintaxe do comando de texto. Esta seção explicará como um aluno pode usar o Switch em um projeto VEXcode.

Introdução aos blocos de switch

Para começar a codificar com Switch Blocks, você deve ter:

  • Um computador (não um dispositivo móvel).

Menu do visualizador de código VEXcode EXP com um bloco Switch apresentado no projeto de blocos. A opção C++ está cinzenta e marcada como desativada. A opção Python no Visualizador de Código ainda está ativada.

Quando um bloco é convertido em um bloco Switch, o C++ no Visualizador de código será desabilitado.

Convertendo blocos para alternar

Converter um único bloco em switch

Selecione o bloco no espaço de trabalho VEXcode EXP com o menu de contexto aberto. O menu tem seis opções: Duplicar, Desativar Bloco, Apagar Blocos, Ajuda com Blocos, Converter Bloco em Bloco de Troca e Ler Bloco.

Clique com o botão direito do mouse no bloco que você deseja converter em um bloco de alternância.

Selecione o bloco no espaço de trabalho VEXcode EXP com o menu de contexto aberto. A opção Converter Bloco em Bloco de Interruptor está selecionada.

Selecione Converter Bloco para Bloco de Comutação.

Drive para bloco que foi convertido num bloco Switch e agora tem código Python que lê drivetrain.drive_for(FORWARD, 10, INCHES).

O bloco agora será alternado para um bloco de troca com os mesmos parâmetros.

Barra de ferramentas VEXcode EXP com o ícone Desfazer destacado à esquerda do ícone Refazer.

Para transformar um Bloco de Troca novamente em um Bloco após a conversão, selecione o botãoDesfazer.

Converter vários blocos para alternar

Ao selecionar o bloco que se encontra no topo de uma pilha de blocos, é aberto o menu de contexto. Existe agora uma outra opção no menu de contexto chamada Converter Pilha em Bloco de Interruptor, que se encontra logo abaixo da opção Converter Bloco em Bloco de Interruptor.

Clique com o botão direito do mouse no topo da pilha que você deseja converter em um Bloco de Comutação.

Ao selecionar o bloco que se encontra no topo de uma pilha de blocos, é aberto o menu de contexto e selecionada a opção Converter Pilha em Bloco de Troca.

SelecioneConverter pilha para bloco de comutação.

Toda a pilha de três blocos foi convertida num único bloco Switch, com uma linha de Python para cada comando individual do bloco.

O bloco em que você clicou com o botão direito e todos os blocos abaixo dele serão convertidos em um bloco de troca.

Converter blocos dentro de um wrapper para alternar

Você pode converter um Wrapper e todo o seu conteúdo para Switch com um clique.

O bloco de repetição que contém outros blocos tem o seu menu de contexto aberto. As opções "Converter em Bloco de Interruptor" foram alteradas porque este é um bloco C, e passam a chamar-se "Converter Envoltório em Bloco de Interruptor" e "Converter Envoltório e Conteúdo em Bloco de Interruptor".

Clique com o botão direito do mouse no Wrapper que você deseja converter.

O bloco de repetição que contém outros blocos tem o seu menu de contexto aberto e a opção Converter Envoltório e Conteúdo em Bloco de Troca selecionada.

SelecioneConverter Wrapper e Conteúdo para Bloco de Switch.

Toda a estrutura, incluindo o bloco de encapsulamento e os blocos aninhados, foi convertida num único bloco Switch. Existe uma linha de código Python correspondente a cada comando de bloco.

Todo o conteúdo do Wrapper será convertido em um único Bloco de Switch.

Use um bloco de interruptores

Adicionar um bloco de interruptores da caixa de ferramentas

Clique e arraste um Bloco de Interruptor da Caixa de Ferramentas, como mostra este vídeo.

Digite um bloco de switch

Selecione o campo de texto do bloco Switch e introduza o comando pretendido, como mostra este vídeo.

Copiar e colar texto dentro de um bloco de switch

Clique e arraste para destacar o texto no Bloco de alternância. Clique com o botão direito e selecione Copiar. Em seguida, clique dentro de outro Bloco de Interruptor. Por fim, clique com o botão direito do rato e selecione Colar para transferir o texto, como mostra este vídeo.

Blocos de Switch Adicionais

Os blocos de switch seguem as mesmas convenções de formato dos outros blocos. A tabela aqui mostra a comparação entre o formato do bloco, seu significado e os blocos Switch do mesmo tipo.

Forma de bloco Descrição Exemplos de blocos Exemplos de troca
Blocos de chapéu Comece empilhando os blocos e modelando-os para anexar os blocos abaixo deles. O meu bloco de definição de blocos. Bloco de chapéu de interruptor. O código Python lê-se def print_name.
Blocos de pilha Executar comandos principais. Eles são moldados para serem fixados acima ou abaixo de outros blocos de pilha. Direcione para o bloco de pilha. Bloco de pilha de interruptores. O código Python lê drivetrain.drive_for(FORWARD, 200, MM).
Blocos booleanos Retorna uma condição como verdadeira ou falsa e se ajusta dentro de quaisquer blocos com entradas hexagonais (de seis lados) para outros blocos. Bloco booleano de pressão do botão de paragem. Bloco booleano Switch. O código Python lê left_bumper.pressed().
Blocos de repórter Relate valores na forma de números e ajustes dentro de quaisquer blocos com entradas ovais para outros blocos. Bloco de relatório do valor do temporizador. Alternar bloco repórter. O código Python lê brain.timer_time(SECONDS).
Blocos C Faça um loop nos blocos dentro deles ou verifique se uma condição é verdadeira ou falsa. Eles são moldados para fixar blocos de pilha acima, abaixo ou dentro deles. Bloco C para sempre. Se então senão Bloco C. Bloco de interruptores C. O código Python lê enquanto verdadeiro. Bloco expansível Switch C. O código Python lê if left_bumper.pressed(), else.

 

1Weintrop, David e Uri Wilensky. "Como as modalidades baseadas em blocos, baseadas em texto e híbridas de bloco/texto moldam as práticas de programação para iniciantes."  Revista Internacional de Interação Criança-Computador 17 (2018): 83-92

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

Last Updated: