Programmazione I/Laboratorio di Programmazione I
 
Proff. G. Haus, G. Pighizzini
prova scritta del 21 febbraio 1997

Si vuole costruire un ambiente per lo studio e la prova di sottoprogrammi che manipolano sequenze di interi ordinate in modo non decrescente. In base ad un menù, l'utente può scegliere di volta in volta quali operazioni effettuare manipolando una sequenza, inizialmente vuota. Le operazioni previste sono:

  1. Inserimento di un intero all'interno della sequenza. Ad esempio, se la sequenza contiene 2 4 4 37 98 462 e l'utente vuole inserire 45, la nuova sequenza sarà 2 4 4 37 45 98 462. Si noti che uno stesso elemento può apparire nella sequenza più di una volta.
  2. Stampa del contenuto della sequenza.
  3. Ricerca di un elemento all'interno della sequenza: dato in ingresso un intero, il programma indica le posizioni in cui appare, se presente. Ad esempio, se la sequenza contiene 2 4 4 37 98 462 e l'utente inserisce per la ricerca 4, il programma dovrà rispondere che l'elemento si trova in seconda e in terza posizione.
  4. Rimozione delle ripetizioni. Ad esempio, se la sequenza contiene 2 2 4 4 37 98 98 98 462 462, la nuova sequenza sarà 2 4 37 98 462.
Il programma deve essere privo di vincoli sulla lunghezza massima della sequenza trattata e deve risultare facilmente espandibile nel caso si vogliano introdurre nuove funzionalità.

Si richiede:

Nella valutazione si terrà conto principalmente dei seguenti parametri:

N.B. PER I CANDIDATI AMMESSI ALLA PROVA ORALE
Al momento della prova orale si richiede di esibire la stampa del sorgente del programma completo e compilato, nonché il listato di una prova di esecuzione dello stesso.