Fondamenti di Logica e Algebra Booleana

Dalla Logica classica alla Rappresentazione binaria del Pensiero razionale

La Logica come Sistema di Pensiero razionale

Ogni giorno, spesso senza rendercene conto, mettiamo in pratica la logica. Quando osserviamo il cielo per decidere se portare un ombrello, quando valutiamo quale percorso sia il più rapido per raggiungere la scuola, quando confrontiamo il prezzo e la qualità di due prodotti prima di sceglierne uno, stiamo costruendo un ragionamento logico. La logica, dunque, non è un concetto astratto riservato ai filosofi o ai matematici: è uno strumento pratico e quotidiano che guida ogni nostra decisione consapevole.

Definizione

La Logica è un sistema di pensiero razionale basato su regole e principi che ci permette di analizzare informazioni, valutare alternative e trarre conclusioni coerenti. Il suo scopo è guidare il processo decisionale in modo strutturato, evitando contraddizioni e ragionamenti fallaci.

La parola «logica» deriva dal greco lógos, che significa «ragione», «discorso», «pensiero ordinato». Fin dall’antichità, i filosofi greci — in particolare Aristotele, nel IV secolo a.C. — si sono occupati di definire le regole del ragionamento corretto, dando origine alla cosiddetta logica formale: un insieme di principi che stabiliscono quando un’argomentazione è valida e quando non lo è.

Per comprendere la logica in modo intuitivo, è utile pensarla come un filtro mentale. Immaginiamo di trovarci davanti a un bivio: possiamo girare a destra o a sinistra. Un approccio impulsivo ci porterebbe a scegliere a caso. Un approccio logico, invece, ci spingerebbe a raccogliere informazioni — quale strada è più breve? quale presenta meno traffico? — a confrontarle e a scegliere sulla base di criteri oggettivi. La logica è, in sostanza, il metodo che trasforma un’intuizione in una decisione fondata.

Le tre Caratteristiche fondamentali del Pensiero logico

Il pensiero logico si distingue da altre forme di ragionamento per tre proprietà fondamentali.

La prima è la coerenza: un ragionamento logico non può contenere contraddizioni interne. Se affermiamo che tutti i gatti sono animali e che Micio è un gatto, allora Micio è necessariamente un animale. Non possiamo, nello stesso ragionamento, sostenere il contrario senza violare la coerenza.

La seconda proprietà è la struttura: il pensiero logico procede per passi ordinati, dalle premesse alla conclusione. Ogni passo deve essere giustificato dal precedente. Non si «salta» da un punto all’altro senza un collegamento.

La terza proprietà è la verificabilità: le conclusioni di un ragionamento logico possono essere controllate da chiunque. Se le premesse sono corrette e il ragionamento è valido, la conclusione sarà inevitabilmente corretta. Questa caratteristica rende la logica uno strumento universale, condiviso e affidabile.

CaratteristicaDescrizione
CoerenzaNessuna contraddizione interna
StrutturaPassi ordinati dalle premesse alla conclusione
VerificabilitàChiunque può controllare la validità del risultato

Il Ruolo della Logica nella Vita quotidiana e nella Tecnologia

La logica non è soltanto un esercizio intellettuale: è lo strumento invisibile che sorregge moltissime attività della nostra vita e della società moderna. Comprenderne il ruolo aiuta a capire perché studiarla sia così importante, soprattutto per chi si avvicina al mondo dell’informatica.

La Logica nella Vita quotidiana

Ogni volta che costruiamo un ragionamento del tipo «se… allora…», stiamo utilizzando una struttura logica. Consideriamo un esempio pratico: sappiamo che il supermercato chiude alle 20:00 e che sono le 19:30; sappiamo anche che ci vogliono 15 minuti per arrivarci. Concludiamo, logicamente, che possiamo ancora fare la spesa perché arriveremmo alle 19:45, prima della chiusura. Questo semplice ragionamento implica l’uso di premesse verificate, un calcolo e una conclusione coerente.

La logica è presente anche quando organizziamo le attività della giornata, quando pianifichiamo un viaggio valutando orari, costi e coincidenze, o quando argomentiamo una posizione durante una discussione. In tutti questi casi, la qualità delle nostre decisioni dipende direttamente dalla qualità del nostro ragionamento logico.

La Logica nella Matematica

La matematica è, per sua natura, costruita sulla logica. Ogni teorema è il risultato di una catena di deduzioni logiche che partono da assiomi — affermazioni accettate come vere senza dimostrazione — e, attraverso regole di inferenza, arrivano a conclusioni dimostrate. Senza la logica, la matematica non esisterebbe, perché non avremmo alcun modo di stabilire se un’affermazione sia vera o falsa in modo rigoroso.

La Logica nell’Informatica

Questo è il punto cruciale per il nostro percorso formativo. L’informatica è, nella sua essenza, logica applicata all’elaborazione automatica dell’informazione. Ogni programma che utilizziamo — dall’applicazione del telefono al motore di ricerca, dal videogioco al sistema operativo — funziona grazie a istruzioni che seguono regole logiche precise.

Un computer, nella sua struttura più elementare, non «capisce» il linguaggio umano né possiede intuizione. Sa fare una cosa sola: eseguire operazioni logiche con straordinaria velocità e precisione. Quando scriviamo un programma, stiamo traducendo un ragionamento logico in un linguaggio che la macchina può interpretare ed eseguire. Ecco perché la logica è il prerequisito fondamentale per qualsiasi attività di programmazione.

Approfondimento

All’interno di ogni processore moderno sono presenti miliardi di transistor — i chip più recenti ne contengono oltre 100 miliardi — che funzionano come minuscoli interruttori. Ogni transistor può trovarsi in uno di due stati: acceso o spento. L’intera capacità di calcolo di un computer, dalla semplice addizione al riconoscimento facciale, nasce dalla combinazione logica di questi stati elementari. È proprio questo il collegamento tra la logica che studieremo in questa lezione e il funzionamento reale delle macchine.

George Boole e la Nascita della Logica booleana

La logica come disciplina filosofica ha radici antichissime, ma la sua trasformazione in uno strumento matematico rigoroso, capace di descrivere il ragionamento in forma algebrica, è merito di un uomo: George Boole.

Profilo biografico

George Boole nacque il 2 novembre 1815 a Lincoln, in Inghilterra, in una famiglia di modeste condizioni economiche. Nonostante non avesse avuto accesso a un’istruzione universitaria formale, Boole fu un autodidatta di straordinario talento. Imparò da solo il latino, il greco, il francese, il tedesco e l’italiano, e sviluppò una passione profonda per la matematica, studiando in modo autonomo le opere di Laplace, Lagrange e Newton.

A soli sedici anni aprì una scuola privata per contribuire al sostentamento della famiglia. Nel 1849, nonostante la mancanza di un titolo accademico, fu nominato primo professore di matematica al Queen’s College di Cork, in Irlanda, grazie alla reputazione acquisita attraverso le sue pubblicazioni scientifiche. Morì l’8 dicembre 1864, a soli 49 anni.

L’Opera fondamentale: The Laws of Thought

Nel 1854, Boole pubblicò An Investigation of the Laws of Thought, on Which Are Founded the Mathematical Theories of Logic and Probabilities, l’opera che gli valse il titolo di fondatore della logica matematica moderna. In questo testo, Boole dimostrò che le operazioni del pensiero logico — le affermazioni, le negazioni, le congiunzioni, le disgiunzioni — potevano essere espresse attraverso un sistema algebrico.

L’idea rivoluzionaria di Boole fu questa: così come l’algebra tradizionale opera su numeri, è possibile costruire un’algebra che opera su valori di verità. In questa algebra, le variabili non rappresentano quantità numeriche, ma proposizioni che possono essere vere o false. Le operazioni non sono addizioni o moltiplicazioni in senso aritmetico, ma connettivi logici come AND, OR e NOT.

Definizione

La Logica booleana (o Algebra di Boole) è un sistema matematico che opera su variabili il cui valore può essere esclusivamente vero o falso. Attraverso operatori logici definiti (AND, OR, NOT e i loro derivati), consente di costruire espressioni complesse il cui risultato è anch’esso un valore di verità: vero oppure falso.

L’Eredità di Boole: da Astrazione matematica a Fondamento tecnologico

Al tempo della sua pubblicazione, il lavoro di Boole fu considerato un brillante esercizio teorico, ma privo di applicazioni pratiche immediate. Dovettero passare quasi ottant’anni prima che qualcuno ne comprendesse il potenziale rivoluzionario.

Nel 1937, un giovane studente del MIT di nome Claude Shannon presentò la sua tesi di laurea magistrale — intitolata A Symbolic Analysis of Relay and Switching Circuits — dimostrando che l’algebra di Boole poteva descrivere perfettamente il funzionamento dei circuiti elettrici con interruttori. Questo collegamento tra logica booleana e circuiti elettrici fu la scintilla che consentì la nascita dell’elettronica digitale e, di conseguenza, del computer moderno. Ogni volta che utilizziamo un dispositivo elettronico, stiamo beneficiando, indirettamente, del lavoro di George Boole.

Nota storica

Claude Shannon è oggi considerato il «padre della Teoria dell’informazione». La sua intuizione — che il vero e il falso di Boole potevano corrispondere agli stati di acceso e spento di un circuito elettrico — è uno dei ponti concettuali più importanti della storia della tecnologia. Senza quella tesi del 1937, il cammino verso il computer digitale sarebbe stato molto diverso.

AnnoEvento
1815Nasce George Boole a Lincoln
1854Pubblica The Laws of Thought
1937Shannon collega la logica booleana ai circuiti elettrici
OggiMiliardi di dispositivi funzionano grazie a questi principi

Vero e Falso: i Fondamenti della Logica

L’intero edificio della logica booleana poggia su una distinzione tanto semplice quanto potente: ogni affermazione può essere classificata come vera oppure falsa. Non esistono sfumature intermedie, non c’è spazio per il «forse», il «probabilmente» o il «quasi vero». Questa proprietà è nota come principio del terzo escluso (in latino: tertium non datur).

Definizione

In logica, un’affermazione (o proposizione) è un enunciato dichiarativo al quale è possibile attribuire un valore di verità: vero (V) oppure falso (F). Un’affermazione è vera quando corrisponde alla realtà dei fatti; è falsa quando non vi corrisponde.

È importante comprendere che non tutti gli enunciati sono affermazioni in senso logico. Le domande («Che ore sono?»), gli ordini («Chiudi la porta!») e le esclamazioni («Che bello!») non sono proposizioni, perché non ha senso chiedersi se siano vere o false. Solo gli enunciati dichiarativi possono essere valutati come proposizioni logiche.

Esempi di Affermazioni vere e false

Consideriamo una serie di affermazioni e classifichiamole in base al loro valore di verità.

AffermazioneValore di veritàMotivazione
Il sole sorge a estVeroCorrisponde alla realtà astronomica osservabile
Il sole sorge a ovestFalsoContraddice la realtà astronomica osservabile
L’acqua bolle a 100 °C (a livello del mare)VeroCorrisponde alla legge fisica verificata sperimentalmente
La luna ha una forma quadrataFalsoContraddice l’osservazione diretta
Roma è la capitale d’ItaliaVeroDato istituzionale verificabile
7 è un numero pariFalso7 diviso per 2 non dà un risultato intero

Affermazioni che non sono Proposizioni logiche

Per completezza, è utile distinguere le affermazioni logiche dagli enunciati che non lo sono.

EnunciatoTipoÈ una Proposizione logica?
«Che bella giornata!»EsclamazioneNo — esprime un sentimento soggettivo
«Chiudi la finestra»ComandoNo — è un ordine, non un’affermazione
«Quanti anni hai?»DomandaNo — è un’interrogazione
«La neve è bianca»Affermazione dichiarativa — può essere valutata come vera
«Studia di più!»EsortazioneNo — è un invito, non un’affermazione

Questa distinzione è fondamentale quando si programma un computer: le istruzioni che prevedono una decisione — le cosiddette strutture condizionali — si basano sempre su proposizioni logiche valutabili come vere o false, mai su espressioni ambigue o soggettive.

Le Variabili: Contenitori di Informazione

Prima di affrontare il concetto specifico di variabile booleana, è necessario comprendere il significato generale di variabile nel contesto della logica e dell’informatica.

Definizione

Una variabile è un elemento — rappresentato da un nome simbolico — al quale è associata un’informazione il cui valore può cambiare. La variabile funge da «contenitore» che conserva un dato e che può assumere valori diversi a seconda del contesto o del momento.

Per comprendere il concetto in modo intuitivo, è utile un’analogia concreta. Immaginiamo una scatola con un’etichetta sopra. L’etichetta è il nome della variabile, e il contenuto della scatola è il suo valore. Possiamo avere una scatola chiamata «età» che contiene il numero 16. Domani, il contenuto della scatola potrebbe cambiare in 17 — perché abbiamo compiuto gli anni — ma l’etichetta resta la stessa. Questo è esattamente il funzionamento di una variabile.

Tipi di Variabili

Le variabili possono contenere diversi tipi di informazione, e il tipo determina quali operazioni possiamo compiere con esse.

Tipo di variabileContenutoEsempioOperazioni tipiche
NumericaUn numero intero o decimaletemperatura = 22; prezzo = 3,50Addizione, sottrazione, confronto
TestualeUna sequenza di caratterinome = «Marco»; via = «Via Roma 15»Concatenazione, ricerca, confronto
BooleanaUn valore di veritàpiove = VERO; porta_aperta = FALSOOperazioni logiche (AND, OR, NOT)

La variabile booleana — quella che ci interessa in questa lezione — contiene un valore di verità: vero oppure falso. Nient’altro. Nelle lezioni successive vedremo come le operazioni logiche permettano di combinare più variabili booleane per costruire ragionamenti complessi.

Nota

Il concetto di variabile è uno dei pilastri fondamentali della programmazione. In qualunque linguaggio — Python, JavaScript, C, Java — le variabili sono lo strumento attraverso il quale il programmatore gestisce e manipola i dati. Comprendere il concetto di variabile nella sua forma più semplice (la variabile booleana) è il primo passo verso la programmazione.

Le Variabili booleane

Siamo ora pronti per il concetto centrale di questa lezione. Abbiamo visto che una variabile è un contenitore di informazione e che un’affermazione logica può essere soltanto vera o falsa. Combinando questi due concetti, otteniamo la variabile booleana.

Definizione

Una variabile booleana è una variabile il cui valore può assumere esclusivamente uno tra due stati: VERO (true) oppure FALSO (false). Non sono ammessi valori intermedi, parziali o indeterminati. Questa restrizione a due soli valori possibili è la caratteristica fondamentale che distingue le variabili booleane da tutti gli altri tipi di variabile.

In una variabile booleana, il «contenitore» può contenere esclusivamente uno di due oggetti: il valore VERO oppure il valore FALSO. Nient’altro. È come avere un interruttore della luce: la luce è accesa oppure è spenta. Non esiste uno stato intermedio.

Dalla Proposizione alla Variabile booleana

La relazione tra proposizioni logiche e variabili booleane è diretta. Quando assegniamo una lettera (A, B, C…) a un’affermazione, stiamo creando una variabile booleana il cui valore dipende dalla verità o falsità di quell’affermazione.

AffermazioneVariabileValore
Il sole sorge a estAVERO
Il sole sorge a ovestBFALSO
La luna ha forma quadrataCFALSO
L’acqua bolle a 100 °C (a livello del mare)DVERO
La Terra orbita attorno al SoleEVERO
Il numero 4 è dispariFFALSO

Perché le Variabili booleane sono così importanti

Le variabili booleane sono il mattone elementare di ogni sistema digitale. Ogni decisione che un computer prende — visualizzare una pagina, inviare un messaggio, attivare un allarme — si riduce, al livello più basso, a una sequenza di valutazioni booleane:

  • «L’utente ha inserito la password corretta?» → VERO o FALSO;
  • «La connessione a Internet è attiva?» → VERO o FALSO;
  • «Il file richiesto esiste sul disco?» → VERO o FALSO.

Tutte queste domande generano variabili booleane, e dalle loro combinazioni logiche nascono le azioni del sistema.

La Codifica binaria dei Valori booleani

Abbiamo stabilito che una variabile booleana può assumere due soli valori: VERO o FALSO. Ora dobbiamo affrontare una questione pratica: come si rappresentano questi due valori all’interno di un computer?

La risposta è il sistema binario: un sistema di numerazione che utilizza soltanto due cifre, 0 e 1. Ciascuna di queste cifre è chiamata bit, contrazione dell’espressione inglese binary digit, cioè «cifra binaria».

Definizione

Il bit è l’unità elementare di informazione nei sistemi digitali. Può assumere esclusivamente uno di due valori: 0 oppure 1. Per convenzione universale, il valore 0 rappresenta lo stato FALSO e il valore 1 rappresenta lo stato VERO.

Valore booleanoCodifica binaria (bit)
FALSO (false)0
VERO (true)1

Applicazione pratica: Codifica delle Affermazioni

AffermazioneVariabileValoreBit
Il sole sorge a estAVERO1
Il sole sorge a ovestBFALSO0
La luna ha forma quadrataCFALSO0
L’acqua bolle a 100 °C (a livello del mare)DVERO1
La Terra orbita attorno al SoleEVERO1
Il numero 4 è dispariFFALSO0

Perché proprio 0 e 1?

La scelta dello 0 e dell’1 non è arbitraria. Dal punto di vista elettronico, distinguere tra due stati — alta tensione e bassa tensione, corrente e assenza di corrente — è tecnologicamente semplice, affidabile e resistente ai disturbi. Un sistema a tre o più stati sarebbe molto più fragile, perché le differenze tra livelli intermedi sarebbero più sottili e soggette a errori.

Dal punto di vista matematico, il sistema binario è il sistema di numerazione più semplice possibile e si presta perfettamente a rappresentare la logica booleana, che prevede esattamente due valori. Questa sovrapposizione tra logica a due valori e sistema numerico a due cifre è la ragione profonda per cui i computer digitali funzionano nel modo in cui li conosciamo.

Approfondimento

Il sistema binario non fu inventato per i computer. Fu descritto per la prima volta in modo sistematico dal matematico tedesco Gottfried Wilhelm Leibniz nel 1703, quasi un secolo prima di Boole e oltre due secoli prima della costruzione del primo computer elettronico. Leibniz ne intuì le potenzialità filosofiche e matematiche, ma fu solo nel XX secolo che la combinazione tra logica booleana e sistema binario trovò la sua applicazione tecnologica definitiva.

Dal Pensiero umano al Linguaggio della Macchina

Ricapitoliamo il percorso concettuale compiuto in questa lezione attraverso una sintesi che collega tutti gli elementi trattati in una visione unitaria.

Siamo partiti dalla logica come capacità umana di ragionare in modo coerente, strutturato e verificabile. Abbiamo visto come George Boole abbia trasformato questa capacità in un sistema algebrico formale — l’algebra booleana — in cui il ragionamento si esprime attraverso variabili e operatori. Abbiamo compreso che ogni affermazione logica può essere classificata come vera o falsa, e che questa classificazione può essere rappresentata con una variabile booleana. Infine, abbiamo visto che i due valori della variabile booleana trovano una corrispondenza esatta nel sistema binario: 1 per vero, 0 per falso.

Nelle prossime lezioni studieremo esattamente come queste combinazioni avvengono, attraverso i sette operatori logici fondamentali: NOT, AND, OR, XOR e i loro derivati NAND, NOR e XNOR. Con quei sette strumenti, e con le variabili booleane che abbiamo imparato a definire in questa lezione, saremo in grado di descrivere qualsiasi operazione logica che un computer può eseguire.

Il Tipo booleano nei Linguaggi di Programmazione

Abbiamo visto che una variabile booleana può assumere solo due valori: VERO oppure FALSO, rappresentati in binario come 1 e 0. Questo concetto non è rimasto confinato alla matematica o all’elettronica: è entrato direttamente nei linguaggi di programmazione moderni sotto forma di un tipo di dato specifico, chiamato tipo booleano (in inglese boolean type o bool).

In PHP e in JavaScript — i due linguaggi che utilizzeremo in questo corso — il tipo booleano esiste nativamente e si comporta esattamente come la variabile booleana che abbiamo studiato: può valere solo true (vero) oppure false (falso).

Il Tipo booleano in PHP

In PHP le variabili si dichiarano con il simbolo $ seguito dal nome scelto. Per assegnare a una variabile il valore booleano true o false è sufficiente scrivere:

<?php
$piove = true;
$sole = false;
$porta_aperta = true;
$sistema_attivo = false;
?>

Le parole chiave true e false in PHP non fanno distinzione tra maiuscole e minuscole: true, TRUE e True sono equivalenti. Per convenzione e leggibilità si usa sempre la forma minuscola.

Per verificare il valore contenuto in una variabile booleana si può usare la funzione var_dump(), che mostra il tipo e il valore della variabile:

<?php
$piove = true;
var_dump($piove);   // Output: bool(true)

$sole = false;
var_dump($sole);    // Output: bool(false)
?>

L’output bool(true) conferma che la variabile è di tipo booleano e che il suo valore è true. Questo è il modo in cui PHP rappresenta internamente ciò che abbiamo chiamato VERO e FALSO nel corso di questa lezione.

Il Tipo booleano in JavaScript

In JavaScript le variabili si dichiarano con le parole chiave let (per variabili il cui valore può cambiare) o const (per variabili il cui valore resta fisso). Il tipo booleano funziona in modo analogo a PHP:

let piove = true;
let sole = false;
let portaAperta = true;
const sistemaAttivo = false;

Per verificare il valore di una variabile booleana si usa console.log(), che stampa il risultato nella console del browser o dell’ambiente di sviluppo:

let piove = true;
console.log(piove);           // Output: true
console.log(typeof piove);    // Output: boolean

La funzione typeof è particolarmente utile: restituisce il tipo della variabile come stringa di testo. Nel caso di una variabile booleana, restituisce sempre la stringa "boolean".

Dalla Proposizione logica alla Variabile nel Codice

Riprendiamo la tabella degli esempi che abbiamo costruito in questa lezione e traduciamola direttamente in codice PHP e JavaScript. Il collegamento tra la logica formale e la scrittura del programma è immediato:

AffermazioneVariabileValorePHPJavaScript
Il sole sorge a estAVERO$sole_sorge_est = true;let soleSorgeEst = true;
Il sole sorge a ovestBFALSO$sole_sorge_ovest = false;let soleSorgeOvest = false;
La luna ha forma quadrataCFALSO$luna_quadrata = false;let lunaQuadrata = false;
L’acqua bolle a 100 °CDVERO$acqua_bolle = true;let acquaBolle = true;

Notate che i nomi delle variabili seguono convenzioni diverse nei due linguaggi: PHP usa il carattere underscore _ per separare le parole (convenzione snake_case), mentre JavaScript usa la lettera maiuscola all’inizio di ogni parola successiva alla prima (convenzione camelCase). Entrambe le convenzioni sono valide nei rispettivi linguaggi; ciò che conta è la coerenza all’interno di un progetto.

Perché il Tipo booleano è fondamentale nella Programmazione

Nella programmazione, le variabili booleane sono il meccanismo con cui un programma prende decisioni. Ogni volta che un programma deve scegliere tra due comportamenti alternativi — mostrare un messaggio o nasconderlo, consentire l’accesso o negarlo, eseguire un ciclo o interromperlo — quella scelta dipende dal valore di una o più variabili booleane.

<?php
// Esempio: decidere se mostrare un messaggio di benvenuto
$utente_autenticato = true;

// Nelle prossime lezioni vedremo come usare questo valore
// per controllare il comportamento del programma.
// Per ora, osserva come la variabile booleana "contiene" la decisione.
?>
// Lo stesso concetto in JavaScript
let utenteAutenticato = true;

// Il valore true o false determinerà cosa fa il programma.
// Scopriremo come nelle lezioni successive.

Questi esempi sono volutamente incompleti: il programma sa che l’utente è autenticato, ma ancora non sa cosa fare con questa informazione. Nelle prossime lezioni, dopo aver studiato gli operatori logici e le strutture condizionali, avremo tutti gli strumenti per completare questo ragionamento e scrivere programmi che reagiscono in modo diverso a seconda del valore delle variabili booleane.

Nota

PHP e JavaScript gestiscono il tipo booleano in modo leggermente diverso quando si tratta di valori non esplicitamente booleani — come numeri, stringhe o oggetti — che vengono convertiti automaticamente in true o false in certi contesti. Questo comportamento, noto come conversione implicita di tipo (o type coercion in inglese), è un argomento che affronteremo in dettaglio nella lezione dedicata alle espressioni booleane nella programmazione. Per ora è sufficiente sapere che true vale 1 e false vale 0, esattamente come abbiamo visto nella codifica binaria.

Esercizi di Verifica

Esercizio 1 — Classificazione di Enunciati

Per ciascuno dei seguenti enunciati, stabilisci se si tratta di una proposizione logica (cioè un’affermazione alla quale si può attribuire un valore di verità) oppure no. Se è una proposizione, indica se è vera o falsa.

  1. La Terra è il terzo pianeta del Sistema Solare.
  2. Apri la finestra, per favore.
  3. 12 + 5 = 17
  4. Quanto costa questo libro?
  5. Parigi è la capitale della Germania.
  6. Che freddo!
  7. Il numero 15 è divisibile per 3.
  8. I pesci vivono nell’acqua.

Suggerimento: ricorda che solo gli enunciati dichiarativi possono essere proposizioni logiche. Domande, ordini, esclamazioni e inviti non sono valutabili come veri o falsi.

Esercizio 2 — Variabili booleane e Codifica binaria

Associa una variabile booleana a ciascuna delle seguenti affermazioni, determina il suo valore (VERO o FALSO) e scrivi la codifica binaria corrispondente. Compila la tabella seguente.

AffermazioneVariabileValoreBit
Il ferro è un metallo.A
Il Monte Bianco si trova in Sicilia.B
L’anno 2024 è stato un anno bisestile.C
10 × 3 = 33D
L’ossigeno è indispensabile per la respirazione umana.E

Esercizio 3 — Riflessione

Rispondi alle seguenti domande con parole tue, in almeno tre righe per ciascuna risposta.

  1. Perché la logica è considerata il fondamento dell’informatica?
  2. Qual è la differenza tra una variabile generica e una variabile booleana?
  3. Spiega il collegamento tra il lavoro di George Boole e il funzionamento dei computer moderni.

Esercizio 4 — Situazioni quotidiane

Pensa a cinque situazioni della tua vita quotidiana in cui prendi una decisione basata su una condizione che può essere vera o falsa. Per ciascuna, scrivi l’affermazione sotto forma di proposizione logica e codificala come variabile booleana con il corrispondente valore binario. Segui il modello dell’esempio.

Esempio:

SituazioneProposizioneVariabileValore attualeBit
Decidere se mangiare«Ho fame»HVERO1

Il tuo lavoro:

SituazioneProposizioneVariabileValore attualeBit
1.
2.
3.
4.
5.

Esercizio 5 — Dal Codice alla Logica

Osserva le seguenti dichiarazioni di variabili booleane scritte in PHP e JavaScript. Per ciascuna, scrivi la proposizione logica corrispondente in linguaggio naturale e indica se il valore assegnato ti sembra corretto rispetto alla realtà.

<?php
$terra_è_piatta = false;
$pesci_respirano_acqua = true;
$mese_gennaio_ha_32_giorni = false;
$sole_è_una_stella = true;
?>
let terraÈPiatta = false;
let pesciRespiranoacqua = true;
let meseGennaioHa32Giorni = false;
let soleÈUnaStella = true;</code></pre>

<p>Poi rispondi: qual è la differenza tra scrivere <code>$valore = true;</code> in PHP e affermare «VERO» in logica formale? Sono la stessa cosa oppure c'è una distinzione importante?</p>

Risorse correlate

LezioneTitolo
L1Fondamenti di Logica e Algebra Booleana
L2Operatori Logici Fondamentali
L3Operatori Logici Derivati e Tabelle di Verità
L4Porte Logiche e Rappresentazione Grafica
L5Espressioni Booleane: Scrittura e Valutazione
L6Leggi dell’Algebra di Boole
L7La Mappa di Karnaugh
L8Logica Booleana nella Programmazione
0 0 voti
Valutazione Media
Iscriviti
Notificami
guest
0 Commenti
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Torna in alto