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 14/01/2023 Esercizio 1 Si consideri la seguente classe SpeedLimits per memorizzare i limiti di velocit `a per i vari segmenti ( RoadSegments) di una strada. La strada inizia al km 0 e ha una lunghezza di len() km. Il costruttore assegna lo stesso limite di velocit `a all’intera strada. Un segmento (RoadSegment) `e definito come un tratto di strada che inizia e termina con un cambio di limite di velocit`a e all’interno del quale il limite di velocit`a non cambia. Il primo segmento inizia al km 0 e l’ultimo segmento termina al km len() (escluso). public class SpeedLimits { // Considera una strada di lunghezza len e imposta a speedLimit il limite // di velocita’ per l’intera strada. public SpeedLimits(int speedLimit, int len); // Ritorna la lunghezza della strada in km. public /*@ pure @ */ int len(); // Ritorna il limite di velocita’ al km specificato. public /*@ pure @ */ int getSpeedLimitAt(int km); // Imposta il limite di velocita’ a speedLimit per il tratto di strada che inizia // al km start (incluso) e finisce al km end (escluso). // Il limite di velocita’ deve essere positivo e inferiore o uguale a 130 km orari. // Lancia una InvalidBoundariesException se gli estremi del tratto di strada non sono validi. public void changeSpeedLimit(int start, int end, int speedLimit) throws InvalidBoundariesException; // Ritorna la lista dei segmenti contenuti nella strada. I segmenti sono // ritornati in ordine (da quello che inizia per primo a quello che inizia per ultimo). public /*@ pure @ */ List<RoadSegment> getSegments(); } public /*@ pure @ */ RoadSegment { // Ritorna il km di inizio del segmento (incluso nel segmento). public /*@ pure @ */ int getStart(); // Ritorna il km di fine del segmento (escluso dal segmento). public /*@…
First page of the document.