Prova al calcolatore 26/3/2002

Canale A-L (Liberatore)/ Prova al calcolatore

Parte I

Si vuole realizzare il sistema di gestione dei calcolatori di una grande azienda. La prima classe da realizzare ha oggetti che modellano i singoli calcolatori. In particolare, per ogni calcolatore vanno memorizzati i seguenti dati:

La classe Calcolatore deve avere i seguenti metodi:

costruttore prende come parametro i dati di un calcolatore
getNumero trova il numero del calcolatore
getUfficio trova il nome dell'ufficio
getFunziona determina se il calcolatore funziona
getEta trova l'età del calcolatore

Esercizio II

Creare la classe CalcDue che è uguale alla classe di sopra, ma contiene anche il metodo statico Read che riceve come parametro un BufferedReader e restituisce il prossimo oggetto CalcDue letto dal buffered reader. I dati sono memorizzati in ordine (prima il numero, poi il nome dell'ufficio, ecc). Il funzionamento del calcolatore viene memorizzato come un numero: 0 se il calcolatore non funziona e un qualsiasi altro numero se funziona (attenzione! la variabile di istanza deve essere sempre un boolean).

Creare poi la classe Gestione che serve alla gestione dell'insieme dei calcolatori dell'azienda. Ogni oggetto ha come (unica) variabile di istanza il nome di un file in cui si trovano i dati dei calcolatori.

Questa classe deve avere i seguenti metodi:

costruttore
prende come parametro il nome del file
int etaMedia()
calcola l'età media dei calcolatori di tutta l'azienda
int maxFunzionante(String uff)
trova l'età del calcolatore dell'ufficio uff più vecchio che sia ancora funzionante.