La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica Monica Bianchini Email:

Presentazioni simili


Presentazione sul tema: "Informatica Monica Bianchini Email:"— Transcript della presentazione:

1 Informatica Monica Bianchini Email: monica@ing.unisi.it
ENIAC Il primo calcolatore elettronico, l’ENIAC  Electronical Numerical Integrator and Calculator  nacque per esigenze belliche (per il calcolo di tavole balistiche). Venne commissionato dal Dipartimento di Guerra degli Stati Uniti all’Università della Pennsylvania, ed il suo prototipo fu realizzato alla fine della seconda guerra mondiale, nel 1946. L’ENIAC, per la cui costruzione furono usate valvole termoioniche, occupava una stanza lunga più di 30 metri e dissipava una quantità enorme di energia elettrica. L’impiego di componenti elettroniche, tuttavia, lo rendeva capace di eseguire 300 moltiplicazioni al secondo, molte più dei precedenti calcolatori elettromeccanici. Informatica Monica Bianchini Dipartimento di Ingegneria dell’Informazione ENIAC (1946 ca., 30 tonnellate, valvole) Email:

2 Sommario Introduzione Impatto sociale della tecnologia informatica
UNIVAC Il primo calcolatore concepito ed impostato come prodotto commerciale, fu realizzato da Eckert e Mauchly (gli stessi costruttori dell’ENIAC) per l’Ufficio Centrale di Statistica degli Stati Uniti. L’algebra di Boole Fu teorizzata dal matematico inglese George Boole (18101864) nel lavoro “Analisi Matematica della Logica”, pubblicato nel Include un insieme di operazioni su variabili logiche (o variabili booleane), che possono assumere i due soli valori true e false, indicati da 1 e 0. Le tecniche sviluppate nell’algebra booleana possono essere applicate all’analisi ed alla progettazione dei circuiti elettronici, poiché essi sono realizzati con dispositivi che possono assumere solo due stati. Su insiemi di costanti e variabili logiche possono essere definite funzioni che hanno esse stesse la caratteristica di assumere due soli valori. La definizione di una funzione booleana può essere effettuata per mezzo di una tabella di verità, che indica il valore della funzione in corrispondenza di ogni possibile configurazione dei valori degli argomenti. Le funzioni booleane possono essere scritte e manipolate anche con metodi algebrici, dato un insieme di funzioni (o operazioni) elementari tramite le quali poter esprimere ogni altra funzione. Sommario Introduzione Impatto sociale della tecnologia informatica Il Personal Computer Il sistema operativo Bit e byte Sistemi di numerazione Aritmetica binaria La rappresentazione dei dati UNIVAC (1951)

3 Introduzione

4 Cenni storici  1 Anche se la presenza “invasiva” dell’informatica nella vita di tutti i giorni è un fenomeno relativamente recente, non recente è la necessità di avere a disposizione strumenti e metodi per contare rapidamente, elaborare dati, “calcolare” Le prime testimonianze di strumenti per contare risalgono a anni fa I primi esempi di algoritmi  metodi di calcolo “automatico”  sono stati ritrovati in Mesopotamia su tavolette babilonesi risalenti al 18001600 a.C. Il sogno di costruire macchine capaci di effettuare calcoli automatici affonda le radici nel pensiero filosofico del ‘600: Pascal e Leibniz non solo affrontarono il problema di automatizzare il ragionamento logicomatematico (già studiato da Cartesio), ma si cimentarono nella realizzazione di semplici macchine per calcolare

5 Cenni storici  2 La macchina alle differenze, concepita da Babbage nel 1833, rappresenta il primo esempio di macchina programmabile di utilità generale (rimase un progetto: troppo complessa e critica la sua costruzione per le tecnologie dell’epoca) Fu Herman Hollerith, nel 1890, a sviluppare la macchina a schede perforate, per compiere le statistiche del censimento decennale degli Stati Uniti I dati venivano immessi su schede di cartone opportunamente perforate, le stesse schede che sono state usate fino a due decenni or sono Le schede venivano successivamente “contate” da una sorta di pantografo che permetteva diversi tipi di elaborazioni (totali, medie, statistiche, etc.) Si impiegarono due anni e mezzo ad analizzare i dati (contro i sette anni del censimento del 1880), nonostante l’incremento di popolazione da 50 a 63 milioni

6 Cenni storici  3 Successivamente la macchina a schede perforate venne utilizzata con successo per i censimenti in Austria, Norvegia e Russia, tanto che Hollerith decise di fondare una società: la Computing Tabulating Recording Company che, nel 1923, divenne l’International Business Machine, o IBM Con l’invenzione del tubo a vuoto (1904), del transistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei computer divenne inarrestabile Attualmente la potenza di calcolo degli elaboratori decuplica ogni 56 anni

7 Cenni storici  4 La costruzione dei primi calcolatori risale all’inizio degli anni ‘40, grazie alla tecnologia elettronica; i primi esemplari venivano programmati mediante connessioni elettriche e commutatori (ENIAC, Mark I) Il nome di Von Neumann è legato invece ai primi calcolatori a programma memorizzato realizzati alla fine degli anni ‘40 (EDSAC, Whirlwind, IAS, UNIVAC) La diffusione dei calcolatori a livello mondiale è avvenuta negli anni ‘60 e ‘70

8 Cenni storici  5 EDSAC (1949) ENIAC (1946) Mark I (1948)
Whirlwind (1949) IAS (1952) UNIVAC (1952)

9 Cenni storici  6 Tuttavia, l’esplosione dell’informatica come fenomeno di massa è datata 1981, anno in cui l’IBM introdusse un tipo particolare di elaboratore: il Personal Computer (PC) La particolarità dei PC consisteva nell’essere “assemblati” con componenti facilmente reperibili sul mercato (e quindi a basso costo) Possibilità per qualsiasi casa produttrice di costruire “cloni” Attualmente i PC, o meglio il loro componente fondamentale  il microprocessore  è utilizzato in tutti i settori applicativi (non solo per elaborare dati): Telefoni cellulari Ricevitori satellitari digitali Bancomat e carte di credito Lavatrici e forni a microonde ...

10 Cenni storici  7 L’esigenza di realizzare sistemi di elaborazione dotati di più processori operanti in parallelo è stata sentita fin dalla preistoria dell’informatica In una relazione, datata 1842, del medico italiano Menabrea sulla macchina analitica di Babbage si fa riferimento alla possibilità di usare più macchine dello stesso tipo in parallelo per accelerare calcoli lunghi e ripetitivi Solo la riduzione dei costi dell’hardware ha consentito, verso la fine degli anni ‘60, l’effettiva costruzione dei primi supercalcolatori, come le macchine CDC6600 e Illiac e, successivamente, il Cray e le macchine vettoriali Recentemente, gli ulteriori sviluppi della microelettronica hanno permesso la realizzazione di calcolatori a parallelismo massiccio e a “grana fine”, caratterizzati dall’interconnessione di decine di migliaia di unità di elaborazione estremamente elementari: le reti neurali, capaci di “simulare” il comportamento del cervello umano, sulla base degli studi di McCulloch e Pitts (1943)

11 Cenni storici  8 Cray 1 (1976) Cray X1 (2002) Illiac (1955)
CDC 6600 (1963) PC IBM (1981) Portatile e Palmare (2004)

12 Che cos’è l’informatica  1
Informatica  fusione delle parole informazione e automatica  l’insieme delle discipline che studiano gli strumenti per l’elaborazione automatica dell’informazione e i metodi per un loro uso corretto ed efficace L’infomatica è la scienza della rappresentazione e dell’elaborazione dell’informazione L’accento sull’ “informazione” fornisce una spiegazione del perché l’informatica stia rapidamente diventando parte integrante di tutte le attività umane: laddove deve essere gestita dell’informazione, l’informatica è un valido strumento di supporto Il termine “scienza” sottolinea il fatto che, nell’informatica, l’elaborazione dell’informazione avviene in maniera sistematica e rigorosa, e pertanto può essere automatizzata

13 Che cos’è l’informatica  2
L’informatica non è, quindi, la scienza e la tecnologia dei calcolatori elettronici: il calcolatore è lo strumento che la rende “operativa” L’elaboratore (computer, calcolatore) è un’apparecchiatura digitale, elettronica ed automatica capace di effettuare trasformazioni sui dati: Digitale: i dati sono rappresentati mediante un alfabeto finito, costituito da cifre (digit), che ne permette il trattamento mediante regole matematiche Elettronica: realizzazione tramite tecnologie di tipo elettronico Automatica: capacità di eseguire una successione di operazioni senza interventi esterni

14 Caratteristiche dell’elaboratore
In particolare, l’elaboratore… …è una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche ...è velocissimo, nel compiere le operazioni per le quali è stato progettato ...è puntuale, nell’applicare le regole che conosce ...è duttile e si adatta bene ad eseguire nuove tecniche, purché questo gli venga “spiegato” in modo dettagliato e non ambiguo ...ha una buona memoria, estremamente ampia ed organizzata in modo razionale ...non è intelligente, qualunque sia l’accezione di questo termine, non è adatta a descriverne le caratteristiche ...non è in grado di compiere deduzioni, o ragionamenti di altro tipo in modo autonomo ...non è in grado di comprendere un problema ...non è in grado di capire la soluzione di un problema, né di capire se la soluzione raggiunta è quella giusta

15 La macchina universale
Programma: sequenza di operazioni atte a predisporre l’elaboratore alla soluzione di una determinata classe di problemi Il programma è la descrizione di un algoritmo in una forma comprensibile all’elaboratore Algoritmo: sequenza di istruzioni attraverso le quali un operatore umano è capace di risolvere ogni problema di una data classe; non è direttamente eseguibile dall’elaboratore L’elaboratore è una macchina universale: cambiando il programma residente in memoria, è in grado di risolvere problemi di natura diversa (una classe di problemi per ogni programma)

16 L’architettura alla Von Neumann
La capacità dell’elaboratore di eseguire successioni di operazioni in modo automatico è determinata dalla presenza di un dispositivo di memoria Nella memoria sono registrati i dati e... ...la descrizione delle operazioni da eseguire (nell’ordine secondo cui devono essere eseguite): il programma, la “ricetta” usata dall’elaboratore per svolgere il suo compito Il programma viene interpretato dall’unità di controllo Modello di Von Neumann

17 Ancora sull’informatica...
L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione (ACM  Association for Computing Machinery) Nota: È possibile svolgere un’attività concettualmente di tipo informatico senza l’ausilio del calcolatore, per esempio nel progettare ed applicare regole precise per svolgere operazioni aritmetiche con carta e penna; l’elaboratore, tuttavia, è uno strumento di calcolo potente, che permette la gestione di quantità di informazioni altrimenti intrattabili

18 Impatto sociale della tecnologia informatica

19 Vantaggi e svantaggi dell’Information Technology
La tecnologia informatica è l’innovazione più importante in ambito scientifico dall’inizio della Rivoluzione Industriale: fornisce la capacità di completare attività ripetitive rapidamente, facilmente, efficacemente, per migliorare le tecnologie mediche, esplorare lo spazio, per le comunicazioni, etc. Tuttavia, la tecnologia informatica ha introdotto il rischio, soprattutto a causa di Internet, della perdita della privacy, della penetrazione e diffusione di informazioni riservate, di intromissione non autorizzata nelle comunicazioni, di accesso ai sistemi bancari con possibilità di danni economici catastrofici

20 Vantaggi  1 I calcolatori hanno avuto un impatto immenso sulla società, sull’economia, e nella vita quotidiana Sono impiegati per l’informazione, nei servizi al consumatore, nelle comunicazioni, nel controllo dei processi, nell’istruzione, negli strumenti medicali e per la ricerca, nella pianificazione delle attività commerciali, nella gestione delle risorse, nelle previsioni meteorologiche, per la progettazione di oggetti di utilità quotidiana, per auto, aerei, satelliti, navicelle spaziali... Esistono calcolatori palmari in grado di interpretare la scrittura manuale, visualizzare filmati, inviare fax

21 Vantaggi  2 Inoltre, l’informatica ha indotto…
Miglioramento delle condizioni di lavoro Aumento della velocità di esecuzione e della qualità del lavoro prodotto Riduzione del margine di errore nell’esecuzione di lavori complessi Possibilità di utilizzo di apparecchi programmati per l’esecuzione di lavori rischiosi o in ambienti ostili Rapidità ed economia delle comunicazioni Rapidità ed efficacia nella ricerca delle informazioni Riduzione dei supporti cartacei e dell’ingombro degli archivi

22 Applicazioni medicali
Controllo delle funzioni vitali primarie e dosaggio farmacologico automatico TAC (Tomografia Assiale Computerizzata) e Risonanza Magnetica: si elaborano i dati generati da un campo magnetico attorno al corpo umano, e si producono immagini degli organi interni, non rilevabili con i raggi X Interventi di microchirurgia guidati dall’elaboratore Interfacce intelligenti di comunicazione per disabili: mouse vocali, riconoscitori vocali, scanner e sintetizzatori vocali Servizi di telesoccorso e telemedicina

23 Gestione delle informazioni
Nel 1993, la biblioteca della Facoltà di Legge della Columbia University cancellò il progetto di costruire un edificio da 20mil$ per acquistare un calcolatore da 1.5mil$, per memorizzare i contenuti di decine di migliaia di libri vecchi e soggetti a deterioramento; oggi le biblioteche digitali sono molto diffuse Riduzione dei consumi/rifiuti cartacei: invece di gettare nel cestino un documento obsoleto, lo si cancella semplicemente da una memoria di massa Facilità di accesso alla maggior parte dello scibile umano attraverso il World Wide Web (WWW)

24 Automazione I robot vengono impiegati nelle catene di montaggio per l’assemblaggio veloce ed accurato dei prodotti di uso quotidiano (elettrodomestici, automobili, etc.) Vengono impiegati per lavori in ambienti considerati pericolosi o a rischio per le persone (per ispezionare strutture e cavi di comunicazione sui fondali marini) Il Sojourner ha orbitato intorno a Marte per esplorarlo e le comunicazioni satellitari hanno permesso a milioni di persone di osservarne le immagini al televisore o sullo schermo del proprio calcolatore

25 Banche e pubbliche amministrazioni
I settori bancario, telefonico e della pubblica amministrazione hanno creato archivi informatizzati e centralizzati che rendono efficiente e trasparente il rapporto con il cittadino: Consentono l’erogazione immediata di certificati Consentono la telelettura dei contatori e la domiciliazione bancaria delle bollette, garantendo maggiore fedeltà nel rilevamento dei consumi Attraverso Internet, si può ottenere accesso ai servizi di homebanking che permettono, ad esempio, la stampa sulla propria stampante personale del proprio estratto conto Smartcard, tessere “intelligenti” in grado di contenere informazioni ed effettuare operazioni autonomamente (senza riferimento ad un host) Esempio: servizi integrati per i turisti offerti dal comune di Siena con smartcard per cellulare

26 Trasporti Le automobili di ultima generazione sono in grado di effettuare un controllo di tutti i loro componenti, segnalando eventuali malfunzionamenti Gli impianti di frenatura ABS sono controllati da un piccolo computer Grazie ai sistemi satellitari di geoposizionamento (GPS) ed a particolari sensori di cui può essere dotata l’autovettura, la guida può essere affidata al pilota automatico

27 Cambiamenti Nel 1940, i primi ricercatori che crearono i calcolatori elettronici stimarono che in USA sarebbero stati necessari non più di una mezza dozzina di elaboratori Nel 1976, il New York Times pubblicò un libro dal titolo “La scienza nel ventesimo secolo”, nel quale il calcolatore veniva menzionato una sola volta, e indirettamente, in relazione al calcolo delle orbite dei pianeti Oggi, la presenza del calcolatore è invasiva nella vita quotidiana Occorre che le persone si adattino alla prospettiva che alcuni lavori stanno diventando/diventeranno obsoleti: taluni temono questo cambiamento e lo considerano distruttivo (software apartheid )

28 L’ambiente digitale: esiste un grande progetto?
L’obiettivo apparente dell’ambiente digitale è quello di fornire voce e dati, multimedialità ed interattività ad alta velocità, ovunque, a basso costo, con affidabilità e sicurezza Ma che aspetto avrà l’ambiente digitale? Alcuni ritengono che sia opportuno seguire un modello regolamentato, mentre altri sono convinti che il motore dell’evoluzione debba essere la competizione L’espansione progressiva del mondo delle informazioni, in termini di produttività e ricchezza, si accompagna con un inevitabile e crescente divario “digitale” Il divario digitale è una delle tante sfide da affrontare mentre la tecnologia delle informazioni rivoluziona il mondo Digital Divide è l’espressione utilizzata per definire la disparità esistente nel mondo tra chi ha la possibilità di accedere ed utilizzare le tecnologie dell’informazione e della comunicazione e chi invece, per ragioni differenti, ne è escluso

29 Il Personal Computer

30 Hardware  1 Hardware: componenti fisiche dell’elaboratore; la forma e le prestazioni dell’hardware variano in funzione del tipo di elaboratore Principali componenti hardware: unità di sistema schermo tastiera a cui si aggiunge l’hardware esterno, costituito da periferiche quali stampanti, mouse o modem

31 Hardware  2 Unità di sistema: è il cuore dell’elaboratore, contiene tutti i circuiti elettronici che ne consentono il funzionamento Case dell’unità di sistema: contiene un alimentatore, le unità a disco, una scheda di sistema e varie schede adattatrici Scheda di sistema: contiene i microprocessori, la memoria, i circuiti di controllo, e i connettori che la collegano alle periferiche (per esempio, la tastiera, lo schermo, il mouse) Tutti i PC sono composti dagli stessi componenti fisici La struttura per blocchi distinti è la caratteristica peculiare dei PC  siano essi desktop, laptop, notebook : unità di sistema, monitor e tastiera rappresentano i blocchi costitutivi fondamentali Uniformità si ha anche nell’aspetto funzionale delle componenti che costituiscono un PC

32 Software Software: l’insieme dei programmi installati sul computer e delle informazioni che l’elaboratore utilizza per effettuare i suoi compiti Programmi: costituiti da una serie di istruzioni che l’elaboratore è in grado di comprendere ed eseguire il sistema operativo (SO, Microsoft WINDOWS o LINUX) fornisce i dati e le routine necessari all’elaboratore per “funzionare” e comunicare con gli utenti; il SO gestisce le operazioni di lettura/scrittura su disco o in memoria, l’output su schermo, interpreta i tasti che vengono premuti sulla tastiera o sul mouse, gestisce file e cartelle, etc. il software applicativo è l’insieme dei programmi che “girano” sull’elaboratore e svolgono compiti e funzioni specifiche (es.: programmi di elaborazione testi, quali Word, database come Access, fogli elettronici come Excel, programmi destinati alla comunicazione come Outlook Express, destinati alla grafica come AutoCAD, o al calcolo come Matlab, o di utilità, come Norton Utilities) Dati: informazioni interpretate e/o create dai programmi

33 Il sistema operativo

34 Il sistema operativo  1 Tutte le piattaforme hardware e software richiedono un sistema operativo (SO) All’accensione del PC, occorre attendere alcuni istanti prima di poter iniziare a lavorare: durante questa pausa il computer “carica” il SO Un SO è un programma che gestisce processi, amministra la memoria, controlla file e cartelle, sorveglia il flusso di informazioni con le periferiche hardware e presenta all’utente del PC un’interfaccia I programmi e le applicazioni in esecuzione sul sistema si rivolgono al SO mediante “richieste”, inoltrate attraverso specifiche system call

35 Il sistema operativo  2 Solitamente, il SO è caratterizzato da un nucleo di moduli essenziali, il kernel La struttura e le funzionalità del nucleo, la sua architettura, hanno una forte influenza sulle modalità di programmazione e sulla cultura tecnica che cresce intorno alle macchine su cui un SO è installato Esempi: SO multiutente: permettono a più persone di accedere allo stesso computer da postazioni differenti; il SO deve prendersi carico della gestione dei profili d’accesso dei diversi utenti e dei diversi livelli di sicurezza a cui ciascun utente è abilitato, poiché non tutti possono eseguire le stesse operazioni e devono essere previsti differenti profili d’accesso corrispondenti a differenti livelli di permesso SO multiprocessing: possono gestire l’utilizzo di più processori sullo stesso computer

36 Il sistema operativo  3 Il SO raccoglie ciò che si scrive sulla tastiera, visualizza le informazioni sullo schermo, memorizza i file in cartelle sul disco, si tiene in contatto con le periferiche, mette a disposizione dell’utente un’interfaccia per lavorare; si occupa di assicurare una corretta gestione della memoria e dei processi e della sicurezza dei dati All’avvio del PC, durante la fase di boot, il SO viene caricato in memoria e si attiva per una serie di funzionalità… In sistemi multitasking, in cui più programmi vengono eseguiti contemporaneamente, determina quali applicazioni debbano essere eseguite e con che ordine di priorità; decide quanto tempo debba essere assegnato a ciascun processo prima del contextswitch Gestisce la condivisione della memoria tra le applicazioni in esecuzione Gestisce il flusso di I/O da componenti e periferiche esterne, come hard disk, stampanti e porte Informa l’utente sull’andamento delle procedure attivate e sugli eventuali errori occorsi Prende in carico la gestione di procedure di routine (es., la stampa)

37 I driver di dispositivo  1
Il SO è l’interfaccia tra l’hardware ed il software applicativo e garantisce i servizi di base che assicurano il funzionamento dell’elaboratore I moderni SO sono costituiti da un numero elevato di piccoli moduli, ognuno dei quali è formato da varie sezioni destinate ad eseguire una singola funzione Le sezioni che controllano direttamente l’hardware si chiamano driver di dispositivo, perché “pilotano” i dispositivi Ogni driver è formato da una serie di istruzioni che “spiegano” come controllare uno specifico componente hardware

38 I driver di dispositivo  2
All’accensione, il bootstrap loader carica il kernel che provvede al caricamento degli opportuni driver dei dispositivi, tra cui quelli per la tastiera, per lo schermo, per il mouse, per le porte, etc. L’uso dei driver fornisce ai programmi applicativi un’interfaccia indipendente dai dispositivi: lo stesso programma applicativo funziona su tutti i PC che abbiano installato l’apposito driver

39 Prospettive I SO si stanno evolvendo verso un sempre maggior numero di funzionalità, un tempo accessorie  interfacce grafiche utente, funzionalità di interconnessione in rete, di riconoscimento vocale  che tendono a collocarsi accanto ai tradizionali canali di inputoutput La sfida maggiore: affidabilità e sicurezza Quando il PC si blocca, spesso occorre spegnere il computer e attendere che il sistema venga riavviato, con perdita di tempo/dati: oggi i SO tendono a una maggiore protezione nei confronti di questo tipo di eventualità Esempio: le nuove versioni di Windows hanno introdotto una modalità più raffinata di protezione del sistema, per cui se un’applicazione si blocca può essere chiusa (in gergo, “terminata”) senza trascinare nella sua caduta l’intero sistema

40 Bit e byte

41 Sistemi di numerazione
Sistemi di numerazione posizionali: La base del sistema di numerazione Le cifre del sistema di numerazione Il numero è scritto specificando le cifre in ordine, ed il valore del numero dipende dalla posizione relativa delle cifre Esempio: Il sistema decimale (Base 10) Cifre : 5641 = 5     100 Posizione:

42 N = cnBn + cn1Bn1 +…+ c2B2 + c1B1 +c0B0
Sistemi in base B La base definisce il numero di cifre diverse nel sistema di numerazione La cifra di minor valore è sempre lo 0; le altre sono, nell’ordine, 1, 2, …, B1; se B>10 occorre introdurre B10 simboli in aggiunta alle cifre decimali Un numero intero N si rappresenta con la scrittura (cncn1…c2c1c0)B N = cnBn + cn1Bn1 +…+ c2B2 + c1B1 +c0B0 cn è la cifra più significativa, c0 la meno significativa Un numero frazionario N’ si rappresenta con la scrittura (0.c1c2…cn)B N’ = c1B1 + c2B2 +…+ cnBn

43 Numeri interi senza segno
Con n cifre, in base B, si rappresentano tutti i numeri interi positivi da 0 a Bn1 (Bn numeri distinti) Esempio: base 10 00 01 02 …. 98 99 102 = 100 valori 2 cifre: da 0 a 1021 = 99 Esempio: base 2 00 01 10 11 2 cifre: da 0 a 221 = 3 22 = 4 valori

44 Il sistema binario (B=2)
La base 2 è la più piccola per un sistema di numerazione Cifre: 0 1  bit (binary digit) Forma polinomia Esempi: (101101)2 = 125 + 024 + 123 + 122 + 021 + 120 = = (45)10 (0.0101)2 = 02 2 23 + 124 = = (0.3125)10 (11.101)2 = 121 + 120 + 121 + 022 + 123 = = (3.625)10

45 Dal bit al byte Un byte è un insieme di 8 bit (un numero binario a 8 cifre) Con un byte si rappresentano gli interi fra 0 e 281 = 255 Il byte è l’elemento base con cui si rappresentano i dati nei calcolatori; si utilizzano sempre dimensioni multiple (di potenze del 2) del byte: 2 byte (16 bit), 4 byte (32 bit), 8 byte (64 bit)… b7b6b5b4b3b2b1b0 ……………. 28 = 256 valori distinti

46 Dal byte ai kilobyte Potenze del 2
Cosa sono i Kb (Kilobyte), i Mb (Megabyte), ed i Gb (Gigabyte)? 24 = = 256 216 = 210 = (K=Kilo) 220 = (M=Mega) 230 = (G=Giga) 1 Kb = 210 byte = 1024 byte 1 Mb = 220 byte = byte 1 Gb = 230 byte = byte 1 Tb = 240 byte = byte (Terabyte)

47 Esempi  1 In qualsiasi base, l’essere il sistema di numerazione posizionale, impone che combinazioni diverse di cifre uguali rappresentino numeri diversi; ad esempio: (319)10  (193)10 (152)6  (512)6, infatti... (152)6=162+561+260= =(68)10 (512)6=562+161+260= =(188)10 Numeri che hanno identica rappresentazione, in basi diverse, hanno valori diversi: (234)10  (234)8 , infatti... (234)8 = 282 + 381 + 480 = 264 + 38 + 4 = = (156)10 Osservazione: più piccola è la base, minore è il valore del numero rappresentato dalla stessa sequenza di cifre

48 Esempi  2 La notazione posizionale si applica anche per il calcolo del valore dei numeri frazionari, infatti... (0.872)10 = 8101 + 7102 + 2103 = 8/10 + 7/ /1000 = Quante cifre occorreranno per rappresentare il numero decimale 36 in base 2? Sappiamo che con n cifre si rappresentano i numeri da 0 a 2n1, quindi... per n=1 (con una cifra) si rappresentano 1  0,1 per n=2: 1  0...3 per n=3: 1  0...7 per n=4: 1  per n=5: 1  per n=6: 1  Effettivamente possiamo verificare che (100100)2=(36)10, infatti... 100100=125+024+023+122+021+020 = = 36 con 6 cifre necessarie per la codifica del numero in base 2

49 Esempi  3 Quesito: Per quale base B risulterà vera l’uguaglianza
= 102 ? Se i numeri sono rappresentati in base B, sappiamo che: (17)B = 1B1+7B0 = B+7 (41)B = 4B1+1B0 = 4B+1 (22)B = 2B1+2B0 = 2B+2 (102)B = 1B2+0B1+2B0 = B2+2 da cui... B+7+4B+1+2B+2 = 7B+10 = B2+2  Si ottiene un’equazione di 2° grado: B2  7B  8 = 0 Risolvendo:  = = 81 B = (7   )/2 = (7+9)/2 = 8 È la soluzione! (79)/2 = 1 Non può essere una base

50 Esempi  4 Che valore decimale assume il numero (1C5)16?
Abbiamo detto che per un sistema di numerazione in base B, la cifra di minor valore è sempre lo 0; le altre sono, nell’ordine, 1,2,…,B1; quindi nel sistema esadecimale (in base 16) dovremmo avere le cifre da “0” a “15”... ... che rappesentiamo, con un solo carattere, con A=10, B=11, C=12, D=13, E=14, F=15 Quindi... (1C5)16 = 1(16)2 + 12(16)1 + 5(16)0 = = (453)10

51 Da decimale a binario  1 Si divide ripetutamente il numero intero decimale per 2 fino ad ottenere un quoziente nullo: le cifre del numero binario sono i resti delle divisioni; la cifra più significativa è l’ultimo resto Esempio 1: convertire in binario (43)10 43 : 2 = : 2 = 10 : 2 = 5 : 2 = : 2 = 1 : 2 = resti bit più significativo (43)10 = (101011)2

52 Da decimale a binario  2 Esempio 2: convertire in binario (270)10
Nota (banale): i numeri pari terminano per 0, i dispari per 1 270 : 2 = : 2 = 67 : 2 = 33 : 2 = : 2 = 8 : 2 = 4 : 2 = 2 : 2 = 1 : 2 = (270)10 = ( )2

53 Da decimale a binario  3 Si moltiplica ripetutamente il numero frazionario decimale per 2, fino ad ottenere una parte decimale nulla o, dato che la condizione potrebbe non verificarsi mai, per un numero prefissato di volte; le cifre del numero binario sono le parti intere dei prodotti successivi; la cifra più significativa è il risultato della prima moltiplicazione Esempio: convertire in binario ( )10 e (0.45)10 .45  2 = 0.9 .90  2 = 1.8 .80  2 = 1.6 .60  2 = 1.2 .20  2 = 0.4 etc. (0.45)10  ( )2  2 =  2 = 0.875  2 = 1.75  2 = 1.5  2 = 1.0 ( )10 = ( )2 bit più significativo

54 Esercizio Si verifichino le seguenti corrispondenze: (110010)2=(50)10 ( )2=(102)10 (1111)2=(17)10 (11011)2=(27)10 (100001)2=(39)10 ( )2=(237)10 Da binario a decimale Oltre all’espansione esplicita in potenze del 2  forma polinomia… …si può operare nel modo seguente: si raddoppia il bit più significativo e si aggiunge al secondo bit; si raddoppia la somma e si aggiunge al terzo bit… si continua fino al bit meno significativo (101011)2 = = (43)10 Esempio: convertire in decimale (101011)2 bit più significativo 1 x 2 = x 2 = 5 x 2 = 10 x 2 = x 2 = = 43 (101011)2 = (43)10

55 Aritmetica binaria: addizione
Le regole per l’addizione di due bit sono L’ultima regola è… (1)2+(1)2 = (10)2 … (1+1=2)10 !! 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con riporto di 1 Esempio riporti 181 91+ 90

56 Aritmetica binaria: moltiplicazione
Le regole della moltiplicazione di 2 bit sono Moltiplicare per 2n corrisponde ad aggiungere n zeri in coda al moltiplicando 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1 Esempio x 101 x = x 16 = 24

57 Conversioni di base Notiamo che valgono le seguenti uguaglianze:
(000)2 = (0)8 (0000)2 = (0)16 (001)2 = (1)8 (0001)2 = (1)16 (010)2 = (2)8 (0010)2 = (2)16 (011)2 = (3)8 (0011)2 = (3)16 (100)2 = (4)8 (0100)2 = (4)16 (101)2 = (5)8 (0101)2 = (5)16 (110)2 = (6)8 (0110)2 = (6)16 (111)2 = (7)8 (0111)2 = (7)16 (1000)2 = (8)16 (1001)2 = (9)16 (1010)2 = (A)16 (1011)2 = (B)16 (1100)2 = (C)16 (1101)2 = (D)16 (1110)2 = (E)16 (1111)2 = (F)16 = (1A5)16 (421)10 = ( )2 = (645)8 Tabella di conversione binario/ottale Tabella di conversione binario/esadecimale

58 Sistema esadecimale Esempio: Esempio:
La base 16 è molto usata in campo informatico Una cifra esadecimale corrisponde a 4 bit: si possono rappresentare numeri binari lunghi con poche cifre (1/4) La conversione da binario ad esadecimale è immediata: si raggruppano le cifre binarie in gruppi di 4 (da destra) e si sostituscono le opportune cifre esadecimali Esempio: (3A2F)16 = 3   160 =    = (14895)10 Esempio: D B F (D91B437F)16

59 Da esadecimale a binario
Viceversa, la conversione da esadecimale a binario si ottiene espandendo ciascuna cifra con i 4 bit corrispondenti Esempio: convertire in binario il numero esadecimale 0x0c8f Notazione usata in molti linguaggi di programmazione per rappresentare numeri esadecimali c f Il numero binario ha 4 x 4 =16 bit

60 La rappresentazione dei dati

61 Interi con segno Il bit più significativo rappresenta il segno: 0 per i numeri positivi, 1 per quelli negativi: esiste uno zero positivo (00…0) e uno zero negativo (10…0) Se si utilizzano n bit, si rappresentano tutti i numeri compresi fra (2n11) e 2n11 Esempio: con 4 bit si rappresentano i numeri fra 7 ((231)) e +7 (231) 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 0 1001 1 1010 2 1011 3 1100 4 1101 5 1110 6 1111 7 positivi negativi

62 Numeri in virgola mobile
La rappresentazione dei numeri frazionari in virgola mobile è, utilizzando la notazione scientifica (es. 120 = 1.2102 = 0.12103),… Singola precisione 31 22 23 23 bit 8 bit Mantissa (o Caratteristica) Segno Esponente Il valore è (1)S 0.M  2E ( )10 = ( )2 =  27

63 Codifica dei caratteri alfabetici
Oltre ai numeri, molte applicazioni informatiche elaborano caratteri (simboli) Gli elaboratori elettronici trattano numeri: si codificano caratteri e simboli per mezzo dei numeri Per poter scambiare dati (testi) in modo corretto, occorre definire uno standard di codifica La codifica deve prevedere le lettere dell’alfabeto, le cifre numeriche, i simboli, la punteggiatura, i caratteri speciali per certe lingue (æ, ã, ë, è, …) A 3 $

64 Codifica ASCII American Standard Code for Information Interchange: definisce una tabella di corrispondenza fra ciascun carattere e un codice a 7 bit (128 caratteri) I caratteri, in genere, sono rappresentati con 1 byte (8 bit): i caratteri con il bit più significativo a 1 (quelli con codice dal 128 al 255) fanno parte di un’estensione della codifica La tabella comprende sia caratteri di controllo (codici da 0 a 31) che caratteri stampabili I caratteri alfabetici/le cifre hanno codici ordinati secondo l’ordine alfabetico/numerico 0 48 1 49 ……. 8 56 9 57 A 65 B 66 ……. Y 89 Z 90 a 97 b 98 ……. y 121 Z 122 cifre maiuscole minuscole

65 Caratteri di controllo ASCII
I caratteri di controllo (codice da 0 a 31) hanno funzioni speciali Si ottengono o con tasti specifici o con la combinazione Ctrl+carattere Ctrl Dec Hex Code Nota NULL carattere nullo ^A SOH partenza blocco … … … …… ………………… ^G BEL beep ^H BS backspace ^I HT tabulazione orizzontale ^J A LF line feed (cambio linea) ^K B VT tabulazione verticale ^L C FF form feed (alim. carta) ^M D CR carriage return (a capo) …… … … … ……………………. ^Z A EOF fine file ^[ B ESC escape … … … … ……….. ^_ F US separatore di unità

66 Caratteri ASCII stampabili
Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr 32 20 SPACE P ` p 33 21 ! A Q a q 34 22 ” B R b r 35 23 # C S c s 36 24 $ D T d t 37 25 % E U e u 38 26 & F V f v 39 27 ’ G W g w 40 28 ( H X h x 41 29 ) I Y i y 42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z 43 2B B ; 75 4B K 91 5B [ 107 6B k 123 7B { 44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C | 45 2D D = 77 4D M 93 5D ] 109 6D m 125 7D } 46 2E E > 78 4E N 94 5E ^ 110 6E n 126 7E ~ 47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o F DEL Nota: il valore numerico di una cifra può essere calcolato come differenza del suo codice ASCII rispetto al codice ASCII della cifra 0 (es. ‘5’ - ‘0’ = 5348 = 5)

67 Tabella ASCII estesa I codici oltre il 127 non sono compresi nello standard originario

68 Codifica delle immagini  1
Le immagini vengono anch’esse codificate come una sequenza di bit: il processo di “traduzione” da un’immagine ad una sequenza binaria prende il nome di digitalizzazione L’immagine è suddivisa in punti o pixel (per picture element ), e ciascun punto viene codificato con un numero, che corrisponde ad un colore o ad un particolare tono di grigio Si uitilizzano un numero di colori o di sfumature che sia una potenza del 2, in modo da codificare l’informazione legata a ciascun pixel con un opportuno numero di bit

69 Codifica delle immagini  2
Le immagini vengono memorizzate come lunghe sequenze di bit: per interpretarle è necessario conoscere... ...le dimensioni dell’immagine (base ed altezza in numero di pixel), detta anche risoluzione ...il numero di colori (o toni di grigio) disponibili per ogni pixel Se un immagine viene codificata ad una data risoluzione, potrà comunque essere presentata su un dispositivo a più bassa risoluzione, a patto di “ignorare” parte dell’informazione

70 Codifica delle immagini  3
Come è avvenuto per i caratteri, anche per le immagini sono stati definiti standard di codifica, che assicurano la compatibilità fra sistemi diversi, per quanto concerne la trasmissione e la visualizzazione delle immagini TIFF  Tagged Image File Format JPEG PNG  Portable Network Graphics Per ridurre lo spazio necessario per memorizzare le immagini si utilizzano tecniche di compressione (utili anche per la trasmissione su rete Internet)

71 Codifica delle immagini  4
Le tecniche di compressione si dividono in... Tecniche lossless: non provocano perdita di informazione, sono adatte a codificare immagini in cui sono presenti ampie aree monocromatiche  si codificano in maniera compatta insiemi di pixel aventi le stesse caratteristiche Tecniche lossly: provocano perdita di informazione, facendo decadere la qualità dell’immagine Normalmente ai formati JPEG e PNG, molto diffusi per lo scambio di immagini su Internet, si applicano metodi di compressione lossly


Scaricare ppt "Informatica Monica Bianchini Email:"

Presentazioni simili


Annunci Google