• Non ci sono risultati.

Il metodo stop interrompe l’esecuzione

N/A
N/A
Protected

Academic year: 2021

Condividi "Il metodo stop interrompe l’esecuzione"

Copied!
1
0
0

Testo completo

(1)

Programmazione II Appello 22/02/2012

Pag. 1 Non è consentito usare libri o appunti.

1. [15 punti] Implementare:

a. una classe Canzone e una classe Programma che astraggono i concetti corrispondenti in relazione al loro uso al punto c;

b. l’interfaccia DispositivoSelezioneProgrammi caratterizzata dai metodi start, stop e next;

c. una classe Lavatrice e una classe LettoreMP3 che implementano DispositivoSelezioneProgrammi.

• Una Lavatrice ha una marca, un nome ed una lista dei possibili programmi di lavaggio (ad esempio Lana, Normale, Seta, Rapido).

L’esecuzione del metodo start di una lavatrice restituisce le informazioni della lavatrice e la avvia sul programma correntemente selezionato. Il metodo stop interrompe l’esecuzione. Il metodo next consente di effettuare la selezione del programma di lavaggio. In particolare, se il programma i-esimo è il programma attualmente selezionato, allora next lo cambia con l’i+1- esimo programma della lista. Quindi next scandisce la lista da sinistra verso destra finché non arriva alla fine. A questo punto next individua come programma selezionato il penultimo programma della lista, e continua scandendo la lista da destra verso sinistra.

• Un LettoreMP3 ha un nome ed una lista di canzoni, quest’ultima viene inizializzata con il metodo load. L’esecuzione del metodo start di un LettoreMP3 restituisce il nome del lettore e avvia il lettore sulla canzone correntemente selezionata. Il metodo next consente di effettuare la selezionare della canzone dalla lista. In particolare, se la canzone i-esima è quella attualmente selezionata, allora next la cambia con l’i+1-esima canzone della lista. Quando si è arrivati alla fine della lista next seleziona la prima canzone della lista.

Testare in maniera opportuna la classi implementate, mostrando con messaggi in console l’esecuzione dei metodi. Per il test caricare da un file (predefinito nella classe tester) gli oggetti DispositivoSelezioneProgrammi su cui eseguire il test. Se il file non esiste istanziare 3 oggetti Lavatrice e 3 oggetti LettoreMP3, salvarli nel file e poi eseguire il test. A fine test salvare gli oggetti nel file.

2. [15 punti] Implementare un’eccezione controllata FaultException. Modificare la classe LettoreMP3 in modo che l’invocazione del metodo next possa lanciare casualmente (con probabilità 1/3) l’eccezione FaultException oppure funzionare regolarmente (con probabilità 2/3). Testare adeguatamente la classe risultante simulando 10 avanzamenti di canzone e gestendo l’eccezione in modo da ripetere l’avanzamento fin quando non ha successo. Ogni volta che viene lanciata l’eccezione deve essere stampato un messaggio che indica il numero del tentativo e la canzone corrente.

Riferimenti

Documenti correlati

La banca dati di un’agenzia assicurativa per auto `e caratterizzata da un insieme di polizze di assicurazioni per

Scrivere una nuova classe Corso, dove ciascun corso `e caratterizzato da nome del corso, nome del docente titolare del corso, numero di crediti associati al corso, settore

Le variabili istanza sono il veicolo assicurato, identificato dalla targa (ad esempio, “CA 075 DS”), ed il valore assicurato RC.. Una polizza auto incendio e furto si differenzia da

(traccia: ci sono 4 configurazioni possibili (disegnarle); le tangenti alla curva grafico stanno sempre sopra o sotto la curva, la successione {x n } `e monotona e limitata, quindi

A tal proposito si esca per return (cf. [3]) se la derivata prima si annulla in una iterazione ponendo flag uguale a 1 o se il valore assoluto dello step `e minore della

(traccia: ci sono 4 configurazioni possibili (disegnarle); le tangenti alla curva grafico stanno sempre sopra o sotto la curva, la successione {x n } `e monotona e limitata, quindi

(a) Prima di applicare il metodo del simplesso `e indispensabile porre il program- ma lineare in forma standard... Risoluzione per via grafica

− se un metodo ha questa funzione di costo asintotico si dice che ha complessità costante complessità costante. • log N log N - logaritmo in