Laboratorio di Programmazione - Corso di Laurea in Ingegneria Civile e Ambientale - Università degli Studi di Parma

Pagina creata da Diego Caputo
 
CONTINUA A LEGGERE
Laboratorio di Programmazione - Corso di Laurea in Ingegneria Civile e Ambientale - Università degli Studi di Parma
Dipartimento di Ingegneria dell’Informazione
              Università degli Studi di Parma

Laboratorio di Programmazione
Corso di Laurea in Ingegneria Civile e Ambientale

        Anno accademico 2018/2019

         Stefano Cagnoni
Laboratorio di Programmazione - Corso di Laurea in Ingegneria Civile e Ambientale - Università degli Studi di Parma
Riferimenti del corso
Docenti del corso:

       Stefano Cagnoni
       Tel.: 0521/905731
       Palazzina 1 – Sede Scientifica Ingegneria
       Parco Area delle Scienze 181/A
       E-mail: stefano.cagnoni@unipr.it

       Laura Sani
       Palazzina 1 – Sede Scientifica Ingegneria
       Parco Area delle Scienze 181/A
       Email: laura.sani@unipr.it
Riferimenti del corso

Sito del corso:
   http://www.ce.unipr.it/people/cagnoni/didattica/liciv
   Anche su Elly
   https://elly.dia.unipr.it/2018/course/view.php?id=344

Ricevimento:
       - in aula/laboratorio dopo la lezione
       - su appuntamento
       - occasionalmente in laboratorio fuori orario di lezione
Obiettivi

   Introdurre gli elaboratori elettronici come strumenti per
    risolvere problemi e gestire informazioni

   Introdurre i concetti di dato e di elaborazione dati

   Fornire le metodologie per esprimere la soluzione ad un
    problema (definizione di un algoritmo) e codificarla in un
    linguaggio di programmazione (MATLAB)
Contenuti
   Cenni su:
       Rappresentazione dell’informazione
       Hardware: architettura di un calcolatore
       Software: sistemi operativi e applicazioni
       Algoritmi e linguaggi di programmazione

   Il linguaggio/ambiente di programmazione
    MATLAB
Testi di riferimento/consultazione
   L. Snyder, A. Amoroso “Fluency: Conoscere e
    usare l'informatica”, IV ed., Pearson Education

   D. Sciuto, G. Buonanno, L. Mari “Introduzione ai
    sistemi informatici», IV ed, McGraw-Hill

   Qualsiasi manuale (recente) di MATLAB
    In biblioteca:
       W.J. Palm “MATLAB 7 per l’ingegneria e le scienze”, McGraw-Hill
   Più recente
       H. Moore “MATLAB per l’Ingegneria”, Pearson/Prentice-Hall
Esame: modalità
Durante il corso: in ogni lezione, preceduto da una
introduzione teorica, verrà assegnato un set di
esercizi (tempo previsto circa 1.5 ore):
la programmazione si impara programmando!!!!
Esame:
 Breve prova scritta (circa 30 minuti) di ammissione
  alla prova pratica
 Prova pratica in laboratorio: realizzazione ed
  esecuzione su calcolatore (e salvataggio su disco)
  di un esercizio analogo a quelli realizzati durante
  l’anno
Esame: modalità
   L’iscrizione ad ogni appello chiude 3 giorni prima
    dello svolgimento della prova scritta.
   Se possibile, prova scritta la mattina, prova pratica
    il pomeriggio.
   Intorno al 15/12 si svolgerà una prova scritta
    preliminare sul programma svolto fino a quel punto
    (quasi tutto). Chi ottiene un voto sufficiente sarà
    direttamente ammesso alla prova pratica.
   Se possibile (disponibilità laboratori), prova pratica
    preliminare a fine dicembre o inizio gennaio.
   Appelli I sessione: fine gennaio e metà febbraio.
Lezioni

   Le lezioni e le esercitazioni si svolgono nell’aula
    informatica E del nuovo plesso didattico (Aule delle
    Scienze) dalle 8.45 alle 11 circa. L’aula è disponibile
    fino alle 12.30: la presenza dei docenti è garantita
    fino alle 11.30.

   La frequenza non è obbligatoria anche se vivamente
    consigliata (se si sono fatti gli esercizi, il superamento
    dell’esame è … inevitabile!)
Prepararsi a seguire il corso
   Per partecipare alle esercitazioni è necessario ottenere un
    account nei laboratori didattici se non lo avete già dallo
    scorso anno
      E’ possibile farlo direttamente in uno dei laboratorio didattici di
       Informatica (sede didattica di Ingegneria), accedendo ad un
       qualunque computer con        Login: laboratori
                                     Password: laboratori
     E’ anche possibile farlo da casa collegandosi al sito

    http://www.cedi.unipr.it/gestioneaccounts (ignorare l’eventuale
                      messaggio di errore per certificato non valido)
   In lab. E, accedere a ‘Registrazione Intranet’ inserendo
    ‘cancella’ al login e passando alla schermata successiva.
   Installare MATLAB sul proprio computer per svolgere gli
    esercizi settimanali. Le istruzioni per ottenere la licenza
    didattica sono sul sito del corso.
Rappresentazione digitale
delle informazioni
Informazione
   Informazione: elemento che consente di
    acquisire conoscenza, più o meno esatta, di fatti,
    situazioni, modi di essere.

   Perché sia utile deve essere:
     Mirata ad uno scopo

     Non sovrabbondante

     Rispettosa dei principi di etica e riservatezza
Informatica e dati
 Informatica             = Informazione + Automatica
    (gestione automatica dell’informazione)
   I sistemi informatici gestiscono l’informazione
    elaborando entità elementari di cui è costituita (dati)
   Dato: ciò che è immediatamente presente alla
    conoscenza, prima di ogni elaborazione;
    (in informatica) elemento di informazione costituito
    da simboli che devono essere elaborati.
    (dal Vocabolario della Lingua Italiana, Istituto dell’Enciclopedia Italiana)
Elaboratore elettronico
(computer o calcolatore)
   Dispositivo in grado di
       rappresentare
       memorizzare
       elaborare
    i dati eseguendo sequenze di operazioni
    elementari (istruzioni)

   le azioni eseguite sui dati generano altri dati (i
    risultati, cioè i dati elaborati)
Programmazione

   La risoluzione di un problema è quel processo
    che
       dato un problema e un insieme di dati che lo
        descrivono
       individuato un opportuno metodo risolutivo, detto
        algoritmo
    trasforma i dati iniziali nei corrispondenti
    risultati finali che descrivono la soluzione.
Programmazione
   L’attività con cui si predispone l’elaboratore a
    eseguire un particolare insieme di azioni su un
    particolare insieme di dati allo scopo di risolvere
    un problema
   Le azioni da compiere sui dati sono “richieste” al
    computer attraverso “frasi” di un linguaggio di
    programmazione (istruzioni)

   Vediamo perché si parla di linguaggio…
Codifica dell’informazione
   Gli esseri viventi ricevono informazione direttamente
    dal mondo circostante e dai propri simili attraverso i
    sensi (percezione).
   L’informazione percepita deve poter anche essere
    memorizzata e trasmessa agli altri.
   La memorizzazione e la trasmissione dell’informazione
    richiedono che questa sia codificata.
   Per descrivere un fenomeno che non è direttamente
    percepibile o un oggetto che non è a portata di mano o
    un concetto astratto ho bisogno di simboli (es. parole,
    testi) che mi aiutino a rappresentarlo.
Comunicazione
Problema (non risolubile)
   Un uomo atterra su un pianeta sconosciuto e
    incontra una diversa forma di vita.
    Come può far capire che non ha cattive intenzioni se
    non esiste alcun codice riconosciuto da entrambi ?
   Per comunicare è necessario condividere gli stessi
    codici!
   Due persone di provenienza diversa hanno lingue e
    gestualità diverse. Però trasmettono le proprie
    emozioni attraverso espressioni spontanee simili.
   I codici possono collocarsi a livelli diversi.
Codifica dell’informazione
   Un insieme di simboli e di regole che
    determinano come interpretarli costituiscono un
    codice.

    Es.   la scrittura

    SIMBOLI = a b c d e f g h … x y z , . +’ ( ) …
                             ARCO
    (potremmo anche leggerlo ocra, cane ecc.)
   Esistono regole che creano una corrispondenza
    fra ogni simbolo e un suono, che determinano
    come interpretare gruppi di più simboli ecc.
Codifica dell’informazione
   Alcuni codici usati quotidianamente:
      gesti
      parole e, quindi, lingue

      scrittura

      rappresentazione dei numeri

   Utilizzare gli stessi codici permette la
    COMUNICAZIONE (dell’informazione)

   COMUNICARE permette di:
      descrivere/condividere oggetti, idee, percezioni, emozioni
      trasmettere conoscenza, esperienza, comandi
Rappresentazione dell’informazione
   L’informazione può essere rappresentata in due
    forme:
         Analogica
         Digitale (o Numerica; in inglese digit = cifra/numero )
   In forma analogica una grandezza è rappresentata
    mediante un’altra grandezza in modo continuo (ad
    esempio mediante un livello variabile di tensione).
   In forma digitale una grandezza è rappresentata in
    modo discreto, mediante sequenze finite di simboli
    tratti da un insieme finito associabile con i numeri
    naturali.
Rappresentazione dell’informazione
Rappresentazione analogica dell’informazione
Esempio
 suono -> microfono -> tensione       codifica
 tensione -> registratore -> polarizzazione magnetica
                                      memorizzazione
 p.magn. -> altoparlante -> suono decodifica
Rappresentazione analogica qui significa che:
   La tensione prodotta dal microfono è tanto più alta
    quanto più elevato è il livello del suono.
   La vibrazione dell’altoparlante è tanto più ampia
    quanto più elevata è la tensione
Rappresentazione dell’informazione
   La rappresentazione digitale (numerica) usata
    all’interno di un calcolatore:
      è una approssimazione discreta della realtà
          (che è continua): ogni fenomeno/quantità è
          approssimato da una sequenza finita di dati
          (numeri), ciascuno dei quali può assumere solo
          un numero finito di valori.
      l’errore che si commette in questa
          approssimazione dipende dalla quantità di dati
          utilizzati e dalla precisione (numero di
          cifre/simboli a disposizione) della
          rappresentazione digitale.
Rappresentazione dell’informazione

   La rappresentazione digitale della realtà è una
    rappresentazione basata su numeri (digit = cifra,
    quindi digitale = numerico) che necessita di un
    CODICE per rappresentarli.

   I circuiti di un calcolatore lavorano a due diversi
    livelli di tensione (di solito 0 e 5 Volt, ma anche 0 e
    3.3 Volt)
Codifica binaria

   I 2 livelli rappresentano, in generale, due SIMBOLI
    diversi, a cui associare due diversi significati

Es.     Vero/Falso Positivo/Negativo
        Presenza/Assenza
        …ma anche le quantità (cifre)   0/1
Codifica binaria
   Rappresentazione di numeri
   Notazione di tipo posizionale (esattamente come la
    notazione decimale, di cui segue le stesse regole).
   Ogni numero è rappresentato da una sequenza
    (stringa) di simboli
   Il valore del numero dipende non solo dalla quantità
    rappresentata da ciascun simbolo, ma anche dalla
    posizione in cui si trovano i simboli.
                    3456 è diverso da 6543
                    1001 è diverso da 1100

   Utilizza solo 2 simboli (0 e 1)
Notazione posizionale
   Scelta una base di rappresentazione B
      ogni numero è rappresentato da una sequenza di
       simboli (cifre) appartenente a un alfabeto di B simboli
       distinti
      ogni cifra rappresenta un valore compreso fra 0 e B-1

      a ogni posizione corrisponde un peso, uguale ad una
       potenza della base crescente da destra verso sinistra.
      Valore del numero = somma dei prodotti di ciascuna
       cifra per il peso associato alla sua posizione
Esempio di rappresentazione su N cifre:
dN-1 dN-2 …d1 d0 = dN-1* BN-1 + dN-2 * BN-2 +…+ d1* B1 + d0 * B0

    Cifra più significativa      Cifra meno significativa
Esempi
(109)10 = 1*102 + 0*101 + 9*100 = 100 + 0 + 9

(1101101)2   = 1* 26+1* 25+0* 24+1* 23+1* 22+0* 21+ 1* 20
             = 64 + 32 + 0 + 8 + 4 + 0 + 1 = (109)10

(155)8       = 1*82 + 5*81 + 5*80 = 64 + 40 + 5 = (109)10

(6D)16       = 6*161 + 13 *160 = 96 + 13 = (109)10
Rappresentazioni medianti basi diverse
   Decimale (B=10)          (usa le cifre da 0 a 9)
   Binaria (B=2)            (usa le cifre 0 e 1)
        Un calcolatore rappresenta l’informazione
         attraverso la codifica binaria.
        Ogni elemento di una sequenza binaria viene
         detto bit (Binary digIT).
        Una sequenza di 8 bit si dice byte.
   Ottale (B=8)             (usa le cifre da 0 a 7)
   Esadecimale (B=16)       (cifre da 0-9 + lettere A-F)
Multipli del byte

1 Byte = 8 bit

1 KiloByte (kB) = 1024 byte   (210 = 1024)

1 MegaByte (MB) = 1024 KB = 220 Byte

1 GigaByte (GB) = 1024 MB = 230 Byte

1 TeraByte (TB) = 1024 GB = 240 Byte
Rappresentazioni mediante basi diverse
   Con sequenze di N simboli in base B posso
    rappresentare BN numeri diversi
        3 cifre decimali (B=10) 1000 (103) valori diversi
        3 cifre binarie (B=2)        8 (23) valori diversi

   Quanto più piccola è la base tanto più lunga sarà la
    rappresentazione di una stessa quantità.
    Es. (109)10 = (1101101)2 = (6D)16
Rappresentazione digitale binaria
   Per rappresentare un dato si ha a disposizione un
    numero finito N di bit.

   Con N bit si possono formare 2N combinazioni
    diverse (con N cifre in base 10 se ne formano 10N )

   Se voglio rappresentare valori in un certo intervallo
    [min,max] posso rappresentare in modo esatto 2N
    valori compresi fra min e max (inclusi) ed
    equispaziati e approssimare tutti gli altri possibili
    valori nell’intervallo con il valore rappresentabile più
    vicino
Rappresentazione digitale binaria
Rappresentare i numeri nell’intervallo [min,max]=[0,7]                con
N=3 bit

 Con 3 bit posso ottenere 23=8 combinazioni diverse
000 001 010 011 100 101 110 111

 Le faccio convenzionalmente corrispondere a 8 valori
  equispaziati nell’intervallo [0,7]   23 -1 intervalli
000=0 001=1 010=2 011=3
100=4 101=5 110=6 111=7 000 001 010 011 100 101 110 111
                                      0   1   2     3    4    5   6   7
                                                  23 valori
   Tutti i valori intermedi sono approssimati con il valore
    rappresentabile più vicino
   Es. 3.456 viene approssimato come 011=3
Rappresentazione digitale binaria
Non necessariamente i valori rappresentati saranno interi
Es. [min,max] = [0, 4.2] con N=3 bit

 Con 3 bit posso ottenere 23=8 combinazioni diverse
000 001 010 011 100 101 110 111

   Le faccio convenzionalmente corrispondere a 8 valori
    equispaziati nell’intervallo [0,4.2]
                                              23 -1 intervalli
000=0   001=0.6 010=1.2 011=1.8
100=2.4 101=3.0 110=3.6 111=4.2      000 001 010 011 100 101 110 111
                                      0 0.6 1.2 1.8 2.4 3.0 3.6 4.2
                                                 23 valori

   In questo caso 3.456 viene approssimato come 110=3.6
Rappresentazione digitale binaria
Osservazioni
 L’insieme di sequenze di bit utilizzato per la rappresentazione
  corrisponde alla codifica binaria della sequenza dei primi 2N
  (0..2N-1) numeri interi positivi (naturali).
 Fissato il range di valori da rappresentare e il numero di bit
  con cui rappresentarli, il massimo errore di approssimazione
  che si può commettere è pari alla metà dell’ampiezza di un
  intervallo (a=(Nmax-Nmin)/(2N-1)), cioè la differenza fra due
  numeri consecutivi rappresentabili in modo esatto.
 Più grande è N, minore è l’ampiezza degli intervalli.
 Più grande è N, minore è l’errore (errore di quantizzazione)
  che si commette approssimando un numero qualunque
  all’interno dell’intervallo con uno dei valori rappresentabili
Rappresentazione
 digitale dei dati
Cosa possiamo rappresentare ?

   Numeri (interi e reali)

   Simboli (codifica di concetti o simboli: es. vero e falso,
    caratteri alfanumerici, ecc.)

   Dati multimediali
    - testi   sequenze di simboli (lettere dell’alfabeto)
    - suoni sequenze di campioni (misure nel tempo)
    - immagini sequenze di campioni (misure nello spazio)
Tipi di dati
   Tutti questi tipi di dati possono essere
    rappresentati in forma binaria all’interno di un
    calcolatore

   La potenza e la versatilità del calcolatore
    derivano dalla possibilità di utilizzare una
    codifica comune per diversi tipi di dati.

   Eseguendo operazioni dello stesso tipo a livello
    fisico si possono ottenere risultati interpretabili in
    modo molto diverso a livello logico
Rappresentazione digitale
   E’ una rappresentazione di tipo DISCRETO (il numero di
    elementi con cui si descrive un fenomeno anche continuo
    è finito; inoltre ogni elemento può assumere un numero
    finito di valori)

   Per rappresentare in modo digitale grandezze continue
    variabili nel tempo (es. intensità sonora, temperatura,
    velocità, posizione, ecc.) o nello spazio (es.
    luminosità/colore delle immagini, altitudine in una carta
    geografica, ecc.) devo CAMPIONARLE (rappresentarle
    come sequenze discrete di valori, equidistanti nel tempo o
    nello spazio) e QUANTIZZARLE (approssimare ogni
    valore col valore più simile che il computer può
    rappresentare in modo esatto)
Rappresentazione digitale
    Campionare una grandezza significa
    approssimarla attraverso una sequenza ordinata
    nel tempo (o nello spazio) di dati, detti campioni,
    che descrivono i valori di tale grandezza in un
    numero limitato di istanti di tempo (punti nello
    spazio) sufficientemente vicini.
    La distanza fra due campioni consecutivi è detta
    tempo (intervallo, se nello spazio) di
    campionamento; il suo inverso frequenza di
    campionamento (risoluzione spaziale, se nello
    spazio): indica quanti campioni ho a disposizione
    per la descrizione nell’unità di tempo (spazio)
Rappresentazione digitale
   La frequenza di campionamento si misura in
    campioni/secondo

   La risoluzione spaziale in campioni (pixel)/millimetro
    (pixel = PICTure ELement)

Quanto più sono elevate, tanto più precisa è
l’approssimazione (discreta) della realtà (che è
continua) che si può ottenere.
Sin(x): rappresentazione continua   fc = 10
               fc = 2                fc = 1
1

    1/5

1/10

1/100
In conclusione
    La rappresentazione digitale, essendo discreta, introduce
     due tipi di approssimazioni:
1.    Errore di campionamento: dovuto all’approssimazione
      del valore effettivo della grandezza che sto
      rappresentando con il valore dell’ultimo campione
      acquisito, fino all’acquisizione di un nuovo campione
      (cioè alla rappresentazione discreta delle ascisse).
In conclusione
2.   Errore di quantizzazione: dovuto all’approssimazione
     del valore effettivo della grandezza che sto
     rappresentando con il valore rappresentabile più vicino
     (rappresentazione discreta delle ordinate)
     Dipende dal numero di bit disponibili per la
     rappresentazione e quindi dalla precisione con cui
     posso rappresentare l’effettivo valore di un campione.
Rappresentazione di simboli
Con N bit posso rappresentare qualunque insieme
numerabile (cioè che può essere messo in corrispondenza
con gli interi) di simboli.

Con due bit è possibile generare 4 configurazioni distinte
(00, 01, 10, 11) che possono essere associate a 4
informazioni distinte
Esempi di insiemi diversi di informazioni rappresentabili:
       00     ->     a            1            verde
       01     ->     b            2            rosso
       10     ->     c            3            giallo
       11     ->     d            4            blu
Codifica dei caratteri alfanumerici

26 lettere minuscole e 26 lettere maiuscole, 10 cifre, 10
segni aritmetici, 20 segni di interpunzione (spazi inclusi)
e 3 caratteri non stampabili (a capo, tabulazione,
backspace) = 95 caratteri, che rappresentano la lingua
Inglese
Per 95 simboli sono necessari 7 bit: log2M =7
Una consolidata rappresentazione a 7-bit è il codice
ASCII (American Standard Code for Information
Interchange)
Codifica dei caratteri alfanumerici
A metà degli anni ‘60 divenne chiaro che il codice a 7 bit
non bastava per rappresentare anche i caratteri dei
linguaggi diversi dall’inglese
IBM estese il codice ASCII a 8 bit e 256 simboli
Chiamato "Extended ASCII", la prima metà (codici da 0
a 127) è costituita dall’originale codice ASCII (con uno 0
aggiunto all’inizio di ogni gruppo di bit)
Permette di esprimere la maggior parte dei caratteri
degli alfabeti occidentali e include molti altri simboli utili
Codifica dei caratteri alfanumerici
Colori nelle immagini digitali
Codifica RGB per le immagini a colori
Ogni colore è diviso in 3 componenti fondamentali:
Rosso (R), Verde (G), Blu (B).
L’intensità di ogni componente è di solito rappresentata
su 8 bit => ogni colore è rappresentato su 24 bit.
Posso quindi rappresentare (quantizzazione) 224 colori
diversi (circa 16 milioni).
Se almeno una delle componenti è diversa dalle altre
ho percezione del colore, altrimenti vedo una tonalità
grigia più o meno intensa (0,0,0 è il nero; 255,255,255 il
bianco)
Memoria
Memoria Centrale
   Spazio di lavoro del calcolatore: contiene i dati da
    elaborare, le istruzioni da eseguire e i risultati delle
    elaborazioni durante il funzionamento del calcolatore.
   Insieme di celle di dimensione pari a 1 byte, ciascuna delle
    quali è individuata da un indirizzo, che indica la posizione
    della cella all’interno della memoria
    Se ogni indirizzo è lungo 32 bit posso distinguere e
    accedere singolarmente a 232 celle diverse.
         232 celle = 4 Gcelle -> 4 Gbyte (circa 4 x 109 celle)
   Si usano normalmente indirizzi a 32 o 64 bit (16x1018 celle)
   Poiché è possibile accedere direttamente a ogni cella, una
    memoria di questo tipo si chiama Random Access Memory
    (RAM), cioè, alla lettera, memoria ad accesso casuale.
Memoria Centrale
   La memoria centrale contiene codici binari
    interpretabili come dati o istruzioni (che costituiscono
    i programmi) durante il funzionamento del calcolatore.
    I dati possono essere modificati durante l’esecuzione
    dei programmi (elaborazione dati) come risultato delle
    istruzioni eseguite.
   Sulla memoria centrale deve quindi essere possibile
    fare operazioni di lettura (ad es. delle istruzioni da
    eseguire o dei dati da elaborare) e scrittura (ad es.
    dei dati elaborati).
   E’ tipicamente volatile (utilizzabile solo se alimentata).
Memoria Centrale
   Caratteristiche fondamentali:
       Dimensione o capacità (n. di celle, quindi di byte)
       Tempo di accesso (il ritardo dopo l’invio del
        comando di lettura con cui il dato diviene
        effettivamente disponibile per l’elaborazione)
   Tipicamente la dimensione della memoria centrale è
    dell’ordine del GByte.
   Il tempo di accesso è dell’ordine delle decine di
    nanosecondi.
    (1 ns = 10-9 s = un miliardesimo di secondo)
Memorie di massa
   Memorie permanenti: mantengono il loro contenuto
    anche dopo lo spegnimento del calcolatore.
   Diverse rispetto alla memoria centrale: il loro
    funzionamento è basato perlopiù su fenomeni di
    tipo ottico o magnetico, non su fenomeni elettrici.
   Tipicamente organizzate in dischi, fissi o asportabili.
   Più economiche rispetto alle memorie RAM.
   Il loro tempo di accesso è tuttavia molto maggiore,
    cioè, a parità di dati da leggere, il processo di lettura
    avviene in modo più lento.
Memorie di massa

   Le memorie di massa allo stato solido (es.
    “chiavette” USB) non sono basate su supporti
    magnetici o ottici.

   Sono basate su circuiti (flash memory) strutturati in
    modo simile alle RAM. Tuttavia, nel loro uso come
    memorie di massa, vengono utilizzati (e gestiti dal
    computer) come le altre memorie di massa (hard
    disk).
Esercizi
Si vogliono rappresentare i numeri nell’intervallo [0,150]
con 4 bit
•   In quanti intervalli viene suddiviso l’insieme ?
•   Quanto è ampio ciascun intervallo ?
•   Quali sono i valori che risultano rappresentabili (gli estremi
    degli intervalli) ?
•   A quanto ammonta l’errore che si commette approssimando
    127.8 con il numero rappresentabile più vicino ?

In generale, dato un intervallo [min,max] e N bit, quanto
è ampio ciascun sottointervallo? Quale è il massimo
errore che posso commettere?
Giustificare le risposte
Puoi anche leggere