Esercizi In Aula 08.03.2006 - Dipartimento di Informatica e

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