Fondamenti di informatica - 1 Alfonso Miola Esercizi In Aula 08.03.2006 1 Iterazione Fondamenti di informatica: Oggetti e Java Esercizio 1 Definire una classe Java per istanziare oggetti di nome Punto che modellano punti del piano cartesiano: lo stato di un oggetto Punto può essere descritto mediante una coppia di coordinate (X,Y) 2 variabili d’istanza bisogna poter creare un oggetto Punto in modo parametrico rispetto alle sue coordinate (X,Y) un costruttore (con due parametri) un oggetto Punto deve saper eseguire le seguenti operazioni accedi alla coordinata X del punto accedi alla coordinata Y del punto 2 metodi d’istanza 2 Iterazione Fondamenti di informatica: Oggetti e Java Esercizio 2 Definire una classe Java per istanziare oggetti di nome Rettangolo che modellano rettangoli del piano cartesiano, con i lati paralleli agli assi: lo stato di un oggetto Rettangolo può essere descritto da 3 variabili d’istanza: il punto vbs (di tipo Punto) una coppia di coordinate (X,Y) del vertice in basso a sinistra del rettangolo il valore base (di tipo double) della lunghezza della base del rettangolo il valore altezza (di tipo double) della lunghezza dell’altezza del rettangolo il costruttore di un oggetto Rettangolo sarà parametrico rispetto a: un punto p un numero razionale bi un numero razionale acca 3 Iterazione Fondamenti di informatica: Oggetti e Java 4 le operazioni vanno definiti 3 metodi per accedere alle 3 variabili d’istanza va definito un metodo Punto vad() che restituisce il valore del vertice in alto a destra del Rettangolo va definito un metodo double area() che restituisce l’area del Rettangolo va definito un metodo double diagonale() che restituisce il valore della lunghezza della diagonale del Rettangolo va definito un metodo di classe boolean esterno(Rettangolo r1, Rettangolo r2) che verifica se il rettangolo r1 è esterno al rettangolo r2 Iterazione Fondamenti di informatica: Oggetti e Java Esercizio 3 Scrivere un metodo boolean esterni(Rettangolo[ ] a, Rettangolo r) tale che: il parametro a è un array non nullo in cui ciascun elemento è un Rettangolo non nullo verifica se tutti i rettangoli, elementi di a, sono esterni al rettangolo r Completare inoltre le specifiche del metodo, indicando il valore che deve essere restituito se l’array a fosse vuoto. 5 Iterazione Fondamenti di informatica: Oggetti e Java Esercizio 4 Scrivere un metodo boolean unoEsternoAltro(Rettangolo[ ] ) tale che: il parametro a è un array non nullo in cui ciascun elemento è un Rettangolo non nullo verifica se ciascuno dei rettangoli, elementi di a, è esterno al successivo Completare inoltre le specifiche del metodo, indicando il valore che deve essere restituito se l’array a fosse vuoto. 6 Iterazione Fondamenti di informatica: Oggetti e Java Esercizio 5 Scrivere un metodo Rettangolo unoPiuEsterno(Rettangolo[ ] ) tale che: il parametro a è un array non nullo in cui ciascun elemento è un Rettangolo non nullo calcola e restituisce il rettangolo, elemento di a, che è esterno a tutti gli altri, se esiste, e il rettangolo con vbs nell’origine del piano e base e altezza nulle, se non esiste. Completare inoltre le specifiche del metodo, indicando il valore che deve essere restituito se l’array a fosse vuoto. 7 Iterazione Fondamenti di informatica: Oggetti e Java