A recipe of: c basics ( Operazioni su variabili boole ane )

Con questo tutorial, andremo a introdurre un po’ di algebra di boole con i suoi concetti fondamentali, i quali, a mio parere, andrebbero insegnati sin dalle elementari.

 

Ingredienti:

 

Algebra di Boole

Con l’algebra di Boole ci adentriamo nei fondamenti della logica, nel mondo del vero o del falso.

Ora nel caso io dicessi una frase come “oggi sta piovendo” questa frase potrebbe essere o vera o falsa a seconda delle condizioni meteo.

Mettiamo caso sia un’affermazione falsa (in effetti oggi sta pure piovendo) e proviamo a combinarla con un’altra frase con la congiunzione e, tipo “oggi sta piovendo e mi e’ caduta una penna per terra” benche’ le due frasi sia completamente incorrelate tra di loro, io so’ per certo, che quel periodo composto da una frase falsa e una frase che ai miei occhi puo’ essere sia vera che falsa, e’ sicuramente falso.

Questo perche’ la congiunzione “e” rappresentanta in logica dall “and” (per l’appunto “e” in inglese”), ci dice che se un’affermazione in quel periodo e’ falsa, allora tutto il periodo risulta essere falso, in quanto la e ci dice che sono accadute/stanno accadendo entrambe le cose e basta che una di queste non stia accadendo per rendere tutto il periodo non vero, cioe’ falso.

Capito questo potremo andare a schematizzare il nostro primo schema, dove prendiamo tutte le possibili combinazioni di due frasi congiunte da una e.

and

 

Questa tabella, anche chiamata tabella della verita’, prende in considerazione due proposizioni, con valore falso ( 0 ) o vero ( 1 ) e una preposizione risultante composta dalle due che anch’essa avra’ valori vero o falso.

In questo caso la nostra proposizione risultante r sara’ uguale a “a e b” o meglio, parlando in termini di programmazione in c “a && b”.

Una tabella della verita’ non deve essere per forza costituita da sole 3 colonne, si possono andare a creare vere e proprie espressioni e andarne poi a verficare la veridicita’.

 

Una volta capito come funziona, andiamo a vedere cosa succede se congiungiamo due frasi con la congiunzione “oppure”, “oggi sta piovendo oppure mi e’ caduta una penna”, in questo caso, ci bastera’ che una sola delle due affermazioni sia vera per rendere tutto il contesto vero, quindi, andando a scrivere la tabella della verita’, otteremo che:

or

 

 

Questa tabella, rappresenza la tabella della verita’ tra due proposizoni collegate tra loro dalla congiunzione or.

In programmazione si indica con il simbolo || quindi la nostra risultante r sara’ uguale a a || b.

 

 

 

Ora, vi rimando alla pagina di wikipedia completa di tutte le tabella della verita’:

Truth Table

 

Booleane nel linguaggio di programmazione c

Ora, andando ad aprire il nostro compilatore online, vi propongo di andare a compilare ed eseguire il seguente codice:

#include <stdio.h>
#include <stdbool.h>

int main()
{
bool a,b,r;
printf(“\n a b c”);
for(a = 0; a <= 1; a++){
for(b = 0; b <= 1; b++){
r = a & b;
printf(“\n %d %d %d”,a,b,r);
if(b == 1)
break;
}
if(a == 1)
break;
}
printf(“\n\n”);
return 0;
}

Questo codice, produce la tabella della verita con due proposizioni congiunte dalla AND ” r = a & b “, non sforzatevi di capirlo completamente, i for sono dei cicli, e li vedremo nel prossimo tutorial.

Per provare le varie tabelle della verita’ vi basta cambiare l operatore & con un altro operatore, ad esempio, con l’operatore | per andare a verficare la or.

 

 

 

Saluti dal vostro nabbo Developer

Marco Tamagno

Facebook

Google+

Rispondi