Skip to main content

Lezione 3: Riepilogo post-progetto

Perché il robot VR ha continuato a guidare quando ha raggiunto il disco verde?

Quando questo progetto viene eseguito, il Robot VR continua ad avanzare anche in caso di collisione con il primo disco verde, come mostrato nel video qui sotto.

File video

Questo progetto incarica solo il robot VR di verificare le condizioni di ciascuna istruzione if else una volta all'inizio del progetto.Un diagramma del flusso di logica nel nostro progetto VEXcode VR. Le frecce indicano che ogni istruzione if viene eseguita una sola volta prima della fine del progetto, rendendo così il nostro progetto molto meno reattivo di quanto vorremmo. Il nostro progetto controlla se l'occhio anteriore rileva il verde e, in tal caso, gira a destra di 90 gradi. Successivamente, se l'occhio anteriore rileva il blu, gira a sinistra per 90 gradi. Successivamente, se l'occhio anteriore rileva il rosso, smette di guidare. Infine, se l'occhio anteriore non ne rileva nessuno, si muove in avanti.

L'istruzione if  è diversa dal ciclo while 

  • Mentre i loop non richiedono una decisione da parte del robot VR. Quando la condizione è vera, il ciclo while con una condizione not esegue il comando successivo all'esterno del ciclo. Quando la condizione è False, il ciclo while con una condizione not  continua ad attendere finché la condizione non è True e interrompe l'esecuzione del resto del progetto.
    Diagramma di flusso di un progetto python che utilizza un'istruzione while not e un comando turn right al di fuori del ciclo. A destra viene mostrata una freccia rossa ciclica con le parole: Controlla continuamente le condizioni, L'occhio anteriore non rileva il verde e il robot guida in avanti. Sotto le frecce rosse c'è una freccia verde con le parole: L'occhio anteriore rileva il verde, esce dal loop.
  • Se le dichiarazioni richiedono che il robot VR prenda una decisione. Se la condizione è True, vengono eseguiti i comandi all'interno dell'istruzione if. Se la condizione è False, i comandi all'interno dell'istruzione if non vengono eseguiti.
    Stesso flusso di progetto dell'inizio della pagina con le quattro istruzioni if sequenziali e le frecce verdi a destra. Accanto a ogni freccia c'è una domanda e una risposta. In ordine questi leggono: L'occhio anteriore rileva il verde? falso. L'occhio anteriore rileva il blu? falso. L'occhio anteriore rileva il rosso? Falso. L'occhio anteriore non rileva alcun colore? Vera spinta in avanti.
  • Il sensore Front Eye non rileva alcun colore all'inizio del progetto, pertanto l'ultima istruzione  if restituisce True. Il robot VR continuerà ad avanzare poiché l'ultima affermazione se è stata segnalata come Vero e tutti gli altri blocchi sono stati segnalati come Falso all'inizio del progetto. 
  • Si noti che non ci sono loop in questo progetto che possono mettere in pausa il flusso del progetto per controllare ripetutamente una condizione. L'istruzione if  controlla la condizione una volta, quindi prosegue. 
  • Salvare il progetto prima di passare alla lezione successiva, per imparare ad aggiungere ripetutamente condizioni di controllo con le istruzioni if .

Domande

Seleziona un link qui sotto per accedere al quiz della lezione.

Google Doc / .docx / .pdf