Document information
- University
- Politecnico di Milano
- Degree programme
- Computer Engineering
- Subject
- Ingegneria del Software
- Material language
- Italian
- Classification
- Exam · Full exam
- Content
- Exam paper only
- Original format
- Text
- Searchable text
Study material for Ingegneria del Software, shared by the Studwiz community and reviewed by moderators.
Study material for Ingegneria del Software, shared by the Studwiz community and reviewed by moderators.
Import quality: text was extracted directly from the original document.
Representative passages recognised in different parts of the material. The full extracted text remains available to search, while this compact preview makes the page easier to read.
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()) ) && //@…
First page of the document.