Skip to main content

Ícone Dicas para Professores Dicas para Professores - Objetivo desta Atividade

A programação de comportamentos repetitivos pode ser realizada usando loops repetidos ou para sempre. Em suma, os blocos de repetição permitem que o programador defina um número específico de vezes para que os blocos dentro de seu loop se repitam. O bloco forever repete os blocos dentro de seu loop para sempre, ou até que o projeto seja interrompido. Nesta atividade, os alunos aprendem sobre ambos.

Para obter mais informações sobre programação com loops repeat ou forever, visite as informações de ajuda no VEXcode V5.

A seguir, um resumo do que os alunos farão nesta atividade:

  • Assista ao vídeo tutorial Usando Loops.

  • Explore o projeto de exemplo de Ações Repetidas (Sem Giroscópio).

  • Compare e contraste entre os blocos forever e repeat.

  • Complete o Desafio de Loops Quadrados que pede aos alunos que movam o Clawbot em um quadrado e acionem a garra e o braço antes de cada turno.

O Clawbot V5 está pronto para avançar!

Você pode usar as informações de Ajuda dentro do VEXcode V5  para aprender sobre os blocos. Para obter orientação sobre como usar o recurso Ajuda, consulte o tutorial Usando a Ajuda.

Ícone Dicas para Professores Dicas para Professores

Se esta é a primeira vez que o aluno usa o VEXcode V5, ele também pode ver os Tutoriais na barra de ferramentas para aprender outras habilidades básicas.

Materiais Necessários:
Quantidade Materiais necessários
1

VEX V5 Classroom Starter Kit (com firmware atualizado)

1

VEXcode V5 (versão mais recente, Windows, MacOS, Chromebook)

1

Caderno de Engenharia

1

Usando Loops (Tutorial)
 

1

Exemplo de projeto de Repetição de Ações (Sem Giroscópio)
 

Passo 1:  Vamos começar a programar com loops.

  • Comece por assistir ao vídeo tutorial Using Loops.

  • Abra o projeto de exemplo Repeating Actions (No Gyro).

    Ícone de modelo de ações repetidas (sem giroscópio), que ilustra qual o projeto de modelo a selecionar para esta atividade.

  • Ver o projeto de exemplo aberto.

    Exemplo de projeto no espaço de trabalho VEXcode V5. À esquerda, o projeto tem um bloco When Started com um bloco Repeat anexado, definido para repetir 4 vezes. Dentro do loop há um bloco Drive For definido para avançar para 300 mm e um bloco Turn For definido para a direita para 90 graus. À direita, uma nota diz "Este programa conduz um robô em um quadrado de 300x300mm, repetindo os comandos de avanço e giro 4 vezes".

Faça o seguinte no seu caderno de engenharia.

  1. Preveja o que o Clawbot fará no projeto. Explique mais do que o facto de o projeto se repetir.

    O que ele está repetindo? O que o Clawbot está fazendo?

  2. Escreva a sua previsão, mas não divida o projeto curto em mais de duas partes.

Ícone da Caixa de Ferramentas do Professor Caixa de Ferramentas do Professor - Respostas

  1. Este projeto fará com que o robô avance 300 milímetros e, em seguida, vire à direita 90 graus 4 vezes para completar um quadrado. Em vez de usar os mesmos 2 blocos 4 vezes, o bloco de repetição reduz as mesmas ações que 8 blocos - em 3 blocos. O bloco repetir repete as ações de avançar e depois virar.

  2. A previsão pode ser simplesmente "O Clawbot se move num quadrado". Esta seria uma maneira sucinta de capturar os movimentos repetidos do Clawbot sem qualquer contexto.

Os cadernos de engenharia dos alunos podem ser mantidos e pontuados individualmente (Google Doc / .docx / .pdf) ou em equipe (Google Doc / .docx / .pdf). Os links anteriores fornecem uma rubrica diferente para cada abordagem. Sempre que uma rubrica for incluída no planejamento educacional, é uma boa prática explicar a rubrica ou pelo menos dar cópias aos alunos antes do início da atividade.

Passo 2: Execute o projeto e observe o robô.

Dois trechos de código lado a lado mostrando a diferença no caso de uso entre um loop para sempre (à esquerda) e um loop de repetição (à direita). À esquerda, há um Comentário que diz 'Usando a entrada do sensor para determinar quando girar' com um bloco para sempre com um bloco se, em seguida, dentro. Se o Para-choque for pressionado, o robô girará 90 graus para a direita, caso contrário, ele avançará. À direita, o comentário diz "Usando uma distância fixa para determinar quando girar" com um loop de repetição definido como 4 para conduzir o robô em um quadrado de 300 mm.

Veja novamente o projeto Repeating Actions (No Gyro) (à direita). Este projeto repetirá o comportamento para a frente e, em seguida, girará quatro vezes. Um bloco de repetição é usado quando você deseja usar um conjunto de comportamentos por um determinado número de vezes. Se o bloco de repetição for substituído por um bloco para sempre, o robô repetirá o comportamento para frente e, em seguida, mudará para sempre.

No projeto à esquerda, a entrada de um sensor é usada para determinar quando começar a girar. O projeto à direita usa uma distância de transmissão fixa para determinar quando começar a girar.

Para verificar continuamente a entrada de um sensor, um bloco if/else é usado junto com um bloco forever. No projeto à esquerda, o robô girará para a direita quando o  sensor BumperH for pressionado, caso contrário, o robô avançará para sempre se o  sensor BumperH não for pressionado. Para verificar continuamente o valor do sensor BumperH, o bloco if/then está dentro de um bloco forever.

O projeto acima à esquerda é um caso de uso prático de uma estrutura que se repete para sempre - usando blocos para sempre e blocos se/então juntos. Imagine uma vassoura autónoma que continua a avançar até colidir com uma parede ou objeto e, em seguida, vira antes de continuar a conduzir.

Ícone Estenda a sua aprendizagem Estenda a sua aprendizagem

Para explorar ainda mais o uso de loops com condicionais, crie o projeto de exemplo Floor Sweeper no VEXcode V5.

Projeto VEXcode V5 com um bloco When Started e um bloco Forever anexado. Dentro do bloco sempre há um bloco Repetir até com a condição definida como Bumper8 pressionada e um bloco Dirigir para frente dentro. Em seguida, há um bloco Stop driving com um turno para bloco definido para a direita para 90 mais escolha aleatória de 0 a 90 graus.

  • Comece fazendo com que os alunos montem e liguem os interruptores do para-choque.
  • Peça aos alunos que abram o projeto de exemplo Clawbot (Drivetrain 2-motor, No Gyro).

    O ícone do projeto de exemplo diz 'Clawbot (Drivetrain two motor, No Gyro)' na parte inferior para indicar qual modelo escolher para este projeto.

  • Peça aos alunos que construam o projeto acima.
  • Peça aos alunos que salvem o projeto como Varredor de Piso.

    Caixa de diálogo do projeto na barra de ferramentas VEXcode V5. O slot 1 está selecionado e o nome do projeto diz 'Varredor de Piso'.

  • Se os alunos precisarem de ajuda para salvar o projeto, consulte o tutorial Naming and Saving.

    Barra de ferramentas VEXcode V5 com uma seta vermelha chamando o botão Tutoriais à direita do Menu Arquivo.

     

Se os alunos precisarem de ajuda com algum dos blocos, encaminhe-os para as informações de Ajuda ou tutorial.

Peça aos alunos que 
baixem e executem o projeto para observar como o robô se move. Em seguida, inicie uma discussão em sala de aula e peça aos alunos que expliquem por que o bloco para sempre foi usado em vez de um bloco de repetição.

Os alunos devem observar que um bloco para sempre é usado porque este projeto verifica continuamente se o interruptor do para-choque está sendo pressionado.

Passo 3: O Desafio dos Loops Quadrados!

Caminho esboçado do movimento do robô mostrando um quadrado verde com setas indicando o movimento no sentido anti-horário em um quadrado. Em cada canto há uma seta laranja de dupla face indicando um movimento neste ponto do caminho.

  • Peça ao seu Clawbot para conduzir num quadrado.
  • Antes de cada turno, a garra deve ser aberta e fechada, e o braço deve ser levantado e abaixado.
  • O Clawbot não pode dirigir ao longo de um lado da praça mais de uma vez.
  • Você pode usar o projeto de exemplo Repeating Actions (No Gyro) como ponto de partida, mas salvá-lo como SquaredLoops  antes de fazer qualquer alteração.

Caixa de diálogo Nome do projeto na barra de ferramentas do VEXcode IQ. O slot 1 é selecionado e o nome do projeto lê Squared Loops.

No seu caderno de engenharia, planeie o seguinte:

  • Planeie a sua solução e preveja o que cada bloco do seu projeto fará com o Clawbot.
  • Baixe e execute o seu projeto para testá-lo antes de enviá-lo.
  • Faça alterações no projeto conforme necessário e anote o que foi alterado durante o teste.

 

Ícone da Caixa de Ferramentas do Professor Caixa de Ferramentas do Professor - Solução

A seguir, uma possível solução para o Desafio dos Ciclos Quadrados:

Solução de amostra VEXcode V5 com um bloco When started e um bloco Repeat definido como 4 anexado. Existem 6 blocos dentro do bloco de repetição que lêem, em ordem, Drive forward for 300 mm, Spin claw motor open for 70 degrees, spin arm motor up for 360 degrees, spin claw motor closed for 70 degrees, spin arm motor down for 360 degrees, turn right for 90 degrees.

Pode fornecer aos alunos uma rubrica de programação para pontuar os seus projetos. Clique em um dos links a seguir (Google Doc / .docx / .pdf)
Os cadernos de engenharia dos alunos podem ser mantidos e pontuados individualmente (Google Doc / .docx / .pdf) ou em equipe (Google Doc / .docx / .pdf).