Fondamenti di Informatica 1
Corso di Laurea in Ingegneria
Informatica
Corso di Laurea in Ingegneria Automatica
A.A.
2002/03
Appello del 22/7/2003 - Compito A
Si vuole gestire un sistema per la masterizzazione di CDR (CD masterizzabili).
Di un oggetto CDR sono di interesse il nome del CDR stesso (una
stringa) e l'insieme dei file da memorizzare in esso. Di ogni file sono di interesse
le seguenti informazioni:
- il nome (una stringa);
- l'occupazione in kbyte (un reale).
Gli oggetti CDR supportano le seguenti funzionalitą:
- crea: che, data una stringa n che rappresenta il nome
del CDR ed un reale k che rappresenta lo spazio complessivamente
disponibile sul CDR, crea un oggetto CDR con nome n
e con spazio residuo k, che inizialmente non ha alcun file;
- nome: che restituisce il nome del CDR;
- spazioResiduo; che restituisce lo spazio residuo disponibile sul
CDR
- presente: che, dato il nome f di un file, restituisce
true se il file f č uno dei file del CDR, false
altrimenti;
- occupazione; che dato il nome f di un file, restituisce
l'occupazione di tale file, se f č presente nel CDR, altrimenti
lancia una eccezione;
- aggiungi: che, dato il nome f di un file e e
la sua occupazione k, aggiunge il file f, e la sua occupazione,
a quelli del CDR, se in CDR non č gią presente un file con
lo stesso nome e se c'è sufficiente spazio disponibile per aggiungere
il file; altrimenti lancia un'eccezione;
- elimina: che, dato il nome f di un file, elimina il file
f da quelli del CDR; se il file non è presente non
fa nulla;
- tuttiIFile: che restituisce un array di stringhe contenente, per
ciascun file presente sul CDR, una stringa formata dal nome del file
seguito dalla stringa ", ", seguita dallo spazio occupato dal file.
Domanda 1. Scrivere una classe Java CDR
per rappresentare
oggetti CDR.
Domanda 2. Realizzare un metodo statico scriviInfoSuFile
cliente della classe CDR
che, dati
- un oggetto cd della classe
CDR
,
- il nome fin di un file contenente nomi di file, uno per riga, ed
- il nome fout di un file,
scrive sul file fout, uno per riga, le informazioni (nome e occupazione)
relative ai file di cd il cui nome č presente nel file fin.
Domanda 3. Spiegare la rappresentazione collegata di alberi
binari in cui l'informazione in ciascun nodo č un intero. Spiegare l'algoritmo
di visita (ricorsiva) in preordine di alberi binari. Facendo uso della rappresentazione
collegata, realizzare un metodo statico pubblico che, dati un intero n
ed il riferimento alla radice di un albero binario alb i cui nodi contengono
interi, restituisca il numero di occorrenze di n in alb.