Informatica Non solo imparare a usare il computer














































- Slides: 46
Informatica • Non è… – (solo) imparare a usare il computer e i programmi (come sono fatti oggi)… – imparare a progettare macchine elettroniche di un qualche tipo… – e per noi umanisti non è (almeno in prima istanza) imparare a programmare 1
Informatica • Informazione + Automatica • Elaborazione automatica di informazioni – Informazione → rappresentazione di dati mediante simboli → codifica digitale – Automatica → Macchina (automa) → Computer – Elaborazione (automatica) → algoritmo calcolo → manipolazione di simboli secondo regole 2
Informazione • L’informazione è il prodotto di un atteggiamento informativo che rende significative le diverse configurazioni di una serie di classi di oggetti o eventi della realtà assegnando a ciascuna configurazione un valore informativo per cui ogni configurazione sta o che ogni configurazione identifica 3
La struttura di un oggetto informativo • Per la precisione dobbiamo parlare di classi di identità delle configurazioni e di classi di identità dei valori informativi. Infatti l’oggetto informativo è una classe invariante di oggetti fisici (type) le cui occorrenze (token) compaiono in particolari contesti informativi 4
La struttura di un oggetto informativo • Di conseguenze possiamo distinguere diversi livelli in un oggetto informativo: – un insieme di classi di configurazioni che chiamiamo rappresentazioni – un insieme di classi di valori informativi o entità di informazione 5
La struttura di un oggetto informativo • A loro volta le entità di informazione si dividono in due livelli: – Livello semantico (la classe dei significati stretti) – Livello pragmatico (la classe dei sensi) 6
Modalità di rappresentazione • Esistono due modalità di rappresentazione • Rappresentazione analogica • Rappresentazione discreta 7
Rappresentazione analogica • Nella rappresentazione analogica le proprietà del fenomeno rappresentato è omomorfa alla forma della rappresentazione. • La relazione tra rappresentazione e rappresentato è intensionale 8
Rappresentazione discreta • Nella rappresentazione discreta si utilizza un insieme finito di classi configurazione o rappresentazioni distinte che vengono messe in relazione estensionale con elementi discreti dell’universo rappresentato • Le classi di configurazione sono dette simboli • Un insieme di simboli è detto alfabeto 9
Rappresentazione discreta Universo rappresentato Temperatura sotto il limite Segni Eventi fisici Corrente spenta Temperatura sopra i limite Corrente accesa 10
Rappresentazione discreta • Nella rappresentazione discreta le proprietà del fenomeno rappresentato vengono tradotte mediante relazioni sintattiche tra i simboli • La struttura della rappresentazione è isomorfa con la struttura del rappresentato • Un alfabeto con sintassi è un codice formale 11
La rappresentazione digitale • Esistono numerose forme di rappresentazione discreta – la scrittura alfabetica – le cifre della numerazione – i formalismi logici • Ai fini informatici assume particolare interesse la rappresentazione binaria digitale 12
La rappresentazione digitale • Sistema di rappresentazione discreto basato su due soli simboli distinti che assumomo convenzionalmente la forma di 0 e 1. • Questi due simboli sono le unità minime di rappresentazione e memorizzazione digitale • Tali unità vengono comunemente denominate BIT da binary digit 13
La rappresentazione digitale • Il sistema digitale consente la rappresentazione di entità informative diverse qualitativamente. • Esso cioè consente di codificare le entità informative veicolate da altri codici sia discreti sia analogici. 14
Strategie di rappresentazione digitale • strategie per alfabeti più complessi: combinatoria di simboli • strategie per fenomeni continui nello spazio: quantizzazione • strategie per fenomeni continui nel tempo: campionamento 15
Il computer e l’automa • Il computer è una macchina in grado di gestire ed elaborare (velocemente) grandi quantità di informazioni (in formato digitale) in modo automatico, senza richiedere intervento intelligente esterno (umano o alieno o divino…) Raccogliere Conservare Organizzare Elaborare Generare Trasmettere … 16
Il computer • In linea generale, un computer è dunque uno strumento per elaborare informazione • Il computer lavora partendo da informazione in ingresso (l’input del processo di elaborazione), la elabora in base a una serie di regole (un programma), e restituisce informazione in uscita (l’output del processo) 17
Il computer – prime nozioni input elaborazione output 18
Il computer – prime nozioni dispositivi di input output 19
Il computer – prime nozioni Ma cosa succede ‘in mezzo’ fra i dispositivi di input e di output? Come avviene l’elaborazione dei dati, e quali componenti del computer se ne occupano? 20
Il computer – prime nozioni La componente più importante demandata all’elaborazione dei dati è l’unità di elaborazione centrale, o CPU (Central Processing Unit) 21
Dalla macchina di Turing alla CPU 22
Dalla macchina di Turing alla CPU • Per capire come funzioni la CPU, può essere utile partire da una macchina astratta: la cosiddetta MACCHINA DI TURING • La macchina di Turing è una costruzione concettuale semplicissima ed estremamente potente 23
Dalla macchina di Turing alla CPU • Dobbiamo l’idea della macchina di Turing al geniale logico e matematico inglese Alan Turing (1912 – 1954) 24
Dalla macchina di Turing alla CPU La macchina di Turing è composta da 1. un nastro di lunghezza indefinita, suddiviso in cellette che contengono simboli (ad es. ‘ 0’ e ‘ 1’); 2. una testina che si trova in ogni momento in uno fra un insieme limitato di stati interni e che si muove sul nastro, leggendo e se del caso modificando il contenuto delle cellette; 3. un insieme di regole che determinano il comportamento della testina a partire dal suo stato e dal simbolo letto 25
Dalla macchina di Turing alla CPU macchina di Turing testina nastro regole … … 26
Dalla macchina di Turing alla CPU • Per capire come funziona una macchina di Turing, la cosa migliore è sperimentare • Un buon simulatore di macchina di Turing (quello mostrato nella figura precedente) è in rete all’indirizzo http: //sunsite. utk. edu/ winners_circle/education/EDUHM 01 H/appl et. html 27
Dalla macchina di Turing alla CPU • Sembra incredibile, ma – programmata attraverso le regole opportune - una macchina di Turing è in grado di effettuare moltissime operazioni anche assai complesse • Anzi: è in grado di calcolare il valore di qualsiasi funzione per la quale disponiamo di procedure effettive di computazione 28
Dalla macchina di Turing alla CPU • La macchina di Turing aiuta a capire come sia possibile manipolare informazione in base a un programma, leggendo e scrivendo due soli simboli: ‘ 0’ e ‘ 1’ • Da questo punto di vista, pur essendo un dispositivo ideale, la macchina di Turing è strettamente imparentata col computer 29
Dalla macchina di Turing alla CPU • Un passo ulteriore, volendoci avvicinare al funzionamento di un vero computer, è costituito dalla MACCHINA DI VON NEUMANN 30
La macchina di Von Neuman Il modello teorico costituito dalla Macchina di Von Neumann influenzò direttamente la realizzazione di due fra i primi computer: l’ENIAC (Electronic Numerical Integrator and Computer) e l’EDVAC (Electronic Discrete Variable Automatic Computer) 31
La macchina di Von Neuman • La macchina di Von Neumann è basata su un’unità di elaborazione centrale (CPU) in grado di eseguire una dopo l’altra (sequenzialmente) le istruzioni di un programma, e di inviare e ricevere dati da e verso un deposito di memoria (RAM) • La CPU elabora l’informazione utilizzando porzioni di memoria di lavoro (registri) che sono un po’ l’equivalente di piccole porzioni del nastro della macchina di Turing 32
La macchina di Von Neuman • La CPU è la vera e propria ‘fabbrica’ nella quale si svolge il lavoro di elaborazione • Al suo interno, l’unità aritmeticologica (ALU) si occupa di svolgere le operazioni aritmetiche e le operazioni logiche 33
La macchina di Von Neuman • I registri corrispondono un po’ ai banchi di lavoro di una fabbrica; la ALU corrisponde un po’ all’operaio che lavora sui dati • Un orologio o ‘clock’ di sistema ‘segna il tempo’ per il lavoro che si svolge all’interno della fabbrica-CPU 34
La macchina di Von Neuman 35
Hardware e software • Fino a qui, abbiamo parlato soprattutto di componenti fisiche del computer, il cosiddetto hardware • Sappiamo però che il funzionamento di un computer non dipende solo dall’hardware ma anche, e in maniera determinante, dai programmi che il computer è in grado di eseguire, il cosiddetto software 36
Una parola: algoritmo Abu Ja’far Muhammad ibn Musa ‘al-Khuwarizmi’ scrive un trattato dal titolo: Kitab al-jabr wa’l-muqâbalah (Libro dell’integrazione e delle soluzioni numeriche ). Fu così che da al-jabr derivò la parola algebra, mentre da al-Khuwarizmi scaturì il termine algorismo che, per attrazione del termine greco ari mo (arithmos, numero), si trasformò in algoritmo.
L’algoritmo del sei più quattro Siano m, n, r e p quattro numeri positivi si sommi m a n si ponga il risultato in r se r >= 10 allora r = unità(r) e p = decine(r) (e così via…)
Una parola: algoritmo Abu Ja’far Muhammad ibn Musa ‘al-Khuwarizmi’ scrive un trattato dal titolo: Kitab al-jabr wa’l-muqâbalah (Libro dell’integrazione e delle soluzioni numeriche ). Fu così che da al-jabr derivò la parola algebra, mentre da al-Khuwarizmi scaturì il termine algorismo che, per attrazione del termine greco ari mo (arithmos, numero), si trasformò in algoritmo.
L’algoritmo del sei più quattro Siano m, n, r e p quattro numeri positivi si sommi m a n si ponga il risultato in r se r >= 10 allora r = unità(r) e p = decine(r) (e così via…) Espressione assai poco scientifica
L’algoritmo del cassetto Cosa fare quando cerchiamo una scheda in un archivio: 1. scegliere il cassetto giusto dello schedario; 2. scegliere una scheda nella zona del cassetto in cui potrebbe essere il nome che cerco; 3. se la scheda non è quella giusta allora ripeti 2; 4. se la scheda è quella giusta allora fine.
L’algoritmo del cassetto scegliere il cassetto scegliere una scheda se la scheda è quella giusta fine
Una parola: algoritmo Un algoritmo, quindi, è una sequenza di operazioni che devono essere eseguite per compiere un lavoro preciso. Queste operazioni devono essere tali da: b garantire che l’algoritmo s’arresti dopo un numero finito di passi; b devono essere completamente descritte e specificate; b devono poter essere effettivamente eseguite.
Una parola: algoritmo Le operazioni, inoltre, devono: b essere completamente ed esplicitamente descritte per mezzo di istruzioni non ambigue (in modo da poter essere eseguite correttamente e senza ulteriori specificazioni); b essere poi eseguibili nella realtà utilizzando le risorse e il tempo disponibili.
Una parola: algoritmo Un algoritmo deve, per dirla in altri termini, rispondere a requisiti: di finitezza di calcolo (sono definite le condizioni dell’arresto dopo un numero finito di passi); di finitezza d’espressione (è costituito da una sequenza finita di istruzioni); di effettività (deve poter essere effettivamente eseguibile); di determinismo (a ogni passo viene definita un’unica operazione da eseguire al passo successivo e al verificarsi di certe condizioni).
La macchina di Turing E non basta! 4+3=7 Lettore I I I I Se nella casella c’è un simbolo allora leggi la casella successiva Se nella casella non c’è un simbolo allora scrivi il simbolo nella casella Se la casella è (di nuovo) vuota allora un passo indietro e cancella il simbolo