Skip to main content

Lição 4: Usando loops enquanto infinitos

Resolver o problema do labirinto de discos

Construção do projecto

  • Carregue o projeto Unit7Lesson3 da lição anterior ou recrie o projeto mostrado aqui para começar.
    Código da lição 3 da unidade 7
  • Renomeie o projeto Unit7Lesson4.Unit7Lesson4

     

  • Arraste ou digite um loop while infinito para a parte superior do projeto e defina a condição como True.
    definir condição como verdadeira
  • Mova o comando wait para abrir espaço para os comandos que entrarão no loop while infinito. image of the project with the while loop added and the wait moved down
  • Dentro do loop while infinito, copie e cole as instruções if anteriores dentro do loop. Não exclua o comando wait na parte inferior do loop while. O seu projeto pode parecer com esta imagem. Observe que copiar e colar comandos dessa maneira não resulta em recuo correto.imagem do projeto com as instruções if copiadas para o loop while infinito
  • Lembre-se, a indentação é MUITO importante no VEXcode VR Python. Para que o fluxo do projeto seja executado como pretendido, as instruções if precisam ser recuadas dentro do loop while infinito. Selecione as instruções if e pressione 'Tab' para indentá-las dentro do loop while infinito. Quando devidamente recuado, o seu projeto deve ter a seguinte aparência: 
    image of the project when the commands are correctly indented within the infinite while loop
  • Com o loop while infinito adicionado ao projeto, todas as instruções if terão repetidamente suas condições verificadas. Abra o Disk Maze Playground e execute o projeto.
  • Quando este projeto for executado, o robô VR navegará pelo Disk Maze Playground do início ao fim. Assim que o Robô VR detetar vermelho, irá parar de conduzir.
    labirinto

Em resumo

  • No projeto da lição anterior, as condições dentro das instruções if foram verificadas apenas uma vez. Como as condições dentro das instruções if foram verificadas apenas uma vez, o Robô VR avançou para sempre porque a condição de 'sem cor' sendo detectada foi relatada como True no início do projeto.
  • Agora que o loop while infinito foi adicionado, cada condição das instruções if será verificada repetidamente. A condição do loop while é sempre True e, portanto, o código dentro do loop while sempre será executado. Isso verificará repetidamente as condições das instruções if enquanto o projeto estiver em execução.imagem do fluxo de projeto do loop while infinito 
  • Durante o fluxo do projeto, se a condição das instruções if for True, os comandos dentro da instrução if serão executados. Se a condição da instrução if for False, os comandos dentro da instrução if não serão executados e o fluxo do projeto continuará para o próximo comando. Isso permite que o robô VR execute comportamentos discretos, como girar ou parar, uma vez que detecta uma determinada cor.
    múltiplas instruções if vs. loop while infinito
  • Se as instruções forem usadas com loops while infinitos para garantir que as condições sejam constantemente verificadas.fluxo de projeto do loop while infinito

Perguntas

Selecione uma ligação abaixo para aceder ao questionário da aula.

Google Doc / .docx / .pdf