La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/25/2018 Un’introduzione alla scienza e alle tecnologie dell’informazione.

Presentazioni simili


Presentazione sul tema: "Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/25/2018 Un’introduzione alla scienza e alle tecnologie dell’informazione."— Transcript della presentazione:

1 Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill
4/25/2018 Un’introduzione alla scienza e alle tecnologie dell’informazione e della comunicazione Marco D. Santambrogio – Ver. aggiornata al 6 Marzo 2016 Capitolo 5 – La formalizzazione dell'informazione

2 Obiettivi Informazione e trattamento dell’informazione
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill Obiettivi 4/25/2018 Informazione e trattamento dell’informazione Programmabilità del calcolatore e concetti di hardware e software Macchina di von Neumann Comunicazione tra esseri umani e calcolatori Capitolo 5 – La formalizzazione dell'informazione

3 Il concetto ambiguo di informazione
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/25/2018 Significato 1: [informazione = dati + istruzioni] insieme dei dati su cui operare e delle istruzioni con cui elaborare tali dati per esempio, nell’operazione 1+2 sono entità di informazione i numeri 1 e 2 e l’operatore ‘+’ enfasi sulla distinzione tra struttura e descrizione dell’operazione che si scriva “uno più due” o “1+2” l’informazione è la stessa Significato 2: [informazione = dati con significato] ciò che si ottiene dai dati a cui è stato attribuito un significato per esempio, i numeri 1 e 2 sono semplici dati; diventano entità di informazione solo quando si stabilisce che si riferiscono, per esempio, a mele o a portaerei enfasi sulla distinzione tra forma e contenuto Capitolo 5 – La formalizzazione dell'informazione

4 I calcolatori: cos’hanno di speciale?
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/25/2018 Molti strumenti sono stati progettati e realizzati per trattare informazione: le matite servono per scrivere (non per trasferire grafite su carta) i violini servono per suonare (non per produrre onde acustiche) A differenza di questi, i calcolatori sono dispositivi programmabili Ma cosa significa programmabile? Capitolo 5 – La formalizzazione dell'informazione

5 Elaborazione dell’informazione
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill Elaborazione dell’informazione 4/25/2018 La programmabilità di un dispositivo attiene alle modalità con cui esso gestisce informazione Per esempio, per risolvere questo problema, si può: provare e riprovare (= operare direttamente sul sistema da trasformare) fare i conti a mente (= operare senza un supporto fisico) fare i conti con carta e penna (= operare con supporti passivi) fare i conti con una calcolatrice (= operare con supporti “rigidi”) oppure … Capitolo 5 – La formalizzazione dell'informazione

6 Dati e istruzioni Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/25/2018 Per gestire informazione, si opera su dati mediante istruzioni: carta e penna supporto materiale mente dati X istruzioni a mente supporto materiale mente dati X istruzioni calcolatore supporto materiale mente dati X istruzioni: esecuzione istruzioni: controllo calcolatrice supporto materiale mente dati X Istruzioni: esecuzione Istruzioni: controllo Capitolo 5 – La formalizzazione dell'informazione

7 Elaborazione dell’informazione
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill Elaborazione dell’informazione 4/25/2018 Ogni essere umano elabora quotidianamente informazione in grande quantità senza usare strumenti particolarmente sofisticati Due situazioni possono rendere difficile questa attività: quando il problema supera un certo grado di complessità quando è necessario elaborare informazione con particolare rapidità Nel corso della storia, l’uomo ha creato molti strumenti in grado di supportarlo nell’elaborazione dell’informazione: strumenti formali (per es. il sillogismo) che consentono di trattare entità di informazione dotate di una certa struttura, ricavandone delle conclusioni per via puramente elaborativa strumenti materiali (modelli in scala, galleria del vento, …), che “materializzando” le entità di informazione su cui si opera ne facilitano l’elaborazione Capitolo 5 – La formalizzazione dell'informazione

8 I primi calcolatori… meccanici
25/04/2018 Blaise Pascal ( ) dispositivo meccanico (ingranaggi azionati da una manovella) per l’esecuzione di somme e sottrazioni Gottfried Wilhelm von Leibniz ( ) introduce anche moltiplicazioni e divisioni (calcolatrice a quattro funzioni) Charles Babbage ( ) progetta e realizza un “difference engine” calcola tabelle di numeri utili per la navigazione unico algoritmo: polinomiale alle differenze finite output: fori su una piastra di rame (schede perforate) Introduzione ai sistemi informatici

9 Interazione uomo-macchina
25/04/2018 1. Input: dati e istruzioni 3. Output: dati (risultati dell’elaborazione) 2. Elaborazione e quindi, il calcolatore si può intendere come una black box: calcolatore Input Output Introduzione ai sistemi informatici

10 Il calcolatore: interprete ed esecutore
25/04/2018 Ricevendo una richiesta dall’utente, il calcolatore svolge in successione due attività: controlla di essere in grado di interpretare il comando, cioè di riconoscere il comando come corretto e corrispondente a un’azione che è in grado di eseguire se il controllo ha dato esito positivo, esegue l’azione associata al comando e, quando richiesto, presenta il risultato all’utente Invece di inviare al calcolatore un comando per volta, l’utente può scegliere di creare una successione di comandi (= programma) e inviarla al calcolatore, che autonomamente è in grado di interpretare ed eseguire il programma stesso, un’istruzione per volta Introduzione ai sistemi informatici

11 La comunicazione con il calcolatore
25/04/2018 L’utente-programmatore e il calcolatore devono parlare uno stesso linguaggio Un’opzione potrebbe essere di “insegnare al calcolatore” a comprendere (= interpretare ed eseguire comandi espressi in) una lingua storico-naturale come l’italiano o l’inglese Vantaggi: lingue semanticamente ricche, e quindi sicuramente in grado di esprimere i comandi lingue già note all’utente Svantaggi: lingue semanticamente ricche, e quindi a rischio di ambiguità lingue complesse da insegnare / imparare Introduzione ai sistemi informatici

12 Due esempi Comando: “nella frase metti in grassetto la parola X”
25/04/2018 Comando: “nella frase l'informatica, che in inglese è detta 'computer-science', è interessante anche se difficile metti in grassetto la parola X” X: “è”  ambiguo: quale delle due “è”? X: “in decima posizione”  ambiguo: “computer-science” conta come una o due parole? Comando: “se la condizione A è vera esegui l’istruzione B e poi esegui l’istruzione C”  ambiguo: C deve essere eseguito comunque o solo se A è vera? Introduzione ai sistemi informatici

13 Comunicazione mediante linguaggi formali
25/04/2018 Un’opzione alternativa: creare un linguaggio “di programmazione”, dedicato alla comunicazione con il calcolatore Vantaggi: linguaggio progettato specificamente, e quindi efficiente linguaggio non ambiguo Svantaggi: linguaggio formalizzato, e quindi strutturalmente diverso dalle lingue storico-naturali linguaggio non noto all’utente Introduzione ai sistemi informatici

14 Un esempio if(A) { B; } C; if(A) { B; C; }
25/04/2018 Comando: “se la condizione A è vera esegui l’istruzione B e poi esegui l’istruzione C”  ambiguo: C deve essere eseguito comunque o solo se A è vera? Lo stesso comando viene riscritto in un linguaggio di programmazione si disambigua: if(A) { B; } C; if(A) { B; C; } se A è vero esegui B; in ogni caso quindi esegui l’istruzione C se A è vero esegui sia B sia C Introduzione ai sistemi informatici

15 Calcolatori: strumenti di calcolo?
25/04/2018 Sebbene si consideri abitualmente che oggetto del calcolo sono numeri, i calcolatori operano anche su dati non numerici, come testi, immagini, musica… Un problema di elaborazione di dati non numerici è riconducibile a calcolo numerico se per prima cosa i dati vengono codificati nella forma di numeri Per esempio, un testo può essere convertito in una successione di numeri grazie al Codice ASCII: spazio  32; ‘A’  65; ‘B’  66; …; ‘a’  97; ‘b’  98; … e quindi: “ciao mondo”  Data questa codifica, un problema come: trasformare una frase scrivendo con l’iniziale maiuscola tutte le parole che la compongono (per cui “ciao mondo” dovrebbe diventare “Ciao Mondo”) è effettivamente un problema di calcolo Introduzione ai sistemi informatici

16 I problemi del calcolo 25/04/2018 Non ogni problema ammette una soluzione calcolabile Quali problemi ammettono una soluzione calcolabile? Esistono problemi calcolabili che i calcolatori non sono in grado di risolvere? Esistono problemi che solo certi calcolatori sono in grado di risolvere? cioè: esistono tipi diversi di calcolatori in relazione alla loro capacità di risolvere problemi? Introduzione ai sistemi informatici

17 Calcolo come calcolo di funzioni
25/04/2018 Ipotesi: il calcolo è una trasformazione di dati, in cui l’output è determinato univocamente dall’input attraverso una funzione: f input output = f(input) Per esempio, 1+2*3 e 4+5*6 sono due casi particolari della stessa funzione f(x,y,z)=x+y*z Ipotesi: le funzioni complesse possono essere scomposte come successioni di funzioni più semplici Per esempio: x,y,z x+y*z f * + y z x Introduzione ai sistemi informatici

18 La macchina di Turing Un sistema di calcolo molto semplice:
25/04/2018 Un sistema di calcolo molto semplice: un nastro organizzato in celle in ognuna delle quali è scritta una barra o nulla e con codifica “unaria” (1  “ / ”; 2  “ // ”; 3  “ /// ”; … un sistema di lettura e scrittura che opera in base a regole della forma: se sei nello stato ... e nella cella hai letto ..., allora nella cella scrivi ..., passa nello stato e spostati nella cella ... Per esempio, il nastro: / codifica i numeri 2 e 3, e il calcolo della funzione x+y si può realizzare in questo modo: / / Introduzione ai sistemi informatici

19 La tesi di Church - Turing
25/04/2018 Intorno al 1930 l’inglese Alan Turing e lo statunitense Alonso Church proposero la seguente tesi: ogni funzione “naturalmente considerata calcolabile” è calcolabile da una macchina di Turing La conseguenza è sorprendente: l’insieme delle funzioni calcolabili è lo stesso per tutti i calcolatori; le differenze di capacità tra calcolatori sono: quantitative (= tempo di calcolo) e non qualitative (= tipo di funzioni calcolabili) Introduzione ai sistemi informatici

20 Fonti per lo studio + Credits
Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill Capitolo 1 Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill The Art & Craft of Computing, S. Ceri, D. Mandrioli, L. Sbattella, Addison-Wesley Approfondimenti Uomini e computer. Storia delle macchine che hanno cambiato il mondo, D. Casalegno, HOEPLI Credits Prof. G. Buonanno e D. Sciuto, LIUC

21 Domande

22 Domande


Scaricare ppt "Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/25/2018 Un’introduzione alla scienza e alle tecnologie dell’informazione."

Presentazioni simili


Annunci Google