Fondamenti di Informatica 1
Corso di Laurea in Ingegneria Informatica
Canale G-O, A.A. 2002/03
Esercitazione 12
Esercizio di esame
Si vuole realizzare una classe Nastro
in modo tale che ogni
oggetto della classe rappresenti un nastro utilizzato per memorizzare programmi
televisivi. Di ogni programma sono di interesse le seguenti informazioni:
- il nome (una stringa);
- la durata in minuti (un intero).
Ogni nastro ha una certa capienza e ad ogni programma memorizzato sul nastro
è associata una posizione (le posizioni sono progressive a partire da
0). Della classe sono di interesse le seguenti funzionalità:
- dato un intero k come parametro, creazione di un nastro con
capienza di k minuti, inizialmente vuoto;
- capienzaResidua, che restituisce la capienza residua del nastro in
minuti;
- quantiProgrammi, che restituisce il numero di programmi
memorizzati sul nastro;
- memorizza, che dati come parametri il nome e la durata di un
programma, memorizza il programma nella prossima posizione sul nastro, se
la capienza residua del nastro è sufficiente a contenere il
programma; se la capienza residua del nastro non è sufficiente,
lancia una
RuntimeException
;
- qualeProgramma, che data una posizione n del nastro,
restituisce il nome del programma in posizione n, se questo
esiste, lancia una
RuntimeException
altrimenti.
- qualeDurata, che data una posizione n del nastro,
restituisce la durata del programma in posizione n, se questo
esiste, lancia una
RuntimeException
altrimenti.
Parte 1. Si realizzi la classe Nastro
utilizzando una
lista collegata per rappresentare i programmi memorizzati su un nastro.
Soluzione:
rappresentazione degli
oggetti,
scheletro della classe,
classe Nastro
Parte 2. Si realizzi una classe cliente della classe
Nastro
, contenente un metodo statico che, presi come parametri un
nastro ed il nome di un file, stampa sul file posizione, nome e durata di tutti
programmi memorizzati sul nastro, uno per riga. Il metodo deve inoltre
stampare sul file la durata complessiva dei programmi memorizzati sul nastro e
la capienza residua del nastro.
Soluzione
Programma di prova e
output stampato su file.