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

Para aceder aos Blocos de Interruptor no VEXcode VR, de ter uma licença VEXcode VR Premium. Consulte este artigo para obter mais informações sobre como aceder aos blocos de interruptores no VEXcode VR.

Embora os programadores principiantes estejam mais inclinados a utilizar a interface baseada em blocos, os estudantes mais avançados podem estar interessados em programar os seus robôs utilizando uma linguagem de programação baseada em texto, como o Python. Historicamenteesta transição da programação em blocos para a programação baseada em texto pode parecer aos alunos como aprender uma língua completamente nova, onde não conseguem aplicar a lógica que tinham aprendido anteriormente utilizando blocos.O Switch Blocks do VEXcode VR foi desenvolvido para facilitar a transição da programação baseada em blocos para a programação baseada em texto. Este artigo abordará como utilizar os Blocos de Interruptor no VEXcode VR e apresentará um cenário de sala de aula para explicar e ilustrar estas características em contexto.

Bloco de comutação mostrando o código equivalente baseado em blocos e baseado em texto no VEXcode VR

Utilizando blocos de interruptores

O Switch incorpora elementos familiares da programação baseada em blocos e integra caixas de texto onde podem ser digitados comandos de texto. Isto permite que os alunos façam uma transição gradual para o texto à medida que aprendem os comandos e a sintaxe do Python. Veja o vídeo seguinte para um exemplo de código Python a ser inserido num bloco Switch.


O Switch oferece aos alunos uma transição natural dos Blocos para a programação baseada em texto. À medida que os alunos se familiarizam com a lógica e a sequência de comandos, podem começar a converter um projeto um bloco de cada vez. O processo de conversão de um bloco num bloco Switch é mostrado neste vídeo.

Isto permite que os alunos continuem a trabalhar com o fluxo lógico de um programa baseado em blocos, onde podem ver fisicamente coisas como o envolvimento de um loop em torno de outros blocos, enquanto também começam a experimentar com comandos de texto por conta própria. Uma vez convertidos os blocos em Switch, os alunos podem facilmente alterar os parâmetros e começar a compreender a sintaxe do comando de texto. Esta secção irá guiá-lo na utilização do Switch por um aluno para explicar como pode utilizar estes blocos num projeto de realidade virtual VEXcode.

A Switch está disponível com uma licença VEXcode VR Premium. Saiba mais sobre as subscrições de realidade virtual da VEXcode aqui.

Após obter a sua licença, como aceder à Switch usando as informaçõesartigo.

Interruptor na sala de aula

Austin é um aluno que programa com blocos há vários anos. Embora alguns alunos da turma ainda sejam programadores principiantes, Austin quer aprender mais sobre Python e como começar a programar o robô de realidade virtual utilizando texto. A professora de Ciência da Computação, a Sra. Hunter, percebeu que Austin estava pronto para um desafio adicional e apresentou o Switch para ajudar a estruturar a aprendizagem de Austin e introduzi-la na programação baseada em texto. A Sra. Hunter demonstrou alguns conceitos básicos, como converter um bloco e abrir a Ajuda para saber mais sobre o comando Switch Python para cada um dos blocos. 

Hoje, a Sra. Hunter atribuiu à turma a atividade de limpeza recifes de coral. Ela utiliza o VEXcode VR nas suas aulas de programação porque sabe que pode diferenciar o ensino e alcançar alunos com diferentes níveis de conhecimento em programação utilizando as mesmas atividades. O modo de alternância ajuda a facilitar esta diferenciação para alunos como Austin. Na atividade de limpeza do recife de coral, o objetivo é recolher o máximo de lixo possível antes que a bateria do robô de realidade virtual se esgote. Compreendendo o desafio e como programar algoritmos básicos, Austin cria um projeto de realidade virtual no VEXcode que utiliza o sensor Down Eye para detetar a borda do Playground e fazer marcha-atrás para evitar danificar os corais.

Espaço de trabalho VEXcode VR com comandos baseados em blocos para programação do robô virtual.

Conversão de um único bloco num interruptor.

Converter 1 bloco


Agora que Austin tem um projeto que testou e verificou que funciona, o próximo passo é converter um bloco para Switch para começar a explorar Python. 


 

É possível converter blocos em blocos de interruptores premindo e mantendo premido ou clicando com o botão direito do rato sobre o bloco e, em seguida, selecionando a opção "Converter em bloco de interruptores", como mostra o vídeo aqui.

Austin pode agora ver que o bloco [Drive for] se transformou no comando Python drive_for. Após a conversão, Austin executa o projeto para garantir que ainda funciona como esperado. Após a conversão, o Austin quer saber mais sobre o comando drive_for. Ao abrir a Ajuda do bloco [Drive for], o Austin pode estabelecer ligações entre os parâmetros do bloco e o comando Python.

Utilize a Ajuda para saber mais sobre os comandos Switch do Python.

Abrir Ajuda


Para visualizar as informações do comando Switch Python na Ajuda, o Austin abre a janela de Ajuda, seleciona o bloco [Drive for] e faz scroll até ao fim, como mostra o vídeo aqui. 

A Sra. Hunter foi verificar e pôde ver que Austin estava a aprender mais sobre o bloco [Drive for]. Ela desafiou-o a aplicar o que tinha aprendido ao converter um bloco e a digitar um novo bloco. Ela mostrou como arrastar um bloco Switch e pediu a Austin para tentar escrever o comando turn_for no bloco. Austin abre a Ajuda do bloco e anota informações sobre a estrutura do comando. 

Digitando num bloco Switch

Adicionar um bloco


Conhecendo o comando Python por ter consultado a Ajuda, Austin pretende digitar diretamente num bloco Switch. Arrastando um bloco [Pilha de Interruptores] da Caixa de Ferramentas, Austin adiciona-o acima do bloco [Rodar para], como mostra este vídeo. 

Digite no bloco


De seguida, Austin utiliza o cursor para selecionar o bloco Switch e começa a digitar o comando Python turn_for como aqui se mostra. 


 

Após digitar o novo comando e garantir que os parâmetros correspondem ao bloco original, o bloco [Turn for] pode ser eliminado, como mostra este vídeo. 

A Sra. Hunter aparece para verificar o progresso de Austin. Ela vê o projeto Switch e pede para o ver em execução para garantir que os comandos são digitados corretamente. Após verificar se o projeto funciona, demonstra outra funcionalidade: blocos de várias linhas.

Copiar e colar


O bloco [Switch Stack] pode conter várias linhas de código. O Austin copia o texto turn_for e cola-o no bloco acima, como mostra o vídeo aqui.

 

Austin percebe que, ao premir 'enter' ou 'return' no teclado, podem ser adicionadas linhas adicionais ao bloco e continua a adicionar comandos Python.

Sentindo-se um mestre dos comandos do Drivetrain em Python, Austin imprime um certificado e guarda o projeto para a próxima vez.

Conversão de Pilhas em Switches

Mais tarde, durante o ano letivo, a Sra. Hunter retoma a atividade de limpeza dos recifes de coral e desafia os alunos a obterem uma pontuação mais elevada ou a utilizarem programação baseada em texto. Embora Austin tenha utilizado comandos Drivetrain em blocos Switch, esta atividade é uma oportunidade para aprender mais sobre o equivalente a blocos 'C' e operadores booleanos em Python. 

Converter wrapper


Austin pressiona e mantém pressionado ou clica com o botão direito do rato no bloco [If then else] e seleciona 'Converter contentor e conteúdo em bloco Switch'. Isto converte o loop e o seu conteúdo num único bloco Switch, como mostrado neste vídeo.


 

Note o recuo após a conclusão da conversão. Vários comandos no mesmo bloco Switch devem ter o recuo correto para funcionar como esperado.

Blocos de interruptores adicionais

Embora Austin tenha utilizado exclusivamente o bloco [Switch Stack], existem outros blocos Switch disponíveis. Austin está pronto para entregar um projeto de limpeza de recifes de coral melhorado, mas combina com a Sra. Hunter experimentar um novo tipo de bloco Switch, como os listados abaixo, na próxima aula.

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

Forma de bloco Descrição Exemplos de blocos Exemplos de interruptor
Blocos de chapéu Comece com uma pilha de blocos e molde-os de forma a encaixar os blocos por baixo deles. Espaço de trabalho VEXcode VR com um bloco de interruptores mostrando o bloco equivalente e comandos Python para uma curva de transmissão no recreio. Exemplos de formatos de blocos de chapéu, pilha, booleano e repórter utilizados com blocos de interruptor no VEXcode VR
Blocos empilháveis Executar os comandos principais. São concebidos para serem encaixados acima ou abaixo de outros blocos empilháveis. Exemplos de blocos switch para os tipos de bloco hat, stack, boolean e reporter no VEXcode VR Exemplos de blocos de chapéu, pilha, booleanos e de relatório com os seus respetivos blocos de interruptor no VEXcode VR
Blocos booleanos Retorna uma condição como verdadeira ou falsa e ajusta-se a quaisquer blocos com entradas hexagonais (de seis faces) para outros blocos. Espaço de trabalho VEXcode VR com a barra de ferramentas Blocos e área de codificação para criar um projeto com blocos. Exemplos de blocos de chapéu, pilha, booleanos e de relatório com os seus equivalentes em blocos de interruptor no VEXcode VR
Repórter bloqueia Os valores são apresentados em formato numérico e encaixados em quaisquer blocos com entradas ovais para outros blocos. Exemplos de blocos de comutação que combinam código baseado em blocos e código baseado em texto no VEXcode VR Paleta de blocos VEXcode VR com categorias de blocos de chapéu, pilha, booleanos e de relatório, utilizada em blocos de interruptor.
Blocos C Repita o(s) bloco(s) dentro dos mesmos ou verifique se uma condição é verdadeira ou falsa. São moldadas para encaixar blocos empilháveis acima, abaixo ou dentro delas. Exemplos de formatos de blocos VEXcode VR (chapéu, pilha, booleano e repórter) com os seus respetivos blocos de interruptor. Exemplos de blocos switch para blocos hat, stack, booleanos e reporter em VEXcode VR Exemplos de blocos de interruptores que mostram as formas dos blocos traduzidas em código baseado em texto. Projeto VEXcode VR mostrando blocos de comutação utilizados para combinar programação baseada em blocos e baseada em texto no espaço de trabalho.

Juntando tudo

Enquanto a Sra. Hunter observava Austin a testar a digitação de diferentes comandos Python em blocos Switch, conseguiu perceber como o Switch permitia aos seus alunos estruturar a sua própria aprendizagem. Os seus alunos tinham experiências de programação diferentes antes de iniciarem as suas aulas, e os desafios do VEXcode VR permitem-lhes programar nos seus próprios níveis. Alguns alunos programam exclusivamente em Blocks, outros em Python, e outros, como Austin, utilizam o Switch para fazer a transição para a programação em Python. Nos meses seguintes, Austin passou a programar exclusivamente em Python, aplicando os conhecimentos adquiridos com a utilização do Switch para tornar a transição de blocos para texto muito mais fácil e suave. 

O Switch Blocks no VEXcode VR permite que professores, como a Sra. Hunter, facilitem a aprendizagem enquanto os alunos de diferentes níveis de programação completam o mesmo desafio. Ao mesmo tempo, os alunos, como Austin, sentem-se capacitados para experimentar novos métodos de resolução de atividades de programação à medida que fazem a transição de blocos para texto utilizando os Switch Blocks no VEXcode VR.


1Weintrop, David e Uri Wilensky. "Como as modalidades baseadas em blocos, em texto e híbridas (bloco/texto) moldam as práticas de programação para principiantes."  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: