Diploma Universitario in Ingegneria Elettronica

Diploma Universitario in Ingegneria Informatica

Fondamenti di Informatica II

Verifica intermedia del 14 aprile 2000

Domande di Teoria:

1. Definizione di O(n);

2. Si dimostri che per f(n)=am nm+am-1 nm-1+...+a0 vale che f(n) Î O(n m);

3. Si comparino brevemente rappresentazioni collegate e array del C cercando di indicare vantaggi e svantaggi nell'utilizzo per la memorizzazione di liste ordinate;

Esercizio di programmazione da svolgere al computer:

Il file ASCII totali.txt contiene riga per riga un prezzo espresso in lire, un '#', una quantità, un altro '#' e infine una descrizione, ad esempio:

345000#20#NDC 23

1000000#2#TVC Filip 20

450000#5#Recorder Tony

Scrivere un programma C che legga e memorizzi il contenuto del file e successivamente stampi in un secondo file ris.txt l'elenco del materiale ordinato per prezzo e il totale (ricavato considerando anche la quantità) del valore dei beni, ad esempio:

TVC Filip 20

Recorder Tony

NDC 23

TOTALE: 11150000

Il programma deve essere adeguatamente commentato; le prime righe devono contenere i dati anagrafici del candidato, indirizzo di posta elettronica e nome della stazione di lavoro ben evidenziati.

Durante la prova salvare (spesso) il programma nel direttorio radice dell'unità disco F: ; i primi 8 caratteri del nome del candidato rappresenteranno il nome del programma (estensione .C).

Non si facciano ipotesi sul numero massimo di beni elencati nel primo file, in tal senso si utilizzi allocazione dinamica della memoria per memorizzare i vari beni. Si ipotizzi, viceversa, che la descrizione del materiale non richieda più di 50 caratteri.