Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Sergio Scippacercola » 1.Introduzione all'informatica


INFORMATICA

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 :

  • Informatics
  • Informatique
  • Information processing
  • Electronic Data Processing
  • Computer Science
  • IT o Information Technology  o Tecnologia dell’ informazione
  • ICT  (Information and Communication Technologies) indica l’insieme dei metodi e delle tecnologie che realizzano sistemi di  elaborazione, trasmissione e ricezione di informazioni 

Definizione di Informatica

L’ Informatica è l’insieme delle discipline e delle tecniche che hanno per obiettivo:

  • la raccolta, l’organizzazione ed il trattamento automatico delle informazioni mediante macchine (gli elaboratori);
  • i procedimenti automatici speciali (i programmi)  per la trasformazione delle informazioni.

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.

Eventi del 1600-1800

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.

La Pascalina (whenintime.com)

La Pascalina (whenintime.com)

La Pascalina (liceobanfi.brianzaest.it)

La Pascalina (liceobanfi.brianzaest.it)


Il sistema binario

 

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.

Gottfried Leibnitz (www.iep.utm.edu)

Gottfried Leibnitz (www.iep.utm.edu)


Il binario

 

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” .

Alcuni insiemi binari

Alcuni insiemi binari


Primo esempio di traduzione del linguaggio umano in codici registrati su schede perforate

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.

Esemplare di scheda con fori che rappresentano una parte  di un disegno da realizzare con un processo di orditura

Esemplare di scheda con fori che rappresentano una parte di un disegno da realizzare con un processo di orditura


Babbage

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).

 

 

Macchina alle differenze (FUNZIONANTE)(areeweb.polito.it)

Macchina alle differenze (FUNZIONANTE)(areeweb.polito.it)

Charles Babbage (it.wikipedia.org)

Charles Babbage (it.wikipedia.org)


Primo esempio di dati codificati registrati su un supporto

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.

Scheda perforata con il codice Hollerith (windoweb.it)

Scheda perforata con il codice Hollerith (windoweb.it)

Hermann Hollerith (computerhope.com)

Hermann Hollerith (computerhope.com)


Eventi del 1900

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:

  • Aiken inventò il MARK I: macchina elettromeccanica a relé concettualmente simile al progetto di Babbage. Si ricorda che il relè  (cfr figura a lato) è un dispositivo dotato di contatti elettrici che vengono azionati per mezzo di un elettromagnete quando la bobina viene percorsa dalla corrente.
  • Atanasoff  creò il primo calcolatore elettronico non a relè.
  • Stibitz produsse una macchina a relé ma in grado di elaborare secondo la codifica binaria, anche le cifre decimali.
  • Zuse inventò una serie di macchine a relé (Z1, Z2 e Z3) con uso di numeri registrati con la virgola mobile. La virgola mobile è una particolare forma di rappresentazione dei numeri reali. La rappresentazione in virgola mobile consiste nel rappresentare qualsiasi numero reale R nella forma: R = ±M ?b ±x. Dove M viene detta mantissa di m cifre, b è la base del sistema di numerazione adottato, x è l’esponente, detto caratteristica ed indica di quanti posti deve essere spostata la virgola per ottenere R.   Ad esempio:  R=+5,24 = +0,524 x10 +1;  R = -0,0048 = -0,48 x10-2
Schema di relé.  (relè aperto/relè chiuso): può memorizzare due valori binari.

Schema di relé. (relè aperto/relè chiuso): può memorizzare due valori binari.


Alan Turing (1912-1954)

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.

 

Matematico e logico inglese (en.wikpedia.org)

Matematico e logico inglese (en.wikpedia.org)


Schema della macchina di Turing

Lo schema funzionale della macchina di Turing (Figura a lato) prevede:

  • un’unità di memoria esterna fatta da un nastro illimitato nei due sensi e suddiviso in tante celle vuote o contenenti un solo simbolo  ci   (ad es. 0 o 1) di un alfabeto detto “alfabeto esterno”. Su tale unità risiedono le informazioni “lette” o “scritte” dalla macchina;
  •  un’unità di controllo con memoria in cui è posto un programma finito; l’ unità di controllo è fornita di un dispositivo in grado sia di spostare il nastro a destra (D), a sinistra (S) o lasciarlo fermo (F) sia di leggere e/o scrivere in una qualsiasi delle celle del nastro un simbolo dell’alfabeto esterno;
  • Ø un’unità di memoria interna in grado di conservare i simboli s0, s 1, … s k che costituiscono l’alfabeto interno (ad es. A, B, C, s 0 etc. … detti stati della macchina);
  • Ø un’unità logica che ha due ingressi e tre uscite. L’unità riceve in ingresso una coppia di valori (si , ci)  e produce, in uscita, una terna di valori (sj , cj, mj) dove mj indica (D,S,F) cioè uno dei tre simboli di movimento (destra, sinistra, fermo).

Schema della macchina di Turing

La macchina di Turing può eseguire solo un tipo di operazione che produce tre azioni:

  1. il carattere cj viene scritto nella memoria esterna al posto di ci;
  2. il carattere sj viene scritto nella memoria interna rimpiazzando si;
  3. mj (D,S,F) è registrato nella memoria di controllo e tale movimento viene eseguito dall’unità di controllo prima della lettura della stessa o altra cella.

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.

Schema di matrice funzionale

Schema di matrice funzionale


ESEMPIO: sostituisci 0 con 1 ed 1 con 0

Schema della macchina di Turing

Schema della macchina di Turing

Operazioni per invertire O con 1 e 1 con 0 sulla memoria esterna della macchina di Turing

Operazioni per invertire O con 1 e 1 con 0 sulla memoria esterna della macchina di Turing


Hardware, Algoritmo, Software

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.

  • si definisce Istruzione o comando ogni singola operazione.
  • si definisce Programma di calcolo o semplicemente programma la successione delle istruzioni scritte in uno specifico linguaggio.

 


Modello di elaborazione manuale (non automatica)

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”)

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")


Esempio di algoritmo

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= .

Schema del “modello penna-carta”

Schema del "modello penna-carta"


Continua esempio di algoritmo

Sul FOGLIO ISTRUZIONI sono dettagliate le seguenti istruzioni:

  1. Inizio
  2. Leggi i valori associati ad A e B e scrivili su R.I.
  3. Moltiplica per -1 il valore associato a B ed il risultato scrivilo a fianco alla voce C
  4. Dividi il valore associato a C per il valore associato ad A ed il risultato scrivilo a fianco alla voce X su R.I.(risultati intermedi)
  5. Riporta il valore associato ad X sul FOGLIO DATI DI USCITA
  6. Fine

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”.

Foglio dati di ingresso

Foglio dati di ingresso

Foglio risultati intermedi

Foglio risultati intermedi


Alcune applicazioni dell’Informatica

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.

  • Elaborazione delle transazioni
  • Telelavoro
  • Editoria elettronica (desktop publishing)
  • Analisi finanziarie
  • CAD (Computer aided design) progettazione
  • CAM (Computer aided manufacturing) produzione virtuale
  • Cinema, musica, animazioni, sport, animazioni, ecc.
  • Cataloghi, consultazioni, ricerche, acquisti
  • Operazioni bancarie, giochi

Discipline alla base delle applicazioni informatiche

 

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.

Psicologia, Logica e Matematica discreta alla base della applicazioni informatiche

Psicologia, Logica e Matematica discreta alla base della applicazioni informatiche

Fisica, Matematica e Linguistica alla base delle applicazioni informatiche

Fisica, Matematica e Linguistica alla base delle applicazioni informatiche


  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93