Fondamenti di
Informatica I
Corso di Laurea in Ingegneria Informatica
Prova al calcolatore 5/4/01 - Compito F
Durata: 120 minuti
Istruzioni per la prova al calcolatore
1. Accesso al PC: il PC sarà già connesso, se non lo fosse chiedete assistenza
ai professori o ai tutori. Non dovete eseguire quindi nessuna operazione di
connessione/disconnessione.
2. Cartella in cui svolgere l'esame: all'interno delle Risorse del computer c'è
un unico disco T: all'interno del quale c'è una sola cartella Esame. La cartella
Esame contiene tutti i file di cui avete bisogno per svolgere il compito e
dovrà contenere i file scritti da voi per la soluzione dell'esercizio.
Assicuratevi in SitePad di creare i nuovi file Java utilizzando il path
T:\Esame. Non create altre cartelle e non scrivete al di fuori della cartella
Esame .
3. Ambiente di sviluppo: sul PC trovate sia il programma SitePad, sia WordPad
che il prompt dei comandi per compilare ed eseguire le classi Java.
4. Accesso al sito del corso: il sito del corso può essere consultato tramite
Internet Explorer
5. Consegna del compito: al termine del compito si devono lasciare i programmi
nella cartella Esame e si deve consegnare il foglio con il testo del compito.
Non spegnere il PC e non chiudere la connessione.
Durante il compito non è consentito uscire dall'aula, parlare con altri
studenti, utilizzare telefoni cellulari, utlizzare dischetti floppy,
trasmettere in qualunque modo informazioni da una macchina all'altra. Il
mancato rispetto delle indicazioni sopra riportate comporta l'annullamento
della prova.
Testo del compito
Si vuole realizzare un programma per la gestione di un parcheggio. Per ciascun
livello del parcheggio sono
memorizzate le seguenti informazioni: numero del livello e ora di rilevazione
dati, numero di posti liberi per livello, numero di posti occupati per livello,
costo ora per livello. Il numero di posti liberi e occupati per livello
sono riferiti all'ora specificata.
Parte 1. Scrivere una classe Livello per la gestione di un livello
che implementi i seguenti metodi:
- Livello ( String, String, int, int, int ) : costruttore con cinque
argomenti: Livello e numero, Ora di Rilevazione, numero di posti occupati,
numero di posti liberi, costo ora per il livello specificato.
- void stampa ( ) : stampa su video le informazioni di un livello
- void modificaPostiLiberi( int ) : modifica il numero di posti liberi del
livello
- int getGuadagno ( ) : restituisce un intero corrispondente al guadagno per il
livello all’ora di rilevazione.
Programma di esempio: ProvaLivello.java
class
ProvaLivello {
public static void main (String[] args) {
Livello livello = new Livello(“Livello 3”, "Ora:12.00",
320, 15, 3500);
livello.modificaPostiLiberi(18);
livello.stampa();
System.out.println("Al Livello 3 il guadagno totale e' di
lire”+
livello.getGuadagno());
}
}
Parte 2. Scrivere una classe Parcheggio che gestisca
l'intero Parcheggio le cui informazioni sono contenute in un file
'parcheggio.txt' nel seguente formato:
<livello numero>
< ora rilevazione>
<numero posti occupati>
<numero di posti liberi>
<costo parcheggio per ora>
Per la lettura dei dati dal file si consiglia l'uso di un metodo statico di
lettura da inserire nella classe Livello che restituisca l'oggetto della classe
Livello letto da un canale di input oppure null se non ci sono dati sul canale.
Esempio di file parcheggio.txt:
Livello:1
Ora:15.00
361
12
3500
Livello:2
Ora:8.00
290
40
3800
La classe
Parcheggio deve implementare i seguenti metodi:
- Parcheggio ( String ) : costruttore con argomento stringa contenente il nome
del file
- int contaVolumeAuto ( ) : restituisce il numero di auto che hanno frequentato
il parcheggio alle ore di rilevazione
- Livello livelloPiuFrequentato ( ) : restituisce l'oggetto Livello
corrispondente al livello che ha avuto il numero di auto piu' alto
Programma di esempio: ProvaParcheggio.java
class
ProvaParcheggio {
public static void main (String[] args) {
Parcheggio parcheggio = new Parcheggio
("parcheggio.txt");
int c = parcheggio.contaVolumeAuto();
System.out.println("Il volume di auto per le ore di
rilevazione = "+c);
Livello livello = parcheggio.livelloPiuFrequentato();
System.out.println("Il livello piu' frequentato
e'");
livello.stampa();
}
}