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)