Fondamenti di Informatica 1
Corso di Laurea in Ingegneria Informatica
Corso di Laurea in Ingegneria Automatica
A.A. 2002/03
Appello del 23/9/2003 - Compito A
Si vogliono gestire i giochi di ludoteche. Di un oggetto Ludoteca
sono di interesse il nome della Ludoteca (una stringa) e l'insieme dei
giochi disponibili in essa. Di ogni gioco sono di interesse le seguenti
informazioni:
- il nome (una stringa);
- la fascia di età per cui il gioco è adatto (due interi, di
cui uno rappresenta l'età minima e l'altro l'età
massima per cui il gioco è adatto).
Gli oggetti Ludoteca supportano le seguenti funzionalità:
- crea: che, data una stringa n che rappresenta il nome
della Ludoteca, crea un oggetto Ludoteca con nome
n, che inizialmente non ha alcun gioco disponibile;
- nome: che restituisce il nome della Ludoteca;
- presente: che, dato il nome g di un gioco, restituisce
true se il gioco g è disponibile nella
Ludoteca, false altrimenti;
- etaMinima; che dato il nome g di un gioco, restituisce
l'età minima per cui il gioco è adatto, se g
è presente nella Ludoteca; lancia una eccezione
altrimenti;
- etaMassima; che dato il nome g di un gioco, restituisce
l'età massima per cui il gioco è adatto, se g
è presente nella Ludoteca; lancia una eccezione
altrimenti;
- numeroGiochi; che restituisce il numero di giochi nella
Ludoteca;
- aggiungi: che, dati il nome g di un gioco e due
età min e max, aggiunge il gioco g con
età minima min ed età massima max a
quelli della Ludoteca, se nella Ludoteca non è
già presente un gioco con nome g; se invece un gioco con
nome g è già presente nella Ludoteca,
aggiorna la sua età minima a min e la sua età
massima a max;
- elimina: che, dato il nome g di un gioco, elimina il
gioco g da quelli della Ludoteca; se il gioco non
è presente non fa nulla;
- giochiPerEta: che, data un'età e, restituisce un
array di stringhe contenente i nomi di tutti i giochi presenti nella
Ludoteca che sono adatti per l'età e. Si noti
che un gioco è adatto per l'età e se e
è compreso tra l'età minima e massima per quel gioco.
Domanda 1. Scrivere una classe Java Ludoteca
per rappresentare oggetti Ludoteca.
Domanda 2. Realizzare un metodo statico
giochiInComune
, cliente della classe Ludoteca
che,
dati
- un oggetto lt della classe
Ludoteca
,
- due interi e1 ed e2 che rappresentano due età,
- il nome fout di un file,
scrive sul file fout, un gioco per riga, le informazioni (nome e
fascia di età) relative ai giochi disponibili in ltche sono
adatti sia alle persone di età e1 che alle persone di
età e2.
Domanda 3. Spiegare brevemente (circa una pagina) il
meccanismo del passaggio dei parametri e della restituzione del valore di
ritorno in Java. Illustrare inoltre, facendo uso di diagrammi della memoria,
il meccanismo del passaggio dei parametri nel seguente esempio:
public class EsameA {
public static int uno(int a) {
a = a + 1;
return a;
}
public static String due(String s) {
return s.concat(" e dopo");
}
public static void main(String[] args) {
int a = 5;
int b = uno(a) + a;
System.out.println(a + ", " + b);
String s = new String("prima");
String ss = due(s);
System.out.println(ss);
}
}