Esistono poi i connettivi logici or, and e not, la cui tavola di
verità è rappresentata in Tabella , dove si può vedere
come agisce la negazione (not) sulle variabili x e y che possono essere o
vere (1) o false (0). L'operatore or, è vero quando almeno una delle
due variabili è vera, mentre l'operatore and lo è soltanto se
entrambe sono vere. Cosa molto importante è la negazione di una
congiunzione o di una disgiunzione. È infatti verificabile che
x | y | not x | not y | x and y | x or y | not(x or y) | (not x) and (not y) |
0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
Possiamo a questo punto utilizzare i connettivi logici per il controllo del
flusso, per esempio se vogliamo calcolare dobbiamo
considerare
il che si verifica quando
e
hanno
lo stesso segno, inoltre sappiamo che non si può dividere per zero,
per cui bisogna richiedere anche
. Uno spezzone di codice potrebbe essere
quindi
if (x>=0 and y >0) or (x<=0 and y < 0): z=log(x/y)