Documento universitario sull'introduzione all'informatica, definendone il campo e le sue radici storiche e concettuali. Il Pdf esamina i contributi di figure chiave come Dijkstra, Dreyfus, Shannon, Leibniz e Boole, analizzando i sistemi di notazione numerica e i principi dell'algebra booleana per la materia Informatica.
Mostra di più59 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Che cos'è l'informatica? Edsger W. Dijkstra è uno dei padri fondatori dell'informatica -> "Computer science is no more about computers" Invece Philippe Dreyfus ha coniato il termine informatica, dal francese, da informatique = information + automatique. L'informatica è l'elaborazione automatica dell'informatica nel quale c'è una componente sia scientifica che ingegneristica.
Per informazione, Claude Shannon che ne è uno dei padri fondatori, spiega che non ne esiste una definizione vera e propria ma esistono 3 approcci diversi (si trovano in un libro). Un approccio tecnico, un approccio semantico e un approccio influente. Nell'approccio tecnico/sintattico c'è l'analisi dei simboli e delle loro interazioni invece nell'approccio semantico c'è un'analisi del significato e del valore di verità dei simboli. L'informatica utilizza di più o preferisce l'approccio sintattico perché utilizza i simboli di qualsiasi elemento per arrivare a un determinato scopo.
Al cuore di questa disciplina c'è il concetto astratto di calcolo ossia una serie di azioni che consentono di manipolare un insieme di simboli. Il calcolo è un concetto che ha ragioni antichissime, nasce ben prima dell'informatica, ed è legato alla scrittura. Si è studiato che i sistemi della scrittura in Mesopotamia sono in realtà strettamente connessi con i numeri. La scrittura cuneiforme, inventata nel Vicino Oriente alla fine del quarto millennio a.C. - il piu antico sistema di scrittura conosciuto al mondo - deriverebbe da un antico dispositivo di conteggio. Sistema di notazione additiva (Egizi, Romani): un simbolo distinto per rappresentare ogni diversa unita -> I, II, III, IV, V, VI, VII, VIII, IX, X ... Sistemi di notazione posizionale (decimale): i valori rappresentati sono indicati dalla posizione del simbolo nella sequenza di caratteri che rappresentano il numero -> 1, 2, 3, ... , 10, ... , 100, ... , 1000 È molto antico anche affiancare strumenti, come l'abaco, perché la scrittura permette di elaborare il calcolo in modo scritto.
Molte intuizioni e concetti dell'informatica nascono ben prima dell'invenzione dei moderni computer Esistono radici di due tipi:
Gottfried Leibniz, metà del 1600, inventò il calcolo infinitesimale indipendentemente da Newton, e la sua notazione e quella in uso generale da allora. "idea meravigliosa" -> crea un linguaggio, che per mezzo di simboli, potesse stabilire quali enunciati erano veri e quali relazioni logiche intercorrono fra essi. Il progetto era composto di due parti:
George Boole introduce una concezione matematica della logica, rappresentando le entità come classi o insiemi. La logica di Boole si basa su operazioni simili a quelle dell'algebra:
Applicata agli enunciati logici, utilizzando i valori 1 (vero) e 0 (falso). Innovazione: il calcolo logico viene trattato come un'algebra, limitata ai valori binari. Regole fondamentali dell'algebra di Boole:
Def .: Un enunciato e la sua negazione non possono essere veri contemporaneamente. Rappresentazione logica: x (x - 1) = 0. - > principio di non contraddizione
Boole restringe la logica ordinaria ai valori 1 (vero) e 0 (falso):
L'algebra di Boole collega la logica al calcolo matematico, ponendo le basi per l'informatica e i circuiti logici. Offre un modello formale per descrivere la logica ordinaria e risolvere problemi logici in modo sistematico.
Sillogismi = da una coppia di proposizioni (premesse) deducono un'altra proposizione (conclusione) La validità dei sillogismi illustrata attraverso la logica di Boole evidenzia come il ragionamento deduttivo possa essere formalizzato utilizzando un linguaggio matematico. Ecco un'analisi più dettagliata e come l'algebra di Boole gioca un ruolo cruciale in questo contesto:
Un sillogismo è una forma di ragionamento in cui:
Esempio:
Boole traduce questo ragionamento in termini algebrici:
L'algebra di Boole è una struttura matematica che utilizza operatori logici per manipolare variabili binarie (0 e 1). Questo formalismo è essenziale nei circuiti elettronici, dove i segnali possono essere acceso (1) o spento (0). Alcuni operatori comuni includono:
L'algebra di Boole è stata fondamentale nella progettazione dei circuiti logici digitali. Ogni operatore logico ha una corrispondenza diretta con un tipo di porta logica:
A B A AND B A B A OR B A NOT A 0 0 0 O 0 0 O 1 0 1 C 0 1 1 1 0 1 0 O 1 0 1 1 1 1 1 1 Questi circuiti formano la base dei computer e dei sistemi digitali, rendendo possibile l'elaborazione dei dati attraverso combinazioni logiche complesse. D D
La logica di Boole non solo dimostra la validità dei sillogismi, ma è anche alla base dell'intero campo dell'elettronica digitale, mostrando come principi logici e matematici possano avere applicazioni pratiche straordinarie.
Pascalina: è una macchina progettata da Blaise Pascal (1623-1662) per eseguire somme e sottrazioni in modo meccanico. Funzionava attraverso un sistema di ruote dentate: per aggiungere un numero, era necessario girare le ruote corrispondenti. Si tratta di uno dei primi esempi di calcolatrice meccanica dell'epoca moderna, anticipando lo sviluppo delle tecnologie di calcolo.
Macchina Analitica: ideata da Charles Babbage (ma non riesce a completare fisicamente), rappresenta il primo progetto di un computer moderno general-purpose e programmabile. Questo innovativo design era concepito per eseguire una vasta gamma di operazioni, non limitandosi ai soli calcoli matematici. La macchina prevedeva componenti fondamentali come una memoria, un'unità di controllo e delle schede perforate esterne per specificare le istruzioni, anticipando i principi base dei moderni computer. Ada Lovelace Byron, riconosciuta come la prima programmatrice della storia, intuì le straordinarie potenzialità della Macchina Analitica. Scrisse il primo programma della storia per questa macchina, dimostrando come potesse essere utilizzata non solo per calcoli numerici, ma anche per risolvere problemi complessi e generare modelli più astratti.
Telaio Jaquard: è una macchina per la tessitura che rivoluzionò la produzione di tessuti. La macchina era programmabile tramite schede perforate, che guidavano il passaggio dei fili per creare i disegni desiderati. Questo innovativo sistema influenzò profondamente lo sviluppo delle macchine calcolatrici: Charles Babbage, ad esempio, si ispirò alle schede perforate del telaio Jacquard per implementare un metodo di istruzioni nella sua Macchina Analitica. Le schede perforate utilizzavano un sistema simbolico che richiamava i principi dell'algebra di Boole, rendendosi perfettamente compatibili con l'idea di linguaggio binario. Negli anni '30, Claude Shannon, nella sua tesi di laurea, stabilì un importante collegamento tra la logica di Boole e l'ingegneria. Shannon dimostrò che l'algebra booleana poteva essere applicata per semplificare e progettare circuiti elettrici, sfruttando l'analogia tra il comportamento dei circuiti elettrici ("acceso" e "spento") e il funzionamento binario. Queste scoperte portarono ai primi tentativi di creare macchine calcolatrici, come il COLOSSUS, ma il primo vero calcolatore general-purpose fu l'ENIAC. Questo straordinario dispositivo, completato negli anni '40, aveva caratteristiche impressionanti per l'epoca:
In seguito, un'innovazione fondamentale fu l'introduzione del TRANSITOR, un interruttore controllato elettronicamente che sostituì i componenti meccanici. I transistor permisero l'implementazione delle porte logiche, basate sulla logica di Boole, che sono il cuore dei processori moderni. y 0 1 V 0 o 11 +0 1 0 1 1 0 1 1 0 11 1 1 1 1 0 1 1. Truth tables X KAY 2. Logic gates XAY Ivy 3. Venn diagrams L'evoluzione tecnologica ha portato a una continua miniaturizzazione dei transistor. Transistor più piccoli consentono di inserirne un numero maggiore in uno spazio ridotto, rendendo i computer sempre più potenti e veloci. Questo fenomeno portò alla formulazione della Legge empirica di Moore, secondo cui il numero di transistor in un circuito integrato di dimensioni fisse (ad esempio un processore) raddoppia circa ogni due anni, guidando così l'inarrestabile progresso della tecnologia informatica.
Il modello del calcolatore universale, introdotto da John von Neumann, definisce in modo rigoroso come deve essere costruito un computer. Questo modello, proposto negli anni '40, è ancora alla base dei computer moderni.