+
CdL Economia A.A. 2012/2013 Elementi di Base dell’ICT Information and Communication
Technology Concetti Introduttivi
Laboratorio di Informatica
Domenica Sileo Università degli Studi della Basilicata
+Sommario
n Elementi di Base dell’ICT n Concetti principali n Cenni Hardware e Software n Algoritmo n Rappresentazione delle informazioni n Rappresentazione dei caratteri n Rappresentazione dei numeri n Rappresentazione di immagini e video
D. Sileo A.A 2012/2013
2 Elementi di Base dell’ICT >> Sommario
+Informatica
n L’informatica è la scienza che si occupa di n raccogliere, organizzare conservare e
distribuire le informazioni n tramite sistemi automatici di elaborazione di
dati n L’elaborazione dell’informazione avviene in
maniera sistematica e rigorosa, pertanto la sua gestione può essere automatizzata n Informazione Automatica
D. Sileo A.A 2012/2013
3 Elementi di Base dell’ICT : Concetti Principali >> Informatica
+Informatica
n Informazione: insieme di dati di cui è noto, oltre al valore, anche il significato
n Dato: elemento del mondo reale che ci permette di caratterizzare un fenomeno oppure di risolvere un problema
D. Sileo A.A 2012/2013
4
20° 20
dato informazione
Elementi di Base dell’ICT : Concetti Principali >> Informatica
+L’elaborazione
n Il trattamento di dati per ottenere informazioni viene indicato con il termine di elaborazione
n Ogni elaborazione: n necessita di dati in ingresso (input) n produce dati in uscita (output)
n Mentre l’uomo effettua elaborazioni di tipo manuale o mentale, il computer produce elaborazioni automatiche
D. Sileo A.A 2012/2013
5 Elementi di Base dell’ICT : Concetti Principali >> L’elaborazione
+Information and Communication Technology n L’ICT è lo studio e sviluppo delle
tecnologie per l’elaborazione e la trasmissione delle informazioni attraverso mezzi digitali
n Si è sviluppato con il collegamento in rete dei computer
D. Sileo A.A 2012/2013
6
Telecomunicazioni Informatica
Elementi di Base dell’ICT : Concetti Principali >> ICT
+
+Il Personal Computer
n Il Personal Computer (PC) è, in generale, un elaboratore elettronico “general purpose” per uso individuale
n Le componenti principali sono: n Hardware n Software: d’ambiente ed applicativo
n Il funzionamento del PC è basato su due elementi fondamentali: n Istruzioni da eseguire n Dati da elaborare
D. Sileo A.A 2012/2013
7 Elementi di Base dell’ICT : Concetti Principali >> Personal Computer
+Le componenti di un PC
n Hardware (HW) - componenti fisici di sistema n è composto da una serie di elementi
funzionali, presenti in ogni PC: n Unità di elaborazione, memoria centrale,
memoria di massa, bus di sistema, unità periferiche
D. Sileo A.A 2012/2013
8 Elementi di Base dell’ICT : Cenni Hardware e Sw >> Componenti di un PC
+Le componenti di un PC
n Software (SW) - programmi che vengono eseguiti dal sistema n Il programma è una sequenza di operazioni che
devono essere eseguite dal computer secondo un ordine prestabilito
n Si dividono in n Software di sistema (o d’ambiente): dedicato alla
gestione dell’elaboratore n Software applicativo: opera al di sopra del SW
d’ambiente, è dedicato alla realizzazione di specifiche esigenze applicative
D. Sileo A.A 2012/2013
9 Elementi di Base dell’ICT : Cenni Hardware e Sw >> Componenti di un PC
+Software Applicativo
n Programmi che aiutano l’uomo a risolvere una vasta tipologia di problemi n Applicazioni per uso aziendale n Applicazioni di Office Automation
n Elaboratori di testi n Software per il calcolo n Strumenti di presentazione
n Data base ecc.
n Applicazioni multimediali
D. Sileo A.A 2012/2013
10 Elementi di Base dell’ICT : Cenni Hardware e Sw >> Software Applicativo
+Software di Base
n Insieme di programmi che consente all’utente (o alle applicazioni) di utilizzare le risorse (HD e SW) del sistema di elaborazione
n Il sistema operativo permette di ignorare le caratteristiche tecniche dell’hardware, si inserisce tra macchina e utente rendendo il computer una macchina standard n Es: Windows, Linux, Mac OS
D. Sileo A.A 2012/2013
11 Elementi di Base dell’ICT : Cenni Hardware e Sw >> Software di Base
+Software di Base
n Funzioni del sistema operativo n Gestione dei Processi (multitasking) n Gestione della memoria (scheduler) n Gestione dei files (file system) n Gestione degli utenti (multiutenza) n Gestione dell’ I/O (stampanti, video, tastiera, ...) n Gestione servizi di Rete n Protezione del sistema n Interprete di comandi
D. Sileo A.A 2012/2013
12 Elementi di Base dell’ICT : Cenni Hardware e Sw >> Software di Base
+Interprete dei comandi
D. Sileo A.A 2012/2013
13 Elementi di Base dell’ICT : Cenni Hardware e Sw >> Interprete dei comandi
+Istruzioni da eseguire
n Un algoritmo può essere informalmente definito come una sequenza finita di “passi” che risolve in un tempo finito un determinato problema
n L’esecuzione delle azioni nell’ordine specificato dall’algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che rappresentano la risoluzione del problema
D. Sileo A.A 2012/2013
14 Elementi di Base dell’ICT : Algoritmo >> Istruzioni da eseguire
+Istruzioni da eseguire
n Per programmare n è necessario conoscere almeno un linguaggio
(sintassi e semantica) n Ma questo non basta n il processo di sviluppo del software è complesso n è necessario un metodo (ovvero una
“metodologia”) per affrontare questa complessità
D. Sileo A.A 2012/2013
15 Elementi di Base dell’ICT : Algoritmo >> Istruzioni da eseguire
algoritmo programma problema
Metodo risolutivo
Linguaggio di programmazione
+Il Concetto di Algoritmo
n Il punto di partenza n la descrizione del problema, normalmente
fornita in linguaggio naturale n è opportuno analizzarla accuratamente
n Il punto di arrivo n l’applicazione correttamente funzionante
n Un passo intermedio fondamentale n concepire una strategia per la soluzione del
problema
D. Sileo A.A 2012/2013
16 Elementi di Base dell’ICT : Algoritmo >> Il Concetto
+Il Concetto di Algoritmo
n Algoritmo n strategia per la soluzione del problema
n Il problema centrale n capito il problema, decidere attraverso quale
sequenza di passi costruire la soluzione n è un problema ricorrente, che capita in molti
altri contesti n Esempio: lavare i panni
D. Sileo A.A 2012/2013
17 Elementi di Base dell’ICT : Algoritmo >> Il Concetto
+Il Concetto di Algoritmo
D. Sileo A.A 2012/2013
18 Elementi di Base dell’ICT : Algoritmo >> Il Concetto
Problema di Calcolo
- dati in ingresso - risultati attesi Es: lavare i panni
Tecnologia
Algoritmo Programma
dati in ingresso
dati in uscita
Es: lavatrice
Es: strategia di lavaggio (colore, delicati)
Es: programmi di lavaggio
+Il Concetto di Algoritmo
n Strategia di soluzione del problema n deve essere concretamente eseguibile
usando la tecnologia disponibile; es: “separa i bianchi dai colorati”
n deve essere corretta es: “lava bianchi a 60 gradi”
n deve essere efficiente, ovvero produrre la soluzione utilizzando le minori risorse possibili (es: tempo, memoria) es: “lava colorati separatamente (a 30 gradi)”
D. Sileo A.A 2012/2013
19 Elementi di Base dell’ICT : Algoritmo >> Il Concetto
+Diagrammi di flusso (o a blocchi)
n La rappresentazione di un algoritmo può essere espressa graficamente tramite diagrammi di flusso (flow chart)
n un insieme di figure geometriche collegate da frecce n ellisse per indicare il punto di inizio n rettangoli per le operazioni da svolgere sui
dati n rombi per indicare condizioni
D. Sileo A.A 2012/2013
20 Elementi di Base dell’ICT : Algoritmo >> Diagrammi di flusso
+Diagrammi di flusso (o a blocchi)
n un insieme di figure geometriche collegate da frecce (cont.) n dati in ingresso e in uscita sono i dati noti del
problema, quelli che devono essere elaborati per arrivare alla soluzione
D. Sileo A.A 2012/2013
21 Elementi di Base dell’ICT : Algoritmo >> Diagrammi di flusso
I/O if
Start End Operazioni
no si
+Linguaggi di programmazione
n I linguaggi di programmazione possono essere suddivisi in linguaggi a basso e ad alto livello
n Un esempio di linguaggio a basso livello è il linguaggio macchina n Fornisce istruzioni eseguibili direttamente
dall’elaboratore per la risoluzione di un problema
n Per esempio n in un linguaggio macchina è possibile specificare il
caricamento di dati (variabili) in locazioni di memoria ben precise (ad esempio i registri della CPU)
D. Sileo A.A 2012/2013
22 Elementi di Base dell’ICT : Algoritmo >> Linguaggi di programmazione
+Linguaggi di programmazione
n I linguaggi ad alto livello n come il C/C++, Java, Pascal, Basic e altri, sono molto
più simili al linguaggio naturale n le istruzioni sono quindi molto più intuitive per il
programmatore n In ogni caso, l’esecuzione di un programma scritto
in un linguaggio ad alto livello è subordinata a una fase in cui le istruzioni del linguaggio sono tradotte in istruzioni a basso livello (compilazione), direttamente eseguibili dal calcolatore
D. Sileo A.A 2012/2013
23 Elementi di Base dell’ICT : Algoritmo >> Linguaggi di programmazione
+I programmi
n La realizzazione di programmi, spesso complessi, consente una varietà di possibili applicazioni, tra cui: n Word Processing (Memorizzare, elaborare
testi), n Basi di Dati (Memorizzare grossi archivi di
dati, recupero veloce, produrre informazioni globali),
n Accesso Remoto (Trasmissione e recupero di informazioni),
D. Sileo A.A 2012/2013
24 Elementi di Base dell’ICT : Algoritmo >> I programmi
+I programmi
n (cont.) n Calcolo (Risolvere problemi matematici), n Simulazioni (Rappresentare e elaborare
informazioni che simulano l’ambiente reale), n Progettazione ingegneristica, n Rappresentazione scientifica dei dati
D. Sileo A.A 2012/2013
25 Elementi di Base dell’ICT : Algoritmo >> I programmi
+I programmi
n Tuttavia, esistono problemi che non possono essere risolti tramite un calcolatore elettronico per diversi motivi, tra cui: n la risoluzione del problema non esiste, n la risoluzione del problema impiegherebbe
un tempo di calcolo eccessivo (anche infinito),
n la soluzione del problema è “soggettiva”
D. Sileo A.A 2012/2013
26 Elementi di Base dell’ICT : Algoritmo >> I programmi
+In conclusione
n Per generare programmi è necessario avere o generare algoritmi efficienti
n Non bisogna confondere l’esecutore (PC) con l’algoritmo (sequenza di passi)
n Pertanto un programma è nient’altro che un algoritmo dove l’esecutore è il computer stesso
D. Sileo A.A 2012/2013
27 Elementi di Base dell’ICT : Algoritmo >> In Conclusione
+In conclusione
n Sviluppare software significa generare programmi che siano corretti ed efficienti n Corretto: validazione del risultato n Efficiente: tempo, memoria (in termini di
costo)
D. Sileo A.A 2012/2013
28 Elementi di Base dell’ICT : Algoritmo >> In Conclusione
+Rappresentazione delle Informazioni n In un calcolatore, le informazioni sono
codificate in forma binaria n ossia in una sequenza finita di 0 e di 1
n La più piccola unità di informazione memorizzabile o elaborabile da un calcolatore è il bit (binary digit) 8 bit = 1 Byte
n L’alfabeto con cui un calcolatore codifica ogni informazione consiste di due soli simboli 0 e 1
D. Sileo A.A 2012/2013
29 Elementi di Base dell’ICT : Rappresentazione delle informazioni
+Rappresentazione delle Informazioni n Manipolare bit significa manipolare valori
vero/falso n bit 0: valore falso n bit 1: valore vero
n Operazioni booleane (mat. George Boole 1815-1864) e operatori, essi combinano due valori di ingresso (input) per produrre un terzo valore in uscita (output)
D. Sileo A.A 2012/2013
30 Elementi di Base dell’ICT : Rappresentazione delle informazioni
+Gli operatori booleani
n Ciascun operatore prende in input uno o due booleani e restituisce in output un altro booleano
n AND, prende in input due operandi e produce in output un booleano, attenendosi al seguente comportamento: n Se entrambi gli operatori sono true allora
l’output è true; in tutti gli altri casi l’output è uguale a false
D. Sileo A.A 2012/2013
31 Elementi di Base dell’ICT : Rappres. delle informazioni >> Op. Booleani
+Gli operatori booleani
n (cont.) OR, prende in input due operandi e produce in output un booleano, attenendosi al seguente comportamento n Se almeno uno degli operandi è uguale a
true, l’output è true; n altrimenti, se nessuno dei due operandi è
uguale a true l’output sarà false
D. Sileo A.A 2012/2013
32 Elementi di Base dell’ICT : Rappres. delle informazioni >> Op. Booleani
+Gli operatori booleani
n NOT, prende in input un solo operando e produce in output un booleano, attenendosi al seguente comportamento: n Se l’operando di input è true allora l’output
sarà false n Se, invece l’operando di input è false, allora
l’output sarà uguale a true n In altri termini, l’operatore di NOT prende un
input e ne restituisce l’esatto contrario
D. Sileo A.A 2012/2013
33 Elementi di Base dell’ICT : Rappres. delle informazioni >> Op. Booleani
+Porta Logica
n Un dispositivo che, dati i valori d’ingresso, produce l’uscita di un’operazione booleana è chiamato porta logica (gate)
n Le prime porte logiche erano realizzate con dispositivi elettrici (relè), n attualmente sono realizzate con circuiti
elettronici, n dove le cifre 0,1 sono rappresentati da diversi livelli di tensione
D. Sileo A.A 2012/2013
34 Elementi di Base dell’ICT : Rappres. delle informazioni >> Porta Logica
+Memorizzazione e rappresentazione dei dati n Per archiviare i dati, un computer contiene
un gran numero di circuiti flip-flop, n ognuno in grado di memorizzare un singolo
bit n I circuiti di memoria sono organizzati in
unità chiamate celle di memoria
D. Sileo A.A 2012/2013
35 Elementi di Base dell’ICT : Rappres. delle informazioni >> Memorizzazione
+Memorizzazione e rappresentazione dei dati n Per identificare le singole celle di memoria
ad ognuna di esse è assegnata una denominazione univoca chiamata indirizzo
n Poiché la memoria principale di un computer è organizzata sotto forma di singole celle dotate di indirizzo, è possibile accedere a tali celle a secondo della necessità
n (RAM memoria ad accesso casuale)
D. Sileo A.A 2012/2013
36 Elementi di Base dell’ICT : Rappres. delle informazioni >> Memorizzazione
+I File
n Il file è un contenitore di informazione digitalizzata
n Le informazioni codificate al suo interno sono leggibili solo da software
n I dati codificati in un file sono organizzati come una sequenza di byte, immagazzinati come un solo elemento su una memoria di massa
D. Sileo A.A 2012/2013
37 Elementi di Base dell’ICT : Rappresentazione delle informazioni >> I file
+I File
D. Sileo A.A 2012/2013
38
n Immaginate un file come un foglietto a quadretti nel quale scrivete i codici corrispondenti alle lettere che voi digitate dalla tastiera:
n Scrivo
n Ad esempio per scrivere C scrive 01000011, per scrivere A scrive 01000001 …
Elementi di Base dell’ICT : Rappresentazione delle informazioni >> I file
+I File
n Ogni programma salva il file in un determinato formato identificato univocamente dall’estensione del programma
n Il nome del file è del tipo: n nome . estensione n Estensione e icona identificano il programma
n Es: foto.gif, documento.doc, calcolo.xls D. Sileo A.A 2012/2013
39 Elementi di Base dell’ICT : Rappresentazione delle informazioni >> I file
+I File
n Alcune estensioni molto note: n ZIP/TAR -> Winzip n XLS -> Excel n PPT -> Power Point -> Presentazioni multimediali n MDB -> Access -> DataBase n EXE -> File eseguibili n MP3 -> Winamp / Windows Media Player -> File
musicale n HTML -> Browser -> File Internet Pagina web
D. Sileo A.A 2012/2013
40 Elementi di Base dell’ICT : Rappresentazione delle informazioni >> I file
+Codifica delle Informazioni
n Esistono diverse convenzioni per codificare i diversi tipi di dati
n Nello specifico… processo secondo cui si fa corrispondere ad un’informazione una configurazione di cifre binarie
n Con un certo numero di bit possiamo codificare un certo numero di informazioni
D. Sileo A.A 2012/2013
41 Elementi di Base dell’ICT : Rappresentazione delle informazioni >> Codifica
+Codifica delle Informazioni
n Con una sequenza di n bit si possono rappresentare 2n informazioni diverse
n = 1 0, 1 n = 2 00, 01, 10, 11 n = 3 000, 001, 010, 011, 100, 101, 110, 111
n Con 8 bit si possono rappresentare 256 informazioni: n 28 = 256 n Si usano tutte lo combinazioni possibili tra
00000000 e 11111111
D. Sileo A.A 2012/2013
42 Elementi di Base dell’ICT : Rappresentazione delle informazioni >> Codifica
+Unità di misura
n BIT (binary digit) n BYTE = 8 bit n 1Kb (kilobit) 1024 bit n 1KB (kilobyte) 1024 byte (210 byte ) n 1Mb (megabit) 1024 Kb n 1MB (megabyte) 1024 KB (220 byte ) n 1GB (gigabyte) 1024 MB n 1TB (terabyte) 1024 GB n 1PB (petabyte) 1024 TB D. Sileo A.A 2012/2013
43 Elementi di Base dell’ICT : Rappres. delle informazioni >> Unità di misura
+Rappresentazione dei caratteri
n Codice ASCII (American Standard Code for Information Interchange) n codice di traduzione per i simboli
alfanumerici n ad ogni carattere è associato un numero n la rappresentazione del carattere coincide
con quella del numero n vale anche per le cifre (0-9) ed i caratteri
speciali (es: +)
D. Sileo A.A 2012/2013
44 Elementi di Base dell’ICT : Rappres. delle informazioni >> I caratteri
+Rappresentazione dei caratteri
D. Sileo A.A 2012/2013
45
Tabe
lla d
ei C
odic
i AS
CII
Est
esi
Elementi di Base dell’ICT : Rappres. delle informazioni >> I caratteri
+Rappresentazione dei caratteri
n Il codice ASCII a 7 bit è limitato: n non include lettere accentate
n Codice ASCII a 8 bit (“ASCII esteso”): n al carattere è associato un num. tra 0 e 255
maggior numero di caratteri rappresentabili
n Al giorno d’oggi codice UNICODE (16 bit o superiore)
D. Sileo A.A 2012/2013
46 Elementi di Base dell’ICT : Rappres. delle informazioni >> I caratteri
+Rappresentazione dei caratteri
n Unicode è un sistema per rappresentare i caratteri di tutti i differenti linguaggi del mondo
n Il codice assegnato al carattere viene rappresentato con U+, seguito dalle quattro (o sei) cifre esadecimali del numero che lo individua
n Es: Il carattere a ha codice Unicode U+0061
D. Sileo A.A 2012/2013
47 Elementi di Base dell’ICT : Rappres. delle informazioni >> I caratteri
+Rappresentazione dei caratteri
n Codice ASCII (American Standard Code for Information Interchange) n ad ogni carattere è associato un numero n Codice ASCII a 7 bit n Codice ASCII a 8 bit (“ASCII esteso”)
n Unicode a 16 bit o superiore n viene supportato dai moderni standard della
programmazione e del markup come XML, Java, JavaScript, LDAP, CORBA 3.0, e da vari sistemi operativi
D. Sileo A.A 2012/2013
48
Ricapitolando
Elementi di Base dell’ICT : Rappres. delle informazioni >> I caratteri
+Rappresentazione dei numeri
n Numeri rappresentabili all’interno di un calcolatore sono di due tipi n Numeri Interi: n utilizzando il sistema di numerazione binario, n qualsiasi numero intero può essere
rappresentato tramite una sequenza di bit di opportuna lunghezza
D. Sileo A.A 2012/2013
49 Elementi di Base dell’ICT : Rappres. delle informazioni >> I numeri
+Rappresentazione dei numeri
n Numeri rappresentabili all’interno di un calcolatore sono di due tipi (cont.) n Numeri Con la Virgola: n Scomponendo il numero in parte intera e
parte frazionaria n e sempre utilizzando il sistema di
numerazione binario, n è possibile ottenere una rappresentazione
anche per questo tipo di numeri D. Sileo A.A 2012/2013
50 Elementi di Base dell’ICT : Rappres. delle informazioni >> I numeri
+Conversioni
n Per codificare i numeri esiste un sistema di numerazione simile a quello tradizionale (sistema decimale e posizionale) n Ogni cifra ha un valore che dipende dalla
posizione che occupa all’interno del numero n Per esempio
D. Sileo A.A 2012/2013
51 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
645 2 1 0 Posizione
6 * (102) + 4 * (101 ) + 5 *(100) = 600 + 40 + 5 = 645
+Conversioni
n Conversione dal sistema binario al sistema decimale n Per esempio
D. Sileo A.A 2012/2013
52 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
1101 3 2 1 0 Posizione
1 * (23) + 1 * (22 ) + 0 * (21) + 1 * (20) = 8+4+1= 1310
+Conversioni
n Per ottenere il valore binario di un numero intero si procede utilizzando successive divisioni per 2 n Per esempio
D. Sileo A.A 2012/2013
53 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
2610 26:2 = 0 13:2 = 1 6: 2 = 0 3: 2 = 1 1: 2 = 1
110102
Resto della divisione per
2
+Conversioni
n Operazione di addizione n Per esempio
D. Sileo A.A 2012/2013
54 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 0 con riporto 1
A =110112=2710 B = 001102=610
110112 + 001102 = 1000012 2710 + 610 = 3310
1+ 1+ 1+
+Conversioni
n Notazione in complemento e bit del segno per la rappresentazione dei numeri negativi
n Col complemento a due, il bit iniziale (più a sinistra) del numero ha peso negativo o positivo
n Per esempio
D. Sileo A.A 2012/2013
55 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
000000112 +310
bit più significativo come bit di segno
100000112 -310
+Conversioni
n (cont. ) da questo deriva che tutti i numeri che cominciano n con un “1” sono numeri binari negativi n mentre tutti i numeri che cominciano con uno
“0” sono numeri binari positivi n Svantaggi: Solo 7 bit per la
rappresentazione dei numeri, con n cifre rappresentiamo i numeri compresi fra -2 n-1
e 2 n-1 -1 [-128, 127] n La somma non è sempre corretta con le
regole adottate in precedenza
D. Sileo A.A 2012/2013
56 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
+Conversioni
n Eseguiamo la somma di +5 con -10
n In pratica ai numeri viene anteposto un bit di valore zero
n se poi il numero è negativo è necessario convertirlo in complemento a 2
D. Sileo A.A 2012/2013
57 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
000001012 +510
bit più significativo come bit di segno
100010102 - 1010
100011112 - 1510 ERRORE !!!
0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 0 con riporto 1
+1010 = 10102
-1010 = 010102 = 10110CA2 Ma come avviene la codifica? >>
+Conversioni
n La codifica del numero –10, in complemento a due, avviene in tre passi n Si rappresenta il valore assoluto di 10: 1010 n Si invertono tutti i bit e si ottiene 0101 n Si aggiunge il bit 1 al valore risultante
n Si aggiunge il bit del segno
D. Sileo A.A 2012/2013
58 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
-1010 = 10110CA2
10102 = 01012 + 12 = 0110CA2
+Complemento a due
n Lo stesso risultato si ottiene semplicemente invertendo la sequenza di bit a partire dal primo 1 (escluso) da destra n Es. la sequenza 1010 diventa: 0110
D. Sileo A.A 2012/2013
59 Elementi di Base dell’ICT : Rappres. dei numeri >> Complemento a due
00000101CA2 + +510
10000110CA2 = -1010
100011112 - 1510
0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 0 con riporto 1
10001011CA2 = -000001012 = -5
+Conversioni per i numeri reali
D. Sileo A.A 2012/2013
60 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
n Codifica in virgola mobile
n Fissata la base B (es. 10 o 2) n il numero viene rappresentato attraverso
due altri numeri mantissa ed esponente n N = m Be, con 1/2 <= m < 1 n es: 23.315 = 0.23315x102
10110.010 = 10.110010 x 23
Bit del segno esponente mantissa
Nel registro saranno prefissate zone diverse per la mantissa e per
l’esponente
+Conversioni per i numeri reali
D. Sileo A.A 2012/2013
61 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
n Lo Standard per la presentazione di numeri reali in singola precisione n È utilizzato ad esempio, per rappresentare il
tipo float del C++ che occupa 4 byte (32 bit): 1 bit per il segno, 8 bit per l’esponente e 23 bit per la mantissa
+Conversioni
n Trasformare i seguenti numeri dal sistema decimale a quello binario: n 67 n 124 n 65 n 79
n Verificare la conversione ritrasformando le stringhe di byte ottenute nuovamente nel sistema decimale
D. Sileo A.A 2012/2013
62 Elementi di Base dell’ICT : Rappresentazione dei numeri >> Conversioni
+Rappresentazione delle immagini
n Supponiamo di avere un triangolo n Suddividiamo l’immagine mediante una
griglia formata da righe orizzontali e verticali a distanza costante
D. Sileo A.A 2012/2013
63 Elementi di Base dell’ICT : Rappresentazione delle immagini
+Codifica delle immagini
n Ogni cella derivante da tale suddivisione prende il nome di PIXEL n da “PICTureELement” identifica una piccola
porzione rettangolare dello schermo n Rappresenta un’unità logica elementare di
riferimento per la rappresentazione delle immagini digitali
D. Sileo A.A 2012/2013
64 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
+Codifica delle immagini
n Ogni cella (pixel) n può essere codificata in binario secondo la
seguente convenzione: n il simbolo 0 per le celle dove il bianco è
predominante n il simbolo 1 per le celle in cui il nero è
predominante
D. Sileo A.A 2012/2013
65 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
0 0 0 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0
+Codifica delle immagini
n Poiché una sequenza di bit è lineare, n è necessario definire convenzioni per ordinare
la griglia dei pixel in una sequenza n Assumiamo che i pixel siano ordinati dal basso
verso l’alto e da sinistra verso destra n 0000000000 0011111000 0011100000
0001000000
D. Sileo A.A 2012/2013
66 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
0 0 0 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 0 1 1 1 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0
+Codifica delle immagini
n Non sempre il contorno della figura coincide con le linee della griglia
n nella codifica si ottiene un’approssimazione della figura originaria
n Se riconvertiamo la sequenza di stringhe 0000000000 0011111000 0011100000 0001000000 in immagine otteniamo
n Aumentando il numero di pixel
D. Sileo A.A 2012/2013
67 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
+Codifica delle immagini
n Assegnando un bit ad ogni pixel è possibile codificare solo immagini in bianco e nero
n Per codificare le immagini con diversi livelli di grigio oppure a colori si usa la stessa tecnica: n per ogni pixel viene assegnata una sequenza
di bit
D. Sileo A.A 2012/2013
68 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
+Codifica delle immagini
n Per memorizzare un pixel non è più sufficiente un solo bit n Per esempio, se utilizziamo quattro bit
possiamo rappresentare n 24= 16 livelli di grigio o 16 colori diversi
n Mentre con otto bit ne possiamo distinguere n 28 = 256, n ecc.
D. Sileo A.A 2012/2013
69 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
+Codifica delle immagini
n Il colore può essere generato componendo tre colori: n Red, Green, Blue (RGB)
n Ad ogni colore si associa una possibile sfumatura n usando 2 bit per ogni colore si possono ottenere 4
sfumature per il rosso, 4 per il blue e 4 per il verde che, combinate insieme, danno origine a 64 colori diversi
n ogni pixel per essere memorizzato richiede 6 bit
D. Sileo A.A 2012/2013
70 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
+Codifica delle immagini
n Usando 8 bit per ogni colore si possono ottenere: n 256 sfumature per il rosso, 256 per il verde e
256 per il blu n combinate insieme, danno origine a circa
16,8 milioni di colori diversi n Ogni pixel per essere memorizzato
richiede 3 byte
D. Sileo A.A 2012/2013
71 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Codifica
+Risoluzione
n Il numero di pixel presenti sullo schermo (colonne x righe) prende il nome di risoluzione
n Risoluzione tipiche sono n 640 x 480, 800 x 600, 1024 x 768, 1280 x 1024
1600 x 1200 n La codifica di un’immagine di 256 colori,
formata da 640 x 480 pixel, n richiederà 640 x 480 = 307.200 byte
D. Sileo A.A 2012/2013
72 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Risoluzione
+Risoluzione e DPI
n Risoluzione n indica le dimensioni dell’immagine espresse
in pixel (es. 640x480) n DPI (dotsper inch-punti per pollice) n è un parametro relativo che, abbinato alla
risoluzione, definisce le dimensioni dell’immagine in fase di acquisizione (tramite scanner) e di stampa
D. Sileo A.A 2012/2013
73 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Risoluzione
+Risoluzione e Monitor
n Per modificare i numeri di colori (il numero di pixel sullo schermo): n (SO Windows) Start, Panello di controllo,
Schermo, Impostazione (scheda) n Un colore sul monitor è specificato da tre
componenti: rosso, verde e blu n l’intensità di ogni colore è rappresentata da
una quantità (da 0 a 255) n Ogni intensità RGB è rappresentata da un
byte (8 bit) D. Sileo A.A 2012/2013
74 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Risoluzione
+Risoluzione e Monitor
n Per modificare i numeri di colori, il numero di pixel sullo schermo: n Start, Panello di controllo, Schermo,
Impostazione (scheda) n Un colore sul monitor è specificato da tre
componenti: rosso, verde e blu n l’intensità di ogni colore è rappresentata da
una quantità (da 0 a 255) n Ogni intensità RGB è rappresentata da un
byte (8 bit) D. Sileo A.A 2012/2013
75 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Risoluzione
+Le bitmap
n Le immagini codificate pixel per pixel sono dette immagini bitmap
n Le immagini di questo tipo occupano molto spazio
n Per esempio, l’immagine della finestra “Proprietà - Schermo” sulla diapositiva precedente (in cui 3 byte sono usati per i colori) richiede 493.674 byte (circa 482 KB)
D. Sileo A.A 2012/2013
76 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Le bitmap
+Le bitmap
n Esistono delle tecniche di compressione che permettono di ridurre le dimensioni
n Ad esempio, se più punti vicini di un’immagine assumono lo stesso colore,
n si può memorizzare la codifica del colore una sola volta e poi ricordare per quante volte deve essere ripetuta
D. Sileo A.A 2012/2013
77 Elementi di Base dell’ICT : Rappresentazione delle immagini >> Le bitmap
+I vari formati
n I formati come GIF, JPEG e PNG sono formati compressi di immagini bitmap
n Per esempio: rispetto al bitmap, il formato JPEG dedica meno bit alla descrizione delle sfumatura cromatiche di un’immagine
n L’immagine della finestra “Proprietà - Schermo” in formato JPEG occupa 30.401 byte (circa 29,6 KB)
D. Sileo A.A 2012/2013
78 Elementi di Base dell’ICT : Rappresentazione delle immagini >> I formati
+La compressione
n L’algoritmo di compressione può essere lossless (senza perdita di informazioni) oppure lossy
n Lossless: n dalla versione compressa, si può ricostruire
perfettamente la versione non-compressa n per esempio, GIF (fino a 256 colori)
D. Sileo A.A 2012/2013
79 Elementi di Base dell’ICT : Rappres. delle immagini >> La compressione
+La compressione
n Lossy: compressione con perdita di informazioni n dalla versione compressa, non è possibile
recuperare la versione originale n per esempio, JPEG, PNG
n È chiaro che i dati non sono più direttamente disponibili ma occorre svolgere un passaggio intermedio (decompressione)
D. Sileo A.A 2012/2013
80 Elementi di Base dell’ICT : Rappres. delle immagini >> La compressione
+La compressione
n Finché si resta al di sotto di una ben determinata soglia, le perdite introdotte risultano essere pressoché nulle per l’utente medio
n Mano a mano che si aumenta il fattore di compressione, n la codifica lascia passare solo frequenze
spaziali basse dando luogo ad ampie chiazze monocolore
D. Sileo A.A 2012/2013
81 Elementi di Base dell’ICT : Rappres. delle immagini >> La compressione
+La compressione
n (cont.) Aumentando il fattore di compressione risulta anche evidente la sovrastruttura a blocchi applicata all’immagine
D. Sileo A.A 2012/2013
82 Elementi di Base dell’ICT : Rappres. delle immagini >> La compressione
+Codifica dei suoni
n Fisicamente un suono è rappresentato come un’onda che descrive la variazione della pressione dell’aria nel tempo (onda sonora)
n Sull’asse delle ascisse viene rappresentato il tempo
n e sull’asse delle ordinate viene rappresentata la variazione di pressione corrispondente
al suono stesso
D. Sileo A.A 2012/2013
83 Elementi di Base dell’ICT : Rappresentazione dei suoni >> Codifica
+Codifica dei suoni
n Un’idea chiave: il suono è continuo (la pressione varia senza salti)
n È possibile ottenere una registrazione analogica continua dell’onda
n Una registrazione analogica memorizza ogni variazione dell’onda originale (almeno in linea di principio)
n La rappresentazione digitale di un suono funziona in un modo diverso
D. Sileo A.A 2012/2013
84 Elementi di Base dell’ICT : Rappresentazione dei suoni >> Codifica
+La rappresentazione digitale
n Si effettuano dei campionamenti sull’onda (cioè si misura il valore dell’onda a intervalli di tempo costanti)
n e si codificano in forma digitale le informazione estratte da tali campionamenti
D. Sileo A.A 2012/2013
85 Elementi di Base dell’ICT : Rappresentazione dei suoni >> Codifica
+La rappresentazione digitale
n (cont.) Quanto più frequentemente il valore di intensità dell’onda viene campionato, tanto più precisa sarà la sua rappresentazione
n Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz n (Hz, numero di campionamento ogni
secondo)
D. Sileo A.A 2012/2013
86 Elementi di Base dell’ICT : Rappres. dei suoni >> La rappres. digitale
+La rappresentazione digitale
n (cont.) La sequenza dei valori numerici ottenuti dai campioni può essere facilmente codificata con sequenze di bit
D. Sileo A.A 2012/2013
87 Elementi di Base dell’ICT : Rappres. dei suoni >> La rappres. digitale
+Codifiche standard
n Codifiche standard n MP3, WAV (MS-Windows), AIFF (Audio
Interchange File Format, Apple) n MPEG-3: n variante MPEG per suoni n Grande diffusione, molto efficiente (fattore di
compressione circa 10:1) n MIDI: n codifica le note e gli strumenti che devono
eseguirle n Efficiente, ma solo musica, non voce
D. Sileo A.A 2012/2013
88 Elementi di Base dell’ICT : Rappres. dei suoni >> Codifiche standard
+Sommario
n Elementi di Base dell’ICT n Concetti principali n Cenni Hardware e Software n Algoritmo n Rappresentazione delle informazioni
n Rappresentazione dei caratteri n Rappresentazione dei numeri n Rappresentazione di immagini e video
n Parte del materiale di questa lezione è stato sviluppato a partire dalle lezioni della Dott.ssa Anna Vicari e della Dott.ssa Irina Coviello
D. Sileo A.A 2012/2013
89 Elementi di Base dell’ICT >> Sommario
+Termini della Licenza
n This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
n Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
D. Sileo A.A 2012/2013
90 Elementi di Base dell’ICT >> Termini della Licenza