Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fondamenti di Informatica
Un pò di…storia
Macchine per il calcolo automatico
• L’idea di realizzare macchine che fossero in grado di eseguire calcoli
matematici in maniera automatica è antica
• La calcolatrice di Leibniz (in Inglese Stepped Reckoner) è stata la
prima calcolatrice meccanica della storia in grado di eseguire tutte le
quattro operazioni aritmetiche (addizione, sottrazione, moltiplicazione
e divisione)
• Ideata nel 1672, fu realizzata solo nel 1694
• La macchina rappresentava i numeri in binario (due cifre, 0 e 1)
• La macchina realizzata presentava un difetto nella gestione dei riporti
• Agli inizi dell'800 le calcolatrici meccaniche conobbero una certa
diffusione, specialmente in ambito bancario e commerciale
Differenza tra calcolatrice e computer
• Una macchina “calcolatrice” può eseguire singole operazioni
aritmetiche oppure, quelle più sofisticate, sequenze fisse di
operazioni aritmetiche su dati variabili forniti in ingresso (input)
• Una macchina “calcolatore” o “computer” è in grado di eseguire
differenti sequenze di calcoli su dati variabili forniti in ingresso (input)
• La specifica sequenza di operazioni che la macchina esegue è
descritta in un programma che governa il funzionamento di una
unità di controllo della macchina
• Un calcolatore può essere programmato in modo tale da eseguire
operazioni diverse a seconda dei risultati intermedi ottenuti
• Il programma può essere:
• Cablato nella struttura fisica della macchina
• La programmazione richiede una riconfigurazione della macchina
• Memorizzato in un opportuno codice in un organo di memoria
La macchina analitica di Babbage
• Charles Babbage propose nel 1837 una macchina
meccanica per il calcolo automatico che potesse
essere riprogrammabile per eseguire calcoli diversi
• Nel 1842, l’ingegnere italiano Luigi Menabrea riportò in
un articolo una descrizione della macchina di Babbage
(macchina analitica)
• Babbage non riuscì a portare a termine la costruzione
della sua macchina
⚫ L’unità di controllo della macchina (motore
analitico) prevedeva anche un'istruzione di salto
condizionale, ovvero la possibilità di modifica
dell'ordine delle istruzioni in base ad una
condizione (vera o falsa)
⚫ La tecnologia meccanica rendeva molto difficile
realizzare macchine automatiche di calcolo la cui
sequenza di operazioni potesse essere modificata
agevolmente
La macchina di Turing
⚫ Fu solo grazie all’avvento della tecnologia elettronica che fu
possibile concepire e realizzare macchine “programmabili”
⚫ Il primo a concepire una macchina elettronica a programma
registrato per la elaborazione di informazioni fu il matematico
inglese Alan Turing
⚫ In "On Computable Numbers, with an Application to the
Entscheidungsproblem" (1936) Turing introdusse una macchina
astratta, nota come Macchina di Turing, in grado di eseguire
operazioni elementari secondo uno schema di calcolo che
consente di risolvere ogni tipo di problema di logica in un
numero finito di passi
⚫ se un problema è intuitivamente calcolabile, allora esisterà una
macchina di Turing (o un dispositivo equivalente) in grado di
risolverlo (cioè di calcolarlo)
⚫ Della Macchna di Turning non furono mai costruiti esemplari
reali, ma la sua idea influenzò in maniera significativa il progetto
dei primi calcolatori elettronici durante la Seconda Guerra
Mondiale (negli USA ed in Inghilterra)
La macchina di Hollerith
Nel 1889, Herman Hollerith brevettò e realizzò un
sistema per la registrazione dei dati
su bande di carta (schede perforate)
Il sistema, impiegato per calcoli statistici durante il
censimento USA del 1890, consisteva di
L’Informatica iniziava ad
avere influenza sulla vita
dell’uomo comune
Grace HOPPER
realizza A-O
il primo compilatore
John BACKUS,
matematico, ebbe il via libera dall’IBM per
realizzare un formulas traslator specifico
per formule matematiche indirizzato alla
clientela tecnico-
scientifica
nascerà il FORTRAN
Il linguaggio COBOL
COmmon Business Oriented 1959
Language
La CODASYL
COnference of DAta SYstem
Language
viene incaricata di
sviluppare le specifiche di un
nuovo linguaggio
indipendente dalle strutture
hardware, semplice e
Il codice ASCII
American Standard Code for
Information Interchange
1963
Robert BEMER
scrive un codice “universale”
per rappresentare i caratteri
L’obiettivo era di mettere fine alla babele
dei 60 codici esistenti all’epoca
Ci vorranno 18 anni perché lo standard
prenda piede sostituendo l’ EBCDIC
in uso sulle macchine IBM
Nascita di Internet
Paul BARAN 1965-1969
lavorando al progetto commissionato dall’ARPA
per una rete a prova di attacco nucleare capisce
che la suddivisione dei dati in “pacchetti” era la
soluzione
1981