La parola INFORMATICA è l’acronimo di due parole: INFORmazione e autoMATICA.
La principale caratteristica dell’Informatica è la trasformazione (o elaborazione) di informazioni in modo automatico cioè senza il diretto e continuo intervento dell’uomo.
INFORMATICA viene anche indicata come :
L’ Informatica è l’insieme delle discipline e delle tecniche che hanno per obiettivo:
Bisogna sottolineare che è indispensabile una fase di raccolta, di organizzazione e di “trattamento” delle informazioni iniziali per renderle idonee alla elaborazione.
E’ inoltre indispensabile sviluppare o utilizzare dei procedimenti automatici (i programmi) che siano in grado di “trasformare” le informazioni iniziali in informazioni finali cioè i risultati del programma.
Gli elaboratori elettronici sono il risultato di varie invenzioni sia per quanto riguarda i componenti delle macchine sia per quanto riguarda la programmazione sia per le teorie che sono alla base dell’ Informatica. Nel seguito, si tenta di tracciare una breve storia sugli eventi prodromici degli elaboratori, anche se è estremamente difficile riportare tali eventi in modo completo e preciso per la incertezza delle fonti e della datazione.
1. Il primo evento che riportiamo è la progettazione del riporto automatico su macchina digitale. Nel lontano 1642 il francese Blaise Pascal, a soli diciannove anni, inventò una macchina in grado di addizionare numeri a dodici cifre. Tale macchina, chiamata in onore del suo inventore “pascalina”, è composta da ingranaggi affiancati che ruotano durante l’esecuzione di un’addizione. Su ogni ingranaggio sono rappresentate le cifre da 0 a 9. La macchina funziona come un’abaco cinese ma, mentre per l’abaco cinese il riporto di un’addizione si effettua “manualmente”, la pascalina effettua il riporto dell’addizione mediante un’opportuna leva inserita tra due ingranaggi successivi.
Il secondo evento notevole accade nello stesso secolo (1600) da parte di Gottfried Leibnitz che crea il sistema binario costituito, a differenza di quello decimale, dalle combinazioni di due sole cifre (zero e uno).
Il sistema binario, insieme agli sviluppi della teoria binaria del matematico George Boole sarà ben tre secoli dopo l’alfabeto degli attuali elaboratori.
Lo stesso Leibnitz perfezionò la “pascalina” rendendola in grado di eseguire moltiplicazioni realizzate da addizioni ripetute.
Un insieme binario è un insieme composto da due cifre (cifra zero o uno) o da due monosillabi (si oppure no) o da due segni geometrici (punto e linea) oppure dal colore (bianco e nero), etc. cioè un insieme binario ha due soli elementi come quelli rappresentati nella figura accanto.
Con il termine BIT che è l’acronimo di BInary digiT si indica uno dei due elementi dell’insieme binario.
BIT, quindi, è Il termine inglese per indicare una cifra binaria cioè una “informazione binaria” .
Il terzo evento notevole da richiamare accadde intorno al 1804 ed è il primo esempio di traduzione del linguaggio umano in codici registrati su schede perforate.
Il meccanico francese Joseph Marie Jacquard inventò un dispositivo che automatizzava i processi di orditura dei tessuti.
Per noi è stato il primo esempio di registrazione delle ISTRUZIONI su un apposito cartoncino.
La lettura della scheda avviene mediante una matrice di aghi perpendicolare alla scheda:
dove c’è un foro passa l’ago che seleziona il filo da tessere. Una successione di schede rappresentano il disegno da realizzare.
Il quarto evento è’ dovuto, intorno al 1833, al matematico inglese Charles Babbage che progettò ma non potè realizzare per l’inesistenza di una idonea forma di energia il primo calcolatore numerico automatico di tipo meccanico: la macchina analitica (ANALYTICAL ENGINE). La macchina analitica era suddivisa in quattro sottounità: una sottounità deputata alla raccolta dei dati, un’ altra a trasferire i dati in una terza (detta “mulino”) dove si eseguivano le operazioni i cui risultati erano rappresentati nella quarta unità. Schematicamente: Raccolta dati -> Trasferimento dati -> MULINO -> RISULTATI.
Il progetto con il suo schema si è, invece, dimostrato molto attuale per la giusta individuazione dei sottosistemi componenti. Il grande merito di Babbage è stato di aver inventato il controllo automatico cioè la possibilità di far eseguire operazioni con un programma specificamente predisposto.
Babbage, invece, inventò e realizzò, sulla falsariga della pascalina, una macchina in grado di produrre tabelle matematiche (in figura).
E passiamo ad un altro importante evento: la prima volta che le informazioni vennero registrate con un codice (IL CODICE HOLLERITH) su un supporto.
Nel 1850 l’ingegnere Hermann Hollerith, inventore statunitense, sulla falsariga della applicazione di Jacquard citata, adottò una particolare codifica (codifica Hollerith) per registrare dati su schede meccanografiche e per immetterli in macchine che potevano contabilizzare i dati registrati.
Nel 1890 tale metodo fu adottato per eseguire il Censimento della popolazione degli Stati uniti d’ America. I dati relativi ai caratteri dei componenti il nucleo familiare (cognome, nome, data di nascita, etc.) venivano registrati bucando, secondo un’opportuna codifica appositi cartoncini (le schede meccanografiche). La figura in alto riporta il codice Hollerith con la corrispondenza dei simboli con i fori. La scheda era suddivisa in zone (campi) di prefissata ampiezza. In ogni campo era registrato un dato.
Tra il 1930 ed il 1945 tre americani (H. Aiken, J. Atanasoff e G. Stibitz ed un tedesco (K. Zuse) riescono a realizzare i primi prototipi di elaboratori:
Alan Turing è il vero progettista di uno schema di elaboratore ed è riconosciuto uno dei padri dell’Informatica poiché inventò una macchina teorica considerata fondamentale nella teoria della “computabilità” cioè per verificare se un problema è risolubile con un elaboratore oppure no.
Turing, matematico e logico inglese, imparò a leggere in tre settimane. Si laureò a 22 anni a Cambridge in Meccanica quantistica.
Nel 1934 descrisse lil progetto della sua “macchina” . Durante la II guerra mondiale riuscì a decifrare il codice segreto della macchina cifrante tedesca di nome ENIGMA.
Partecipò al progettò Colossus (primo computer elettronico digitale programmabile).
Arrestato nel 1952 fu condannato ad una severissima pena. Si suicidò nel 1954.
Lo schema funzionale della macchina di Turing (Figura a lato) prevede:
La macchina di Turing può eseguire solo un tipo di operazione che produce tre azioni:
Per realizzare un programma si crea una matrice (matrice funzionale) con tante righe quanti sono i simboli dell’ alfabeto esterno e tante colonne quanti sono i simboli dell’alfabeto interno (stati della macchina).
La macchina legge un simbolo ci e lo invia all’unità logica insieme al simbolo si scritto nella memoria interna. In base alla matrice funzionale viene determinata quale terna (sj , cj, mj) produrre in uscita. Il simbolo sj viene scritto nella memoria interna, il simbolo cj viene scritto sul nastro al posto del simbolo precedente e l’unità di controllo esegue il movimento mj.
E’ stato evidenziato quali sono stati gli sviluppi delle macchine per elaborare i dati. E’ necessario ora precisare che le macchine devono essere istruite sul problema specifico da risolvere e bisogna differenziare la “macchina” dal “problema da risolvere”.
Hardware è la macchina intesa come insieme di componenti meccanici, elettrici, elettromeccanici ed elettronici.
Per poter effettuare un’elaborazione dei dati, definito il problema, è necessario sviluppare un algoritmo e poi tradurre questo algoritmo in una serie di istruzioni (programma) che devono essere eseguite dalla macchina di elaborazione. Si intende per ALGORITMO uno schema o procedimento sistematico di calcolo cioè l’insieme ordinato delle fasi logiche che conducono alla soluzione di un problema (ovvero di problemi di una stessa classe) trasformando i dati iniziali a disposizione.
Software è l’insieme dei programmi contenenti istruzioni per risolvere un problema.
Schema di elaborazione manuale di un insieme di istruzioni scritte su un foglio e i dati da elaborare scritti su un altro foglio (il modello è detto "penna-carta")
Per meglio chiarire le differenze tra algoritmo e software, supponiamo di voler risolvere un’equazione di primo grado ad una sola incognita del tipo ax+b=0 e di poter disporre di un uomo che abbia una calcolatrice e che, quindi, possa eseguire i calcoli senza però sapere come si risolve un’equazione di primo grado. L’operatore può disporre di penna, carta per scrivere e di una calcolatrice per eseguire i calcoli.
Poiché non sa come risolvere l’equazione è necessario elencare minuziosamente tutte le operazioni che, dai dati iniziali (i coefficienti a e b) portano ai risultati cioè al valore della radice (x). Se il coefficiente a è diverso da zero, la formula risolutiva che conduce al calcolo della radice è: x=-b/a
Il procedimento porta a raccogliere, organizzare e trattare i dati e le operazioni nel modo seguente. Si predispone un FOGLIO DATI DI INGRESSO, un FOGLIO RISULTATI INTERMEDI, un FOGLIO ISTRUZIONI ed un FOGLIO DATI DI USCITA (cfr. figura a lato). Sul FOGLIO DATI DI INGRESSO, nell’ipotesi che l’equazione da risolvere sia 2x-10 = 0, si scrivono due etichette (attributi) e i valori dei coefficienti a,b ad esempio 2 e -10. Il FOGLIO ISTRUZIONI dettaglia le istruzioni da eseguire. Il FOGLIO DATI DI USCITA è predisposto solo con l’etichetta X= .
Sul FOGLIO ISTRUZIONI sono dettagliate le seguenti istruzioni:
Con riferimento al problema illustrato, la formula risolutiva dell’ equazione di primo grado è un algoritmo ed il programma è rappresentato dalle ISTRUZIONI (1 a 6) dettagliate nel FOGLIO ISTRUZIONI. Come si può immediatamente notare il programma è scritto in lingua italiana e può essere comprensibile solo da parte di un “operatore umano”.
Si riportano alcuni ambiti delle principali applicazioni dell’Informatica: Economico-commerciale, industriale, in casa, per la didattica, per la formazione professionale, nello spettacolo, nelle arti, nelle scienze, in ingegneria, in matematica, nei sistemi informativi, nella navigazione, etc.
A conclusione della lezione introduttiva, si evidenziano con le figure a fianco le discipline che sono alla base delle applicazioni informatiche.
Nella figura in alto sono indicate le relazioni che intercorro tra la Psicologia, la Logica e la Matematica discreta per la progettazione degli Algoritmi.
Nella figura in basso, sono indicate le principali materie come la Fisica e la Matematica che sono alla base della costruzione del hardware dei sistemi di elaborazione.
Infine, è sottolineata l’importanza della Linguistica che, con i suoi linguaggi formali, contribuisce alla progettazione dei programmi.
1. Introduzione all'informatica
2. Le principali strutture dei dati
4. Hardware: gli elementi fondamentali dell'architettura di un elaboratore elettronico.
5. Le memorie, organizzazione dei dati e interfacce
6. La gestione delle memorie, indicatori di prestazioni e tassonomia dei computer
7. Software di sistema e applicativo
8. Sistemi informatici e modelli di database
9. Le forme normali e l'algebra relazionale
10. Lo sviluppo del software in azienda
12. La trasmissione dei dati e reti