Fondamenti di Informatica (STI) 2005-2006
Nona esercitazione - 26 aprile 2006
Obiettivi
- definire una classe che gestisce un multiinsieme;
- utilizzare la classe
Math.random
per simulare il lancio di un dado;
- utilizzare la classe MultiInsieme appena definita per tener traccia dell'esito dei lanci del dado.
Definizione di una classe per gestire un insieme di numeri, con ripetizioni (multiinsieme)
Operazioni previste
- costruire un insieme vuoto (per default può contenere fino a 20 elementi)
- costruire un insieme vuoto (specificando il numero massimo di elementi)
- inserire un elemento nell'insieme (l'elemento potrebbe anche essere già presente, nel qual caso deve essere duplicato)
- ottenere il numero totale di elementi nell'insieme
- ottenere il numero di occorrenze di un certo elemento presenti nell'insieme
- ottenere la frequenza di occorrenze di un certo elemento (rapporto tra numero di occorrenze e numero di elementi del multiinsieme)
- ottenere la media aritmetica degli elementi presenti nell'insieme
- verificare se l'insieme è pieno (cioè non può ospitare altri elementi)
- implementare in maniera opportuna il metodo
toString
La classe deve poter essere utilizzata dal programma UsaMultiInsieme.java
Il metodo che restituisce la media può essere reso più efficiente se si mantiene nell'oggetto anche la somma degli elementi presenti.
Soluzione
Si raccomanda di leggere la soluzione MultiInsieme.java solo dopo aver cercato di risolvere
il problema autonomamente.
Simulazione del lancio di un dado a sei facce
Completare il programma LanciDado.java,
aggiungendo un metodo lancio()
che
restituisce un intero random tra 1 e 6. Il metodo a sua volta usera' Math.random(), che restituisce un double nell'intervallo [0, 1)
Il programma usa la classe MultiInsieme
.
Estensione
Arricchire il programma LanciDado.java,
visualizzando anche lo scarto (in percentuale) tra ciascuna frequenza e N/6