Diploma Universitario di Ingegneria Informatica
Esame di Fondamenti di Informatica II - primo modulo
A.A. 2001/02 - Appello del 17 luglio 2002

Problema 1   Si consideri la seguente specifica del tipo astratto Molo:

TipoAstratto Molo

Sorte Molo (sorta per il dominio di interesse)

Funzioni

FineTipoAstratto

Si vuole scrivere una classe C++ Molo che realizzi il tipo astratto Molo, considerando che per riferirsi al tipo astratto Barca è necessario utilizzare la classe Barca che si suppone già realizzata, ma della quale non si conosce nulla.

Domanda 1   Si illustrino le scelte di progetto relative alla realizzazione del tipo astratto Molo mediante la classe C++ Molo.

Domanda 2   Si scriva la classe Molo (file .h e file .cpp) secondo le scelte di progetto illustrate per la Domanda 1. Scrivere il codice di tutte le funzioni pubbliche e private della classe.

Problema 2   Realizzare una funzione SituazionePostiBarca esterna (non friend) della classe Molo che dato un molo m restituisca un array di booleani a di dimensione pari al numero di posti barca presenti in m e tale che ogni posizione i all'interno dell'array contenga true se il posto barca numero i di m è assegnato ad una barca, false altrimenti.

Problema 3   Spiegare brevemente il significato delle nozioni di coesione, information hiding, accoppiamento, e interfacciamento esplicito, e descrivere i criteri fondamentali che legano tali nozioni con la qualità della modularizzazione.