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.