CONCETTI
GENERALI (1)
INFORMATICA = informazione automatica
scienza che
include problematiche, teorie, metodi, tecniche e tecnologie del trattamento
(rappresentazione, elaborazione, conservazione, trasmissione, etc.) automatico
delle informazioni.
informazione = "materia
prima" della convivenza civile, avente forma (numerica, alfanumerica, grafica) e contenuto (quali/quantitativo)
===>
esigenza di utilizzare metodologie e dispositivi atti a risolvere i molteplici
aspetti che coinvolgono il dominio dell’informazione.
DATO
= rappresentazione simbolica ed astratta di entità (concrete o ideali).
Il dato grezzo, come
ad esempio: 27, 0881-675421, FG*510234, LEONE non ha alcun significato.
Informazione = dato + significato
27: può essere il giorno di riscossione dello stipendio, oppure
l’età di una persona, o la lunghezza in cm. di un oggetto, ...
0881-675421: può essere un numero di telefono, o il fatturato
dell’articolo con codice 0881, ...
FG*510234: può essere una targa automobilistica, l’identificativo di
una patente, ...
LEONE: è il re della foresta, o l’ex Presidente della Repubblica,
...
CONCETTI GENERALI (2)
La
targa dell’auto di Gianni è FG*510234
descrittore
dato
Attenzione:
· IL CALCOLATORE
ELABORA DATI;
·
L’UOMO E` IN GRADO DI USARE INFORMAZIONI.
Elaborazione dell’informazione = trasformazione della stessa nella forma e/o nel contenuto
===> uso di un
sistema (cioé i dispositivi hardware) e delle regole che ne definiscano il
funzionamento (software) con finalità che qualificano il sistema stesso.
Informazione = entità che riduce
lo stato di incertezza (entropia)
Aspetti fondamentali:
· utilità
· emittente/ricevente
· linguaggio
· canale (mezzo che offre il supporto fisico alla trasmissione)
==> capacità (ampiezza di banda), rumore (qualità trasmissiva)
· supporto (di memorizzazione)
Sistemi e modelli (1)
Teoria
generale dei sistemi = disciplina
scientifica che fa risaltare i legami tra le parti in relazione
all’organizzazione ed al funzionamento del tutto, piuttosto che alla natura del
meccanismo in esame.
sistema = “modello generale”
e dunque astrazione della realtà.
Definizione: insieme (anche complesso) di elementi (detti anche sottosistemi) interagenti tra di loro, e finalizzato al
raggiungimento di determinati obiettivi
===> per definire un sistema
occorre descriverne le parti, le interazioni tra esse, le finalità.
Sistemi e modelli (2)
sistema ¬ oggetto
dell’indagine
ambiente ¬ resto
livello di dettaglio ¬ livello di
“osservazione” del sistema in esame
Classificazione dei Sistemi
· chiuso/aperto
· statico/dinamico
· discreto/continuo
· invariante
(il suo comportamento rispetto alle condizioni iniziali non muta nel tempo)
Computer = Sistema di Elaborazione
insieme organizzato di
dispositivi che interagiscono tra di loro, finalizzati all’elaborazione
automatica delle informazioni (sistema dinamico, aperto ed invariante).
Sistemi e modelli (3)
I Modelli
MODELLO = descrizione semplificata di un sistema, che ne evidenzia
gli aspetti fondamentali riconducendoli a livelli trattabili in maniera manuale
o automatica.
· la struttura e la complessità di un modello dipendono dallo scopo per cui lo stesso viene
costruito;
· il modello deve contenere tutti gli elementi significativi per chi lo deve utilizzare;
· il modello è sempre una semplificazione
ed un’astrazione della
realtà: permette, infatti, di rappresentarla in modo più aderente alle proprie
conoscenze, eliminando i particolari inutili o fuorvianti;
·
il modello è uno strumento di comunicazione di
informazioni per altri o per sé stessi.
===> “Data una situazione del mondo reale ed un problema da risolvere in essa,
definiamo modello della situazione
relativo al problema in esame, una rappresentazione semplificata della situazione
che contenga tutti e soli gli elementi che si ritengono soggettivamente
determinanti per la risoluzione del problema.”
Modello
rappresentazione
semplificata di un sistema
evidenzia gli aspetti fondamentali
tralascia i dettagli
superflui
aiuta lo studio delle leggi che regolano il sistema
Sistemi e modelli (4)
Classificazione dei Modelli
· iconici
= basso livello di astrazione
· formali
= alto livello di astrazione
Livello di astrazione basso
alto ß modello iconico modello formale Ý
m1×m2 F = ¾¾¾ r2 (legge
di gravitazione) |
In quanto esemplificazione di un
sistema reale, un modello non è mai neutro! Inoltre, l'osservazione di un sistema può
influenzarne il "comportamento" (“principio di indeterminazione”
di Heisenberg).
I dati e la loro rappresentazione (1)
DATI = astrazioni con cui
rappresentiamo gli oggetti della realtà.
Possono
essere:
·
numerici (fixed-point o floating-point) o non numerici (alfanumerici,
grafici, logici, ...);
·
semplici o strutturati (composti).
Dati
semplici: 39, Maria, martedì,
1995.
Dati strutturati:
data = (giorno, mese, anno);
targa = (provincia, numero);
domicilio = (via, numero, cap, comune, provincia);
scheda
anagrafica =
(nome,
cognome,
data di nascita,
residenza,
cittadinanza,
domicilio,
dato strutturato su più
livelli
stato civile,
professione)
Aspetti caratteristici
· nome (data di
nascita)
· valore (4/3/1943)
· formato (giorno/mese/anno)
I dati e la loro rappresentazione (2)
Possiamo
distinguere tra:
· dati primitivi
(ad es. la data di nascita)
· dati calcolati (cioé ottenuti in funzione di altri, come ad es. l’età),
utilizzati per ragioni di efficienza e da evitare poiché fonte di inutili
ridondanze e potenziali incongruenze.
I dati e
la loro rappresentazione (3)
Rispetto ad un calcolatore i dati sono distinti in:
· dati in
entrata (input)
·
dati intermedi (locali)
·
dati in uscita (output)
L’uomo, attribuendo un significato ai dati in uscita (risultati), riceve delle informazioni.
I DATI E LA LORO RAPPRESENTAZIONE (4)
Codifica Binaria dei Dati
Elaboratori ® dati in forma binaria ® simboli 0 e 1 = bit
codicE
corrispondenza fra le
informazioni utilizzate dall’uomo e le informazioni binarie trattate
dall’elaboratore
A Û 01000001
B Û 01000010
1 Û 00110001
Il
Codice ASCII
Codice ASCII base
7 bit per simbolo (128 caratteri)
Codice ASCII esteso
8 bit per simbolo (256 caratteri)
8 bit = byte = carattere
(lettera, cifra, simbolo speciale)
La rappresentazione
binaria è utilizzata
per codificare:
· numeri interi;
· numeri
decimali;
· caratteri e stringhe di caratteri;
· istruzioni nel linguaggio macchina;
· insiemi di
simboli;
·
simboli grafici.
Sistemi di numerazione (1)
Sistema decimale
(127)10 = 1x102+2x101+7x100
= 100+20+7
Sistema binario
(10100101)2 = 1x27+1x25+1x22+1x20
= 128+32+4+1 =
(165)10
binario |
0 |
1 |
10 |
11 |
100 |
101 |
110 |
111 |
1000 |
|||||
decimale |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
||||
Binario ® Decimale
quoziente
resto
106 0
53
1
26
0
13
1
6
0
3
1
1
1
1101010=1x26+1x25+1x23+1x21=64+32+8+2=106
Sistemi di numerazione (2)
Operazioni
aritmetiche
1 0 1 1 0 1 1 + 1 0 1 0 1
0 0 0 -
1 0 0 1 1 0 1 = 1 0 0 1 1 0 1 =
______________ _____________
1 0 1 0 1 0 0
0 1 0 1 1 0 1 1
N.ro bit N.ro byte N.ro combinazioni
8 1
256
16 2 65.536
32 4 4.294.967.296
64 8 264
Sistemi di numerazione in base 8 e 16
(55153)8=5x84+5x83+1x82+5x81+3x80=(23147)10
(5A6B)16=5x163+10x162+6x161+11x160=(23147)10
binario |
[1 0 1] [1 0 1] [0 0 1] [1 0 1] [0 1 1] |
ottale |
5 5 5 1 5 3 |
binario |
[1 0 1] [1 0 1 0] [0 1 1 0] [1 0 1 1] |
esadecimale |
5 A
6 B |
RAPPRESENTAZIONE DEI DATI (1)
I Dati Numerici
·
FIXED-POINT =
numero intero+[posizione della virgola]
107, 21 ® 10721 [2]
0,0121 ®
121 [4]
codifica: binario puro / BCD (Binary Coded Decimal).
·
FLOATING-POINT =
mantissa + esponente
127,131 ® 0,127131
x 103 ® 127131
3
0,00147 ® 0,147 x 10-2
® 147 -2 forma
normalizzata mantissa esponente
NUMERI
DECIMALI
·
logicamente semplici
·
intrinsecamente STRUTTURATI
OVERFLOW
impossibilità di
rappresentare tutte le cifre di un numero
RAPPRESENTAZIONE DEI DATI (2)
Dati Alfanumerici
A ® (65)10 ® (01000001)2 ® (41)16
a ® (97)10 ® (01100001)2 ® (61)16
1 ® (49)10 ® (00110001)2 ® (31)16
Æ ® (48)10 ® (00110000)2 ® (30)16
I codici delle lettere maiuscole
e minuscole sono diversi ed ovviamente progressivi, per rispettare l’ordinamento
alfabetico. La codifica di una cifra come numero è diversa da quella del carattere.
Il numero (213)10 in binario è (11010101)2
e occupa 8 bit = 1 byte. Il numero 213 come stringa di caratteri
è:
(00110010)2=(50)10 (00110001)2=(49)10 (00110011)2 = (51)10
2 1 3
ed occupa 3 byte = 3 caratteri.
RAPPRESENTAZIONE
DEI DATI (3)
Caratteri da rappresentare:
· lettere maiuscole e minuscole;
· cifre (0,1,2,3,4,5,6,7,8,9);
· punteggiatura, parentesi, caratteri particolari...;
· caratteri
speciali (spazio,
carriage-return, line-feed, tab, bell, null, ®, ¬, , ¯,
backspace, home, delete, escape, etc.);
· eventuali simboli grafici.
È allo studio un nuovo codice
internazionale
a 16 bit = 65.536 simboli diversi
Codice ASCII esteso di 8 bit ® 256 combinazioni:
· 7 bit ® 128 caratteri;
· le altre 128 possibilità vengono usate per simboli grafici.
Altri codici:
· EBCDIC che fa uso di 8 bit, introdotto da IBM ed utilizzato sui computer
medio-grandi;
· BCD (binary coded decimal = decimale codificato in binario) per
i numeri a virgola fissa (4 bit per cifra).
Ad esempio, il numero -213
mediante il codice BCD viene così rappresentato:
1o byte 2o byte
1011 0010 0001 0011
- 2 1 3
RAPPRESENTAZIONE DEI DATI (4)
Stringhe di Caratteri
Una stringa è una sequenza di caratteri. Le stringhe
possono essere a:
· lunghezza fissa,
usando il carattere “blank” (spazio) come riempitivo;
· a lunghezza variabile usando:
- un carattere speciale come terminatore (ad es. null nel linguaggio C), oppure
- indicando esplicitamente il numero di caratteri realmente
usati (come in Pascal).
Istruzioni
Le istruzioni del calcolatore
sono formate da codici binari delle operazioni e degli operandi, che di solito
sono indirizzi di locazione di memoria contenenti i valori veri e propri.
CODICE OPERATIVO OPERANDO
1 OPERANDO
2
Esempio:
0001 01010101
100001001
MOVE indirizzo
indirizzo
operando1 operando2
0010 10110010
01010011
ADD indirizzo indirizzo
operando1 operando2
Insiemi di Simboli (SET)
Gli insiemi
possono essere codificati tramite numeri naturali.
Esempio:
Gennaio ® 1, Febbraio ® 2, .
. .
Lunedì
®
1, Martedì ®
2, .
. .
Bianco ® 1, Verde ® 2, Rosso ® 3, .
. .
La Trasmissione delle Informazioni (1)
SEGNALI
EMITTENTE mezzo
trasmissivo RICEVENTE
(canale)
· codice = regole secondo le quali il messaggio viene trasformato
dall’emittente prima di essere inviato al ricevente;
· tecnica = modalità e strumenti con cui viene effettuata la trasmissione
del messaggio;
· protocollo = insieme delle regole che permettono uno scambio ordinato
e corretto delle informazioni.
segnali
= simboli che costituiscono il messaggio, trasformati per essere inviati sul
canale (anche di controllo).
Possono essere digitali
(valori discreti, nel computer) o analogici (grandezze continue, nelle linee telefoniche).
La Trasmissione delle Informazioni (2)
La Trasmissione delle Informazioni (3)
Errori di trasmissione
|
disturbi: occasionali alterazioni dei messaggi ® errorI di trasmissione.
tassi di errore: su
linee telefoniche ~ uno ogni cento milioni di bit trasmessi.
|
CONTROLLO DEGLI ERRORI DI
TRASMISSIONE
·
controllo di parità verticale VRC
·
controllo di ridondanza longitudinale LRC
blocco
|
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
|
|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
|
|
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
caratteri ® |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
¬ carattere
di |
|
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
controllo |
|
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
|
|
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
|
bit di controllo VRC
La Trasmissione delle Informazioni (4)
·
controllo a ridondanza incrociata (VRC+LRC)
·
controllo polinomiale:
bit
trasmessi = coefficienti di un polinomio / polinomio generatore ==>
polinomio resto, inviato assieme al messaggio. Costo elevato
ma alta
affidabilità (dipende dal numero di bit del polinomio generatore).
ERRORI di TRASMISSIONE Þ implicano
·
ritrasmissione:
-
controllo semplice
-
costo trasmissione maggiore
· correzione (ricostruzione
del messaggio a partire dai bit ricevuti e dagli errori riscontrati):
- più complesso e costoso
- applicabile anche per trasmissioni monodirezionali
- utile se l’indice di affidabilità è basso, ricorrere sempre
alla ritrasmissione del messaggio può voler dire di fatto rallentare
notevolmente la velocità del canale.
costo affidabilità
Pol VRC + LRC
VRC + LRC Pol
VRC VRC
LRC
LRC
bit trasmessi bit trasmessi
Elementi di Logica degli Enunciati (1)
Proposizione
(o
enunciato):
frase
che si possa dire vera o falsa
Esempi:
· “Roma è la capitale dell’Italia”
· 5 > 3
NON lo è: “Viva l’Italia!”
Predicato:
qualunque
espressione che può assumere il valore vero o falso
==>
enunciato variabile
Esempi:
· x>3
· a=b
·
temperatura³100°
Elementi di Logica degli Enunciati (2)
GLI OPERATORI LOGICI
Not
A |
not A |
vero |
falso |
falso |
vero |
And
A |
B |
A and B |
vero |
vero |
vero |
vero |
falso |
falso |
falso |
vero |
falso |
falso |
falso |
falso |
Proprietà:
· associativa:
(A and B) and C = A and (B and C)
· commutativa:
A and B = B and A
· idempotenza:
A and A = A
Elementi di Logica degli Enunciati (3)
Or
A |
B |
A or B |
vero |
vero |
vero |
vero |
falso |
vero |
falso |
vero |
vero |
falso |
falso |
falso |
Proprietà:
· associativa:
(A or B) or C = A or (B or C)
· commutativa:
A or B = B or A
· idempotenza: A or A = A
Or
Esclusivo
A xor B = (not A and B) or (A and not B)
A |
B |
A xor B |
(not A and B) or (A and not B) |
vero |
vero |
falso |
falso |
vero |
falso |
vero |
vero |
falso |
vero |
vero |
vero |
falso |
falso |
falso |
falso |
Elementi di Logica degli Enunciati (4)
Predicato composto
A |
B |
C |
(A or B) and C |
vero |
vero |
vero |
vero |
vero |
vero |
falso |
falso |
vero |
falso |
vero |
vero |
vero |
falso |
falso |
falso |
falso |
vero |
vero |
vero |
falso |
vero |
falso |
falso |
falso |
falso |
vero |
falso |
falso |
falso |
falso |
falso |
n predicati elementari ==> 2n righe
Proprietà distributiva
(A and B) or C = (A or C) and (B
or C)
(A or B) and C = (A and C) or (B
and C)
Elementi di Logica degli Enunciati (5)
Leggi di De Morgan
not (not A) = A
not (A and B) = (not A) or (not
B)
not (A or B) = (not A) and (not
B)
Equivalenza degli operatori
relazionali semplici: <, >, = (mutuamente
esclusivi) e composti: £,
³, ¹
·
(x£y) º (x<y) or (x=y) º not (x>y)
·
(x³y) º (x>y) or (x=y) º not (x<y)
·
(x¹y) º (x<y) or (x>y) º not (x=y)
Precedenza
tra gli operatori:
1.
aritmetici (numeri
=> numeri)
2.
relazionali (numeri
=> vero/falso)
logici
(vero/falso => vero/falso)