Condizionali

Teoria

if

 L’istruzione o il blocco di istruzioni viene eseguita solo se la condizione logica è vera.

 

if (x>=120) digitalWrite(LEDpin, HIGH); 

if (x>1 or x<11)
   digitalWrite(LEDpin, HIGH); 

if (x!=5){digitalWrite(LEDpin, HIGH);} 

if (x==12){ 
  digitalWrite(LEDpin1, HIGH);
  digitalWrite(LEDpin2, HIGH); 
}   

 

ATTENZIONE: Se nell'ultimo esempio, per errore si scrive if(x=12) la condizione risultante sarà sempre vera in quanto ad x viene assegnato il valore 12 che essendo un valore non nullo restituisce sempre vero.

Teoria

if...else

Se l’espressione contenuta all’interno delle parentesi tonde è veraviene eseguito il codice di programma che segue. Se l’espressione è falsa vengono eseguite le righe di codice subito dopo l’istruzione else.

 



if (pinInput < 500)
{ // blocco A } else
{ // blocco B }

Teoria

switch...case

Viene usato quando bisogna confrontare il valore di una variabile con una serie di valori costanti fino a trovare quello corrispondente. Una volta che si trova la corrispondenza vengono eseguite le istruzioni necessarie. In sostanza confronta il valore della variabile con il valore specificato dalla clausola case.

 

switch (var) {
    case Valore1:
      // istruzioni blocco 1
      break;
    case Valore2:
      // istruzioni blocco 2
      break;
     ..........

case ValoreN: // istruzioni blocco 2 break;
    default: 
// se non vi sono
// corrispondenze
}

 

  • var è la variabile che si deve confrontare con i diversi casi
  • Valore1...ValoreN  sono i valori costanti di confronto con var
  • non è necessario inserire le istruzioni tra { }
  • default è opzionale
  • break fa uscire immediatamente dallo switch e viene tipicamente utilizzata alla fine di ogni clausola case.
  • se manca l'istruzione break, anche dopo aver trovato la condizione giusta, verrebbero eseguiti comunque i confronti successivi fino alla prima istruzione di break oppure fino alla fine dello switch.

Intervento del docente

ESEMPI. Esercizi 007,008  e 009 (contiene anche if...else)