Strutture di Controllo

Le strutture di controllo sono particolari istruzioni che permettono di eseguire le istruzioni chiuse al loro interno secondo determinate condizioni specificate dal programmatore.

if

  • Descrizione:

    Verifica una condizione, se essa è vera esegue il codice al suo interno.

  • Sintassi:

    if (condizione){...}

  • Parametri:

    - condizione

  • Codice di esempio:

    int led = 13;

    void setup(){
       pinMode (led, LOW);
    }

    void loop(){
       if (digitalRead(led) == LOW){ /*Se il pin 13 (led) è spento...*/
         digitalWrite(led, HIGH); /*Accendilo!*/
      }
    }

    Le parentesi possono essere omesse dopo un'istruzione if o in qualsiasi altra struttura di controllo se la riga successiva (definita dal punto e virgola) diventa l'unica istruzione condizionale:

    ...
    void loop(){
       if (digitalRead(led) == LOW) /*Se il pin 13 (led) è spento...*/
         digitalWrite(led, HIGH); /*Accendilo!*/
    }

  • Operatori di comparazione:

    x == y (x è uguale a y) //ATTENZIONE a non scrivere x = y!
    x != y (x non è uguale a y)
    x < y (x è minore di y)
    x > y (x è maggiore di y)
    x <= y (x è minore o uguale a y)
    x >= y (x è maggiore o uguale a y)

if...else

  • Descrizione:

    Permette un maggiore controllo sul flusso del codice rispetto al singolo if. Esso infatti verrà eseguito se la condizione risulterà false. Nel'else è possibile procedere con un altro if, in modo da poter eseguire contemporaneamente più test che si escludono a vicenda; ogni test passerà a quello successivo fino a quando non se ne verificherà uno vero.

  • Sintassi:

    if (condizione){
      ...
    } else{
      ...
    }

  • Parametri:

    - condizione

  • Codice di esempio:

    int led = 13;

    void setup(){
       pinMode(led, LOW);
    }

    void loop(){
       if (digitalRead(led) == LOW){ /*Se il pin 13 (led) è spento...*/
         digitalWrite(led, HIGH); /*Accendilo!*/
      } else{ /*Altrimenti...*/
         digitalWrite(led, LOW); /*Spegnilo!*/
      }
    }

for

  • Descrizione:

    Ripete le istruzioni al suo interno n° volte.

  • Sintassi:

    for(inizializzazione; condizione; incremento){...}

  • Parametri:

    - inizializzazione: viene inizializzata una variabile usata come contatore
    - condizione: viene inserita una condiziona dopo la quale il ciclo si ferma
    - incremento: viene incrementata la variabile inizializzata precedentemente

  • Codice di esempio:

    int led = 13;

    void setup(){
       pinMode (led, LOW);
    }

    void loop(){
      for(int i = 0; i < 10; i++) { /*Ripete per 10 volte...*/
         digitalWrite (led, HIGH);
         delay (1000);
         digitalWrite (led, LOW);
         delay (1000);
       }
    }

while

  • Descrizione:

    A differenza del ciclo for che si ripete per n° volte, il ciclo while, come quello do...while che vedremo dopo, si ripete fino a quando la condizione tra parentesi diventa false.

  • Sintassi:

    while(condizione){...}

  • Parametri:

    - condizione

  • Codice di esempio:

    int led = 13;

    void setup(){
       pinMode (led, LOW);
    }

    void loop(){
      /*Finchè non sono passati 4000ms (4s) dall'avvio...*/
       while(millis() != 4000){
         digitalWrite (led, HIGH);
         delay (1000);
         digitalWrite (led, LOW);
         delay (1000);
       }
    }

do...while

  • Descrizione:

    Il do...while funziona allo stesso modo del ciclo while , con l'eccezione che la condizione viene testata alla fine del ciclo, quindi il ciclo verrà eseguito almeno una volta.

  • Sintassi:

    do{
      ...
    }while(condizione);

  • Parametri:

    - condizione

  • Codice di esempio:

    int led = 13;
    bool stato = false;

    void setup(){
       pinMode (led, LOW);
    }

    void loop(){
      do{
         digitalWrite (led, HIGH);
         delay (1000);
         digitalWrite (led, LOW);
         delay (1000);
       while (stato != false);
      /*Anche se la condizione è falsa, il ciclo viene eseguito una volta*/
      }
    }



Quiz di Riepilogo

Most Read

Cos'è Arduino?

Arduino IDE

Setup() & Loop()

Funzioni, Variabili e Strutture

Related Posts

Variabili

Operatori

Catagories