Skip to main content

Lição 3: Resumo do Pós-Projeto

Por que o robô VR continuou dirigindo quando chegou ao disco verde?

Quando este projeto é executado, o Robô VR continua a avançar mesmo quando colide com o primeiro disco verde, como é mostrado no vídeo abaixo.

Ficheiro de vídeo

Este projeto apenas instrui o Robô VR a verificar as condições de cada instrução if else uma vez no início do projeto.Um diagrama do fluxo de lógica no nosso projeto VEXcode VR. As setas indicam que cada instrução if é executada apenas uma vez antes do término do projeto, tornando nosso projeto muito menos responsivo do que gostaríamos. O nosso projeto verifica se o olho frontal deteta verde e, em caso afirmativo, vira para a direita a 90 graus. Em seguida, se o olho frontal detectar azul, ele vira para a esquerda em 90 graus. Em seguida, se o olho frontal detectar vermelho, ele para de dirigir. Por fim, se o olho frontal não detectar nenhum, ele avança.

A instrução if  é diferente do ciclo while 

  • Enquanto que loops não exigem que seja tomada uma decisão pelo Robot VR. Quando a condição é True, o ciclo while com uma condição not executa o próximo comando fora do ciclo. Quando a condição é False, o ciclo while com uma condição not  continua a esperar até que a condição seja True e pára a execução do resto do projeto.
    Diagrama de fluxo do projeto de um projeto python usando uma instrução while not e um comando turn right fora do loop. Uma seta vermelha cíclica é mostrada à direita com as palavras: Verifica continuamente a condição, o olho frontal não detecta o verde e o robô avança. Abaixo das setas vermelhas há uma seta verde com as palavras: O olho frontal detecta verde, sai do loop.
  • Se as declarações exigirem que o robô VR tome uma decisão. Se a condição for True, os comandos dentro da instrução if serão executados. Se a condição for False, os comandos dentro da instrução if não serão executados.
    O mesmo fluxo de projeto do início da página com as quatro instruções if sequenciais e as setas verdes à direita. Ao lado de cada seta há uma pergunta e resposta. Em ordem, leia: O Olho Dianteiro detecta verde? falso. O Olho Frontal detecta azul? falso. O Olho Frontal detecta vermelho? Falso. O olho frontal não detecta cor? Verdadeiro impulso para a frente.
  • O sensor Front Eye não deteta qualquer cor no início do projeto, pelo que a última instrução if retorna True. O Robô VR continuará a avançar desde o último se a afirmação foi reportada como Verdadeira e todos os outros blocos foram reportados como Falso no início do projeto. 
  • Observe que não há nenhum loop neste projeto que possa pausar o fluxo do projeto para verificar repetidamente uma condição. A instrução if  verifica a condição uma vez e depois segue em frente. 
  • Guarde o projeto antes de passar para a lição seguinte, para aprender a adicionar condições de verificação repetidas com instruções if .

Perguntas

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

Google Doc / .docx / .pdf