Laboratorio di Calcolo
AA 2004/05
Prova individuale - terzo gruppo

Viene fornita una classe denominata convertitore che permette di definire
oggetti caratterizzati da un numero double, il fattore di conversione,
che possiamo utilizzare per effettuare conversioni tra unita' di misura.
                                                                                
Sono disponibili 2 costruttori:
- in uno si fornisce direttamente il fattore
di conversione necessario per trasformare una quantita' espressa nella prima
unita' di misura in una espressa nella seconda,
- nell'altro si fornisce il
valore di una quantita' di riferimento qualsiasi espresso sia
nella prima e nella seconda unita' di misura e il costruttore si calcola
il fattore di conversione.
                                                                                
E' poi disponibile il metodo converti che restituisce il valore nella seconda
unita' di misura di una quantita' espressa nella prima unita' di misura.
                                                                                
0. create nel direttorio principale (/home/didxxx) il sottodirettorio
pind3_cognome. Spostatevici e scaricate li' il file convertitore.h.
(punteggio 1)

1. Scrivete un programma main che utilizzi questa classe per costruire
un oggetto che potete chiamare Conv_s_h in grado di convertire
secondi in ore. Verificate che il programma compili e giri (anche se non
fara' nulla non deve dare errori!). Un'ora corrisponde a 3600 secondi.
(punteggio 2)
                                                                               
2. Utilizzate l'oggetto Conv_s_h per
stampare il valore in ore di un tempo espresso in secondi immesso dall'utente.
Compilate, girate, controllate che il programma fornisca risultati corretti.
(punteggio 2)

3. aggiungete alla classe un metodo che consenta di effettuare la conversione
inversa (da ore a secondi): double converti_inv(double dato) e
provate ad usare anche questo dal programma principale per verificare che
agendo sul tempo in ore ottenuto al punto 2 si riottenga quello in
secondi dal quale si era partiti.
(punteggio 2.5)
                                                                               
4. Come sapete non ha senso utilizzare valori numerici con un numero
troppo elevato di cifre significative.
Modificate la classe in modo tale che il metodo converti restituisca
sempre tempi misurati in ore con una sola cifra decimale dopo la virgola.
Potete farlo in diversi modi
        - aggiungendo alla classe un metodo privato che, chiamato dal metodo
          converti, abbia il compito di trasformare il risultato in ore
          in un risultato con una sola cifra dopo la virgola.
        - aggiungendo il suddetto metodo non alla classe
          convertitore bensi' ad una classe derivata da essa e dedicata alle
          conversioni con un numero fisso di cifre decimali.
(punteggio 2.5)
                                                                               
NOTA: per ottenere un numero n di cifre dopo la virgola si moltiplica
il numero reale di partenza per 10 elevato alla n, lo si copia in un numero
intero, che poi si ridivide per 10 elevato alla n.