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

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

TipoAstratto PhotoGallery

Sorte PG (sorta per il dominio di interesse)

Funzioni

FineTipoAstratto

Si vuole scrivere una classe C++ PhotoGallery che realizzi il tipo astratto PhotoGallery, considerando che per riferirsi al tipo astratto Utente e Foto è necessario utilizzare le classi Utente e Foto che si suppone già realizzate, e delle quali non si conosce nulla eccetto che Foto mette a disposizione un metodo public void display() che visualizza sullo schermo la foto oggetto di invocazione.

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

Domanda 2   Si scriva la classe PhotoGallery (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 SlideShow esterna (non friend) della classe PhotoGallery che dato una photo gallery g, un array di interi a e un intero lung che rappresenta il numero di elementi di a, mostri (invocando il metodo display() della classe Foto) le foto di g le cui posizioni sono memorizzate in a (rispettandone l'ordine in a). Qualora un intero memorizzato in a non rappresenta una posizione valida in g lo si ignori.

Problema 3   Discutere brevemente le nozioni di interferenza e di sharing.