Variabile boolena per istruzione loop, while

Ciao
come da titolo , vorrei delle delucidazioni su l’uso di una varibile boolena all’interno di un istruzione loop e while, se dichiaro la variabile nel all’inizio nel codice questa diventa una globale ma vorrei capire come si comporta all’interno di queste 2 istruzioni.
Vado più nello specifico , devo modificare un codice e inserire questa variabile e modificare il contenuto di queste 2 istruzioni.
indico la mia variabile con il nome boolean “pippo”
le modifiche sono queste
inserisco la variabile nelle dichiarazioni iniziali

boolean pippo=false;

istruzioni

void loop
{
 istruzioni
  while(condizione1)
  {
    if (condizione2 or pippo)
    {
     istruzioni
     pippo=true;
     }
      else
      {
       istruzioni
       pippo=false;
       }
   } // chiuso ciclo while
   istruzioni
   if (pippo)
   {
    istruzioni
   }
    else
    {
    istruzioni
    }
  }  // chiuso ciclo loop

la variabile boolean dovrebbe funzionare cosi ed è quello che vorrei io a meno che non mi sbaglio:
parte il codice e mi legge pippo = falso
arriva al loop, esegue le istruzioni, fino a while , fino a quando condizione1 = vera , while ripete questo:
se condizione2= vera ( al momento pippo =false) partono istruzioni di if e pippo =true, finisce il ciclo while per ripartire ed ho che pippo= true , giusto?
se condizione2=false mi parte else e sue istruzioini e riparte while con pippo=false ,giusto?
quando la condizone1=false , smette il ciclo while e mi restiuisce un pippo con il suo valore che andro ad usare nelle istruzione if (se vera ) oppure else se falsa e finisce il ciclo loop per ripartire , quando riparte il ciclo loop mi legge l’ultimo valore aggiornato di pippo che ho alla fine del ciclo precedente del loop?
spero di essermi spiegato bene, vi ringrazio

@fly71 : in conformità al REGOLAMENTO , punto 7, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l’icona </> nella barra degli strumenti per contrassegnarla come codice. Grazie.

Guglielmo

Appunto… :rofl:

@fly71 devi approfondire meglio il concetto di “scope” delle variabili.
Nell’esempio che hai proposto le variabili che hai definito come

boolean pippo=true;
boolean pippo=false;

sono due variabili distinte, ma con lo stesso nome e che non hanno nessuna relazione tra loro.
La prima ha validità nel blocco di istruzioni delimitato dall’if, la seconda in quello che corrisponde all’else.

@fly71 : … eppure era scritto molto CHIARAMENTE … “cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post)” … secondo te cosa vuol dire ? Creare un nuovo post ? :roll_eyes:

EDITA il tuo primo post, poi io cancello quello duplicato.

Guglielmo

Scusa Guglielmo ,
non avevo letto il tuo 2° messaggio perchè avevo risposto a cotestants e non avevo capito bene come poter modificare il posto già scritto , ho corretto il 1° post.
ma se nella discussione , voglio far presente delle correzioni sul codice presentato all’origine è sufficiente inserire solo le righe corrette ?

@fly71 Acora una volta richiamo la tua attenzione sul QUESTO mio post e su QUESTO
… o sistemi o la discussione NON prosegue.

@cotestatnt : cortesemente sospendi le risposte sino a che la cosa NON sarà sistemata. Grazie.

Guglielmo

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.