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)