Informazioni sul documento
- Università
- Politecnico di Milano
- Corso di laurea
- Computer Engineering
- Materia
- Ingegneria del Software
- Classificazione
- Esame · Esame completo
- Contenuto
- Testo d’esame
- Formato originale
- Testo
- Testo ricercabile
Esame completo di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.
Esame completo di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.
Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.
Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.
Ingegneria del Software — Soluzione del Tema 18/01/2022 Esercizio 1 Si consideri la seguente classe immutabile Java OlympicsTable per la gestione dei risultati di un’edizione dei giochi olim- pici. La classe permette di inserire i risultati ( Result) per ogni disciplina (Game) e di consultare informazioni statistiche. Si assuma che ogni gara assegni esattamente una medaglia d’oro, una d’argento e una di bronzo, ovvero non sono possibili casi di parit`a o medaglie non assegnate. public /*@ pure @ */ class OlympicsTable { // Ritorna l’insieme dei risultati. public Set<Result> getResults(); // Aggiunge un risultato (creando e ritornando un nuovo oggetto di tipo OlimpicsTable). // Lancia una DuplicateException se e’ gia’ presente un risultato per // la stessa disciplina e per lo stesso sesso. public OlympicsTable add(Result res) throws DuplicateException; // Ritorna l’elenco dei paesi i cui atleti hanno vinto una medaglia di tipo Medal. // L’elenco e’ ordinato per numero di medaglie vinte, in ordine decrescente. public List<Country> getRank(Medal med); } public /*@ pure @ */ class Result { // Ritorna la disciplina di questa gara public Game getGame(); // Ritorna il sesso degli atleti partecipanti // (cioe’ se si tratta di una gara maschile o femminile) public Sex getSex(); // Ritorna l’atleta che ha ottenuto la medaglia Medal public Athlete getAthlete(Medal med); ... } public /*@ pure @ */ class Athlete { // Ritorna la nazionalita’ dell’atleta public Country getNationality(); ... } public enum Medal { GOLD, SILVER, BRONZE } public enum Sex { F, M } Domanda a) Si specifichi in JML il metodo add. Soluzione //@requires res != null //@ //@ensures //@ !(\exists Result r; getResults().contains(r); //@ r.getGame().equals(res.getGame()) && r.getSex().equals(res.getSex()) ) && //@…
Prima pagina del documento.