Fondamenti di Informatica LB - anno 2002/2003

Esercitazione 01


Data: 30 Aprile 2003

Questo documento fa parte del materiale impacchettato nel file es01.jar che si trova sul sito di Fondamenti di Informatica LB


Descrizione dell'esercitazione


La lista è un tipo di struttura dati fondamentale per gestire collezione lineari di oggetti. La nostra software house ACME dispone di una implementazione object oriented di tale struttura dati: la classe ACMEList, il cui sorgente si trova nel package es01/src (file ACMEList.java), la cui classe compilata è fornita nel package es01/build (file ACMEList.class) e la cui documentazione è in es01/docs/apidocs. In particolare la classe implementa liste di elementi di tipo intero. Come descritto nella documentazione, la nostra lista fornisce metodi per inserire un elemento, chiedere quanti elementi possiede attualmente (lunghezza della lista), svuotare completamente la lista.
E' fornito anche un componente software TestList (sorgente es01/src/TestList.java e classe compilata es01/build/TestList.class), il cui scopo è fare uno scarno testing della classe: il programma crea un oggetto di classe ACMEList e vi inserisce alcuni elementi mediante una semplice iterazione.

L'obiettivo è allora costruire un componente software che faccia del testing più approfondito delle funzionalità della classe fornita. Allo scopo si chiede di sviluppare un nuovo componente software eseguibile, di nome MyTest, che crei un oggetto lista e vi interagisca al fine di testare il comportamento dell'oggetto. In particolare, il componente deve implementare seguenti passi elementari:


Parte facoltativa

Vogliamo migliorare la classe fornita aggiungendo la funzionalità di ricerca di un elemento nella lista. In particolare vogliamo implementate un nuovo metodo che determini se un elemento sia presente nella lista rappresentata dall'oggetto. Una possibile signature del metodo è la seguente:

public boolean isPresent(int element)

Ovvero un metodo che accetti come parametro in ingresso l'elemento da cercare, e restituisca un valore di tipo boolean, vero (true) se l'elemento è presente nella lista, falso (false) al contario. Per c Invece di aggiungere il metodo direttamente alla classe ACMEList, creare la classe ACMEList2 (quindi sorgente ACMEList2.java), copiando il sorgente della classe ACMEList e aggiungendo opportunamente il metodo isPresent.



Note