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.