Diploma Universitario di Ingegneria Informatica
Esame di Fondamenti di Informatica II - secondo modulo
A.A. 1999/2000 - Appello del 14 settembre 2000

Problema 1   Si consideri la seguente specifica del tipo astratto ClasseAsilo:
TipoAstratto ClasseAsilo

Sorte CA (sorta per il dominio di interesse)

Funzioni

Scrivere una classe C++ ClasseAsilo (file .h e file .cpp) che realizza il tipo astratto ClasseAsilo in modo che tutte le operazioni del tipo astratto, escluso Crea, siano realizzate in tempo costante (O(1)) nel caso atteso. Si consideri che per riferirsi ai tipi astratti Maestro e Bambino è necessario utilizzare le classi Maestra e Bambino già realizzate delle quali però non è nota la definizione.

Problema 2   Si modifichi la definizione della classe ClasseAsilo realizzata per il Problema 1 aggiungendo la funzione BambiniIscrittiRinunciatari alla classe la cui specifica è:

Definire una opportuna classe Iteratore che realizza il tipo astratto Enumerazione(Bambino), in modo che la funzione BambiniIscrittiRinunciatari sia eseguita in tempo costante (O(1)).