Programmazione a oggetti 17.07.2006 ESERCIZIO 1 C++ o Java

annuncio pubblicitario
Programmazione a oggetti
17.07.2006
_________________________________________________________________________________________________
ESERCIZIO 1 C++ o Java (punti 15)
Progettare in C++ o in Java alcune classi per realizzare un tipico gioco: Battaglia navale.
Il gioco prevede per ogni giocatore un campo consistente in una matrice quadrata di posizioni. Su questo campo i due
giocatori posso collocare un certo numero di navi. Una nave consiste in un numero di posizioni contigue (da uno a quattro)
poste in verticale o in orizzontale.
Svolgere i seguenti esercizi:
1) Progettare le classi che si ritengono necessarie per modellare le navi e il campo, nonché una classe giocatore
caratterizzato da un nome, un punteggio e un campo con le navi in esso posizionate.
2) Scrivere una metodo della classe campo che, date le coordinate di una posizione, restituisca vero se la posizione è
occupata da una nave, falso altrimenti.
3) Scrivere un metodo salva della classe campo che scriva su un file (il cui nome è fornito come parametro) le
dimensioni del campo e i dati delle navi su di esso posizionati. Scrivere un metodo costruttore che, dato il nome
di un file prodotto dal metodo salva, inizzializzi gli attributi del campo con le eventuali navi in esso contenute.
_________________________________________________________________________________________________
ESERCIZIO 2 (punti 8)
Progettare in C++ o in Java ( ma in un linguaggio diverso da quello usato nell'esercizio 1) una classe astratta barca da cui
derivare almeno due classi per memorizzare tipi differenti di barche (es. peschereccio, transatlantico, motoscafo, etc.).
ESERCIZIO 3 (punti 4)
Illustrare le differenze e le analogie tra il C++ e Java nella realizzazione delle calssi interfaccia.
_________________________________________________________________________________________________
ESERCIZIO 4 (punti 3)
Dire se è vera o falsa la seguente affermazione e motivare la risposta:
Un programma sorgente Java è compilato usando una Java Virtual Machine, che, a partire da un file sorgente, produce un
altro programma in bytecode.
Scrivere in modo leggibile. Numerare i fogli di bella secondo l'ordine in cui dovranno essere letti dal docente.
Scarica