Agenda annuale
Per gestire l'agenda annuale di alcune persone con interessi in comune, si desidera disporre di un programma interattivo che permetta all'utente di dare comandi per richiedere le seguenti prestazioni:
- Indicare il nome dell'agenda su cui si intende lavorare e, ove essa non esistesse crearne la struttura
vuota. Per l'agenda indicata con il comando A:
- Svuotare parte dell'agenda fra due date indicate dall'utente dandone mese e giorno, eliminando tutte le annotazioni del periodo indicato.
- Visualizzare la pagina relativa ad una data di cui l'utente indica mese e giorno, con una intestazione che comprenda anche il giorno della settimana, seguita dalla lista degli appuntamenti in ordine di ora.
Per esempio:
AGENDA 1984 di: Giovannini
Mercoledì 9 maggio
06:00 Volo AZ 715
09:00 Colazione con Turoldi
..... ....
e così via.
- Stampare, su sette colonne affiancate con le note della stessa ora allineate sulla stessa riga, le pagine di una settimana con formato simile a quello adottato per il comando III. Le stampe relative alla prima e all'ultima settimana dell'anno avranno, in genere, qualche colonna bianca.
- Inserire una nuova nota dandone mese, giorno, ora.
- Eliminare una nota dandone mese, giorno, ora.
- Terminare il lavoro sull'agenda in esame.
- Terminare l'esecuzione.
- Eliminare un'agenda dal sistema di gestione.
Il candidato dovrà produrre quanto segue:
- Un "manuale d'utente" del programma desiderato che ne illustri almeno:
| le caratteristiche di fondo (limitazioni e/o facilitazioni peculiari del sistema scelto dal candidato, altri particolari, ecc.); |
| formati di stampa; |
| schermi video e messaggi; |
| come dargli i comandi |
| i casi in cui il programma rifiuti i comandi, con quali messaggi e/o comportamenti, ed i suggerimenti del caso all'utente; |
| le forme con cui indicare i dati di ingresso e loro eventuali limiti; |
| tutte le prestazioni che il candidato avrà ritenuto opportuno aggiungere a quelle sopra elencate. |
- Una chiara illustrazione delle strutture dati adottate sia in memoria di lavoro sia su memoria di massa, nonché degli algoritmi per gestirle.
- Un programma, scritto per un sistema di programmazione da dichiarare, che esibisca esattamente le prestazioni descritte nel "manuale d'utente". Per questo valgano le seguenti direttive:
| le agende sono da conservare su memoria di massa; |
| una singola agenda è interamente contenuta in memoria di lavoro, anche a costo di limitare il numero di note giornaliere e la lunghezza massima di ciascuna di
essi. |
È in facoltà del candidato:
| non presentare la codifica dell'intero programma richiesto ma solo delle parti che ritiene più significative, motivando la scelta con riferimento alla documentazione prodotta; |
| in fase di creazione di una nuova agenda, chiedere all'utente oltre all'anno, anche se si tratti di un bisestile ed il giorno della settimana del capodanno; |
| riformulare il tema, riferendolo ad un ambiente batch anziché interattivo, ma senza introdurvi variazioni per quanto attiene alle richieste. |
|