Prova al calcolatore
Compito A
Durata: 1:45
Prima parte
Il "Centro Magri come un Grissino", che realizza programmi dietetici
personalizzati, vuole informatizzare il suo archivio. A questo scopo, va realizzata
una classe Alimento.
I dati di ogni alimento sono i seguenti:
- nome
- una stringa che contiene il nome del prodotto alimentare
- proteine
- quantità di proteine dell'alimento in grammi (un double)
- carboidrati
- quantità di carboidrati dell'alimento in grammi (un double)
- grassi
- quantità di grassi dell'alimento in grammi (un double)
- calorie
- valore energetico dell'alimento in Kcal (un int)
Si realizzi la classe Alimento, le cui componenti (variabili di istanza)
sono nome, proteine, carboidrati, grassi, calorie. La classe deve avere
un costruttore a 5 argomenti e metodi get e set per ogni componente.
Si realizzino anche i metodi toString ed equals.
Seconda parte
Per ognuno dei numerosi clienti del Centro, si vogliono memorizzare i dati
relativi agli alimenti consentiti dalla sua dieta personalizzata. A questo scopo,
si realizzi la classe Dieta; per ogni cliente, va rappresentato l'insieme
degli alimenti consentiti, usando un array, oppure una LinkedList,
oppure una Lista, oppure un HashSet. I metodi da implementare
sono i seguenti:
- static Alimento readAlimento(BufferedReader br)
- legge i dati di un alimento dal BufferedReader passato come argomento:
ritorna un oggetto Alimento con questi dati, oppure null
se non è stato possibile leggere i dati perchè il file è
finito;
- Dieta(String nomefile)
- il costruttore ha come parametro il nome di un file che contiene i dati
di un cliente: i dati degli alimenti contenuti nel file vengono letti e memorizzati
nella struttura dati usata per la loro memorizzazione
- double mediaGrassi()
- restituisce il valor medio del contenuto di grassi dei vari alimenti della
dieta
- Alimento minCaloricoConSufficientiProteine(double proteine)
- restituisce l'alimento con meno calorie della dieta, ottenuto considerando
tutti quelli che abbiano almeno le proteine specificate dal parametro proteine.
Se nessun alimento ha almeno quel numero di proteine, restituire null.