La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, 2003 1 Capitolo I. Calcolatore: teoria e storia della macchina "simulatrice"

Presentazioni simili


Presentazione sul tema: "Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, 2003 1 Capitolo I. Calcolatore: teoria e storia della macchina "simulatrice""— Transcript della presentazione:

1 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Capitolo I. Calcolatore: teoria e storia della macchina "simulatrice"

2 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Rappresentazione analogica e digitale AnalogicoDigitale Rappresentazione per analogia con altre grandezze fisiche Può adottare una numerazione anche binaria per la rappresentazione Difficile rimuovere gli effetti di rumore Semplice rimuovere il rumore della rappresentazione Nel caso di uso discretizzato perde la sua maggiore aderenza al fenomeno rappresentato È pensata per essere usata in un contesto discreto Vinile, orologi a lancette ecc.CD, orologi digitali, ecc.

3 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione digitale dell’informazione La codifica è una rappresentazione dell’informazione Un codice estremamente preciso è quello che usa i numeri naturali Una codifica si dice digitale quando si usano solo due cifre, 0 e 1 Digit (inglese) = cifra; numerique (francese)= digitale

4 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La numerazione binaria È possibile rappresentare i numeri e le loro operazioni adottando la numerazione binaria. –La numerazione binaria è un calcolo che fa uso solo di due cifre, 0 e 1, invece delle dieci che si usano nella numerazione decimale, mantenendo però sempre il concetto di numerazione posizionale Questo metodo permette di maneggiare i numeri usando una notazione compatibile con la rappresentazione digitale permessa dall’elettronica che comprende solo due tipi di segnali Aperto o Chiuso riferito ai circuiti elettronici

5 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La numerazione posizionale Che cosa vuol dire in decimale il numero 124? (10 0 x4)+(10 1 x2)+(10 2 x1) = = 124 Vale lo stesso per i numeri in formato binario, solo che la base è 2, invece di 10, e quindi si avranno 2 sole cifre invece di 10. A ogni posizione corrisponderà una potenza di 2 invece che di 10, come si può vedere nello schema qui sotto. …

6 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, L’unità di misura del mondo digitale: il bit Il bit (binary digit): unità di misura degli strumenti digitali di codifica 1 bit: la quantità di informazione fornita dalla scelta tra due diverse alternative 1 bit: unità minima dell’informazione digitale, è una singola cifra, 0 o 1

7 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Perché la numerazione binaria e il bit sono tanto importanti? Perché il computer capisce solo successioni di bit, ognuno dei quali può essere rappresentato da 0 e 1. I circuiti elettronici (come lo scaldabagno o la lampadina) possono essere solo aperti o chiusi Quindi le tecniche di numerazione binaria e tutti i codici che utilizzano solo due elementi sono fondamentali per interagire e “comunicare” correttamente con il computer

8 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Il byte Ogni bit può avere due possibilità: 0 o 1 1 byte = 8 bit 1 byte può codificare 2 8 diverse possibilità: 256 combinazioni diverse di 0 e 1

9 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Mettiamo ordine tra le grandezze GrandezzaValoreCirca 1KiloByte (KB)2 10 = 1024 Byte  Mega (MB)2 20 = Byte  Giga (GB)2 30 = Byte (1024 MB)  Tera (TB)2 40 = 1024 GB  Peta (PB)2 50 = 1024 TB  10 15

10 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Quali variabili aumentano il contenuto informativo di un messaggio? 1.Il numero di caratteri disponibili per scrivere il messaggio ha impatto sulla quantità di informazione che trasmette: più caratteri significa più possibilità, quindi maggiore contenuto informativo (per esempio, la differenza tra notazione decimale e binaria) 2.La lunghezza del messaggio, ovviamente, aumenta il suo contenuto informativo

11 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Più alternative, più informazione Che cosa accade se l’informazione contiene una serie di caratteri e non solo una scelta tra due? –Sarà ancora possibile “codificarla” attraverso queste due cifre, ma sarà necessaria una loro successione –Maggiore è il numero di possibilità tra le quali scegliere, maggiore sarà la quantità di informazione da impiegare per trasmettere il contenuto informativo

12 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Il codice ASCII È una tabella che associa un numero a ogni segno usato nell’alfabeto latino, ai principali segni di interpunzione e ad alcuni caratteri speciali Il codice decimale va da 0 a 127, quello binario da 0 a (7 bit) Oltre al codice ASCII standard o stretto, esistono anche vari codici “estesi” a 256 caratteri (8 bit)ASCII Il più importante dei codici estesi si chiama “ISO Latin 1”, ma non è essere veramente universale Attualmente si sta lavorando alla costruzione di un nuovo codice UNICODE, una codifica a 16 bit che permette di codificare fino a caratteri.UNICODE

13 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, ASCII BASE

14 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, ISO LATIN 1 ASCII a 8 bit

15 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Macchina di Turing e macchina di von Neumann Il computer tra hardware e software

16 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Alan Turing Nasce nel 1912 a Londra Nel 1936 ottiene il famoso risultato di logica noto come tesi di Church-Turing, mentre si trova al King’s College di Cambridge Nel biennio autunno autunno 1938 studia presso l’università statunitense di Princeton con Alonzo Church. Qui incontra, tra gli altri, von Neumann, che si interessa al suo lavoro e gli chiede di restare in America come suo assistente, ma Turing si rifiuta Durante gli anni della II Guerra Mondiale si occupa della decodifica di Enigma, la macchina elettromeccanica dei Tedeschi per trasmettere messaggi in codice Dal 1945 lavora presso il NPL al progetto per costruire un calcolatore a programma memorizzato, l’ACE Tra il 1947 e il 1948 trascorre un anno sabbatico a Cambridge Dal ’48 al ’54 si trasferisce a Manchester e si occupa del MArk II, un calcolatore progettato da F. Williams Muore suicida nel 1954 a Manchester

17 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Perché la macchina di Turing è importante? Perché, negli anni ’40, la macchina costituirà un modello teorico per la costruzione dei calcolatori di nuova generazione a programma memorizzato e general-purpose Perché fornisce un modello generale e intuitivo della nozione di calcolabilità, che non è più stato confutato Perché manda definitivamente in crisi il modello di conoscenza basato esclusivamente sulla logica matematica, pur essendone la sua espressione epigonale

18 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Una macchina universale Durante la primavera del 1936, Turing inventò la macchina più generale mai concepita e probabilmente mai concepibile. Il dispositivo era dotato solo di: – un nastro bidimensionale diviso in quadrati di lunghezza finita, ma lungo a piacere – un dispositivo per la lettura, scrittura, eliminazione di simboli e spostamento sul nastro – una tavola di istruzioni comprensibile alla macchina, che indicava tutte le attività da svolgere senza ambiguità e tutti gli stati in cui la macchina poteva trovarsi In rete esistono decine di emulatori di macchine di Turing; a questo indirizzo: trovate un applet Java per provare le prestazioni della macchinahttp://wap03.informatik.fh-wiesbaden.de/weber1/turing/tm.html

19 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La macchina universale come macchina simulatrice La MUT emula il comportamento delle altre macchine attraverso una tavola di istruzioni, inserita nella macchina come se fossero i suoi dati La MUT è una macchina “general-purpose”, capace di svolgere qualsiasi compito La MUT è perciò una macchina virtuale La MUT è l’insieme di struttura e tavola di istruzioni: hardware + software

20 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Lo schema di una MT || Dispositivo di lettura/scrittura/eliminazione di simboli spostamento sul nastro secondo la tavola delle istruzioni

21 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Von Neumann e l’influenza di Turing Von Neumann aveva incontrato sicuramente Turing a Princeton, restando colpito dal suo valore Era al corrente del modello logico di calcolo proposto con la macchina universale Applica l’idea alla costruzione di un calcolatore reale: –nella memoria (simile al nastro bidimensionale) risiedevano dati e programmi –c’era un unico controllo logico che, sulla base della tavola di istruzioni (programma), gestiva in modo centralizzato tutte le operazioni in successione –esistevano organi di input e di output (che nella MTU erano porzioni del nastro)

22 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La logica alla base del calcolatore Il computer si basa su un modello astratto, statico e isolato di manipolazione dell’informazione Il modello non tiene conto delle limitazioni pratiche di tempo e di grandezza della memoria Il modello non considera l’interazione con l’ambiente, cioè la gestione di informazione destrutturata

23 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La struttura hardware del computer secondo von Neumann Central Processing Unit (CPU) Random Access Memory (RAM) INPUTOUTPUT

24 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Dalla macchina di Turing alla CPU 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

25 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Cosa c’è nella CPU? –Il control UNIT, l’unità che controlla tutti i processi –L’ALU, Arithmetic-Logic UNIT, che esegue le operazioni aritmetiche e logiche –I registri, celle di memoria interne alla CPU usate per immagazzinare le informazioni utili per eseguire le istruzioni –I bus, le strade di comunicazione che permettono ai dati, agli indirizzi e ai risultati di viaggiare dentro la CPU e fuori di essa verso la memoria –Il Clock, che permette a tutti gli elementi interni e esterni alla CPU di muoversi a ritmo, come in una coreografia La CPU è contenuta nel microprocessore

26 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La memoria interna al sistema La RAM, Random Access Memory, è una memoria volatile, che si svuota appena finito l’uso di un’applicazione. Si misura in Mega Byte: 64,128, 256, 512 Mb Il BIOS, Basic input-output system, è una memoria non volatile, che contiene le informazioni base del sistema e dell’interazione con le periferiche, detta ROM (Read only memory) o attualmente Flash memory, che può essere aggiornata Cache Memory: è all’interno del microprocessore ed è velocissima

27 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, I dispositivi esterni di memoria La Memoria di massa o hard disk: costituisce la memoria ausiliaria dell’elaboratore, un’estensione della memoria centrale, dove vengono “appoggiati” dati e programmi. Floppy disk: dischetti che contengono circa 1,44 Mb CD-ROM : contiene fino 750 MB di dati DVD: contiene da 4,7 a 17 GB

28 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Dispositivi di input e dispositivi di output Dispositivi di INPUT sono, ad esempio, la tastiera, il mouse, lo scanner, le schede di acquisizione audio e video Dispositivi di OUTPUT sono, ad esempio, il monitor, la stampante, le casse

29 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Hardware & software La macchina senza i programmi è meno di un corpo senza anima… Il software è costituito da tutte le istruzioni date alla macchina che, a vari livelli, le permettono di interagire con gli utenti I programmi realizzati usando linguaggi sempre più ad alto livello permettono alla macchina di “mimare” virtualmente sempre nuovi compiti

30 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Macchine virtuali Il computer è dotato di un’architettura organizzata a strati Ogni strato si dice una macchina virtuale, perché realizza i compiti di una macchina diversa e più ad alto livello rispetto alle precedenti Ogni macchina virtuale è un insieme di programmi che realizza funzionalità sempre più potenti, utilizzando i servizi forniti dal livello inferiore

31 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Gli “strati” del sistema operativo Hardware Gestore processi Gestore I/O File system Gestore mem. Gestore processori Interfaccia nucleo verso l’esterno (chiamate a sistema) Livello nucleo Livello hardware Servizi richiesti dall’utente Livello utente

32 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Riassumendo, il sistema operativo è: gestore dei processi gestore dei processori gestore della memoria centrale (RAM) gestore della memoria secondaria (file system) gestore dell’input/output responsabile dell’interfaccia utente

33 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, L’interfaccia Tutti gli oggetti hanno un’interfaccia, più o meno amichevole, più o meno consolidata L’interfaccia nel computer è molto importante, perché consente di usare le potenzialità della macchina “virtuale”, senza conoscere i dettagli strutturali Le interfacce del personal computer hanno avuto una notevole evoluzione nel corso del tempo

34 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, I programmi applicativi storici Programmi di calcolo (fogli elettronici o spreadsheet): servono per creare tabelle di dati, in genere numerici, ed eseguire calcoli. Ora è possibile anche realizzare grafici Videoscrittura (word processor) Database (creazione e gestione di basi di dati): servono ad automatizzare la gestione di ogni genere di dati automatizzati

35 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Programmi applicativi più recenti Giochi: arcade, simulazioni, giochi di strategia, avventura, edutainment Programmi di grafica (disegno o fotoritocco); per esempio: Photoshop dell’Adobe, grafica vettoriale, grafica 3D, CAD Gestione audio e musica: MP3, streaming video, programmi per la gestione di Cd musicali ecc.

36 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Che cos’è un file Un file designa il concetto di insieme di elementi che non sono leggibili direttamente dall’uomo, ma hanno bisogno dell’uso del computer Un computer file è un’unità logica di differenti materiali creata per consentire il loro uso tramite il computer; identifica, tra l’altro, materiale digitale composto di database, documenti testuali, ipertestuali o multimediali o di una loro combinazione. Ogni contenuto nel computer è scritto in forma di file (anche i programmi, i file di sistema ecc.) Il nome di un file è costituito da due parti separate da un punto (per esempio: prova.txt). A sinistra del punto c’e’ il nome del file, a destra si trova l’estensione (di solito di tre lettere), che identifica il tipo di file.

37 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Ma che cos’è un programma? È un insieme di istruzioni È una procedura, o meglio un algoritmo, che, eseguito dalla macchina, le permette di portare a termine le operazioni che le abbiamo richiesto Per essere comprensibile il programma deve dare istruzioni o fare dichiarazioni usando un linguaggio che la macchina - “virtuale” o “reale” che sia – possa capire

38 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La base della programmazione: l’algoritmo È una procedura per eseguire compiti Più rigorosamente: –è un insieme finito e ordinato di passi strutturati in modo non ambiguo –è un procedimento che serve a risolvere in tempo finito un problema o una classe di problemi –utilizza dati iniziali e ottiene alla fine dei risultati

39 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Riassumendo, le caratteristiche di un algoritmo sono: finitezza, la procedura deve terminare dopo un intervallo finito di tempo assenza di ambiguità, la procedura non deve contenere contraddizioni generalità, è in grado di risolvere tutti i problemi dello stesso tipo

40 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Algoritmo per la preparazione di una torta di cioccolato

41 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, I “livelli” dei linguaggi Linguaggio macchina: usa solo 0 e 1 ed è comprensibile direttamente dall’hardware, ma molto difficile per l’uomo Linguaggi di basso livello: vicini al linguaggio macchina e all’architettura fisica del computer (esempio: Assembler) Linguaggi di alto livello: più vicini al nostro modo di comprendere e impostare problemi, più facili da imparare e da trasferire e da ‘portare’ su un altro computer (esempio: HTML, Java, C++, Visualbasic ecc.)

42 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Come la macchina comprende un linguaggio di alto livello? Avrà bisogno di una “traduzione” in un linguaggio che è in grado di comprendere Esistono due forme di traduzione: – gli interpreti, che traducono il codice del programma, linea per linea, mentre viene eseguito – i compilatori, che, una volta realizzato il programma in un linguaggio di alto livello, lo compilano, trasformandolo una volta per tutte in linguaggio macchina o in linguaggio di più basso livello, controllando errori ed efficacia prima di eseguirlo

43 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Procedurale vs. dichiarativo Linguaggio PROCEDURALE: fornisce al computer una serie di ordini su cosa debba fare e in quale circostanza. L’aspetto della descrizione del problema, quando esiste, è minimizzato: il computer “non sa” niente Linguaggio DICHIARATIVO: descrive, dichiara quali sono i dati del problema, fornisce le regole che si possono seguire e lascia che sia il computer a decidere come agire. Possono essere più faticosi per il computer, perché deve derivare da solo le procedure da adottare

44 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Fra i due litiganti…Object oriented La caratteristica principale degli OOL è la modularità: certe porzioni di programma si possono usare in varie occasioni È utile per costruire tali programmi partire dagli oggetti e dalle loro proprietà interne e di relazione con gli altri oggetti La programmazione a oggetti funziona bene nei sistemi operativi grafici (a icone) Ognuno degli elementi di Windows, per esempio icone, finestre, pulsanti, menu, sono altrettanti oggetti che hanno proprietà e relazioni gli uni con gli altri

45 Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, Un esempio di programma in Assembler


Scaricare ppt "Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, 2003 1 Capitolo I. Calcolatore: teoria e storia della macchina "simulatrice""

Presentazioni simili


Annunci Google