Nell’articolo precedente di questa guida è stato visto come assegnare un valore ad una variabile. Ad una variabile può essere assegnato un dato oppure il risultato di un espressione. Un’espressione è una formula che specifica sempre un valore (o risultato). Ogni espressione è composta da operatori e operandi.
Gli operandi possono essere costanti, espressioni o variabili.
Gli operatori possono essere di tre tipi: aritmetici, di relazione e logici.
Gli operatori aritmetici sono:
• + per l’addizione
• – per la sottrazione
• * per la moltiplicazione
• / per la divisione
• % per il calcolo del resto della divisione tra interi
Gli operatori aritmetici di svolgere le classiche operazioni tra due numeri come somma e differenza.
Esempi:
1 2 3 4 5 6 7 8 9 10 |
int a=4; int b=6; int c; c=a+b; //c sarà uguale a 10 c=a*b; //c sarà uguale a 24 c=a-b; //c sarà uguale a -2; |
Gli operatori di relazione (o confronto) sono utilizzati per confrontare il contenuto di due variabili e sono indicati con i simboli:
• == uguale a (confronto tra due variabili)
• < minore di
• <= minore o uguale di
• > maggiore
• >= maggiore o uguale di
• != diverso
Gli operatori di relazione (o confronto) sono utilizzate nelle istruzioni condizionali e iterative (if, while, do…while e così via. Se la condizione è verificata restituisce vero, altrimenti falso. Gli operatori di relazione (o confronto) sono operatori a due argomenti e sono posizionati tra di essi.
Quindi ad esempio se scriviamo:
1 2 3 |
a=5 //assegnazione (a==5) //confronto |
Nel primo caso assegno ad a il valore di 5, mentre nel secondo caso confronto a con 5 e mi restituisce il valore booleano true se a è uguale a 5, altrimenti restituisce false.
Facciamo quindi degli esempi:
• (a>b) – restituisce true se la condizione a maggiore di b è verificata, false altrimenti
• (a>=b) – restituisce true se la condizione a maggiore o uguale a b è verificata, false altrimenti
• (a<b) – restituisce true se la condizione a minore di b è verificata, false altrimenti
• (a<=b) – restituisce true se la condizione a minore o uguale a b è verificata, false altrimenti
• (a==b) – restituisce true se la condizione a uguale a b è verificata, false altrimenti
• (a!=b) – restituisce true se la condizione a diverso da b è verificata, false altrimenti
Quindi ad esempio se a=5 e b=7 allora risulteranno vere le espressioni: (a<b), (a<=b) e (a!=b).
Mentre se ad esempio a=7 e b=7 le espressioni che risulteranno vere saranno: (a<=b), (a>=b) e (a==b)
Gli operatori logici sono:
• && indica l’operazione di congiunzione (and)
• || indica l’operazione di disgiunzione (or)
• ! indica la negazione (not)
Come funzionano questi connettivi logici?
AND: Se entrambi gli operatori sono true allora l’output è true; in tutti gli altri casi l’output è uguale a
A | B | A and B |
V | V | V |
V | F | F |
F | V | F |
F | F | F |
OR: Se almeno uno degli operandi è uguale a true, l’output è true; altrimenti, se nessuno dei due operandi è uguale a true l’output sarà false.
A | B | A or B |
V | V | V |
V | F | V |
F | V | V |
F | F | F |
NOT Se l’operando di input è true allora l’output sarà false. Se, invece l’operando di input è false, allora l’output sarà uguale a true. In altri termini, l’operatore di NOT prende un input e ne restituisce l’esatto contrario.
A | not A |
V | F |
F | V |
L’uso degli operatori è fondamentale nella stesura di un codice e nella risoluzione di un problema.
Link Utili:
- Arduino IDE: variabili, costanti e macro #2
- Arduino IDE: in che maniera si crea un programma? #1
- Arduino IDE: che cos’è e come funziona #0