Corso di Fondamenti di Informatica - A.A. 2000/2001
Corso di Laurea in Ingegneria Elettronica (V.O. e N.O.) e
Ingegneria delle Telecomunicazioni (V.O.)
Appello del 20 settembre 2001 (recupero) - 1a prova scritta
tempo a disposizione: 2 ore
In vista dell'introduzione dell'Euro, un supermercato decide di aggiornare il
suo magazzino immettendo i nuovi prezzi in Euro per tutti i suoi prodotti. I
prodotti sono memorizzati in una struttura come in figura: una tabella contiene
le categorie merceologiche (in numero pari a 100), espresse come sequenze di 6
caratteri, ciascuna collegata ad una lista che contiene i prodotti che
appartengono a quella categoria. Ogni lista contiene il codice del prodotto (4
caratteri), il suo prezzo in lire e un campo destinato al prezzo in Euro
(inizialmente inizializzato a 0). Si tenga presente che per qualcuna delle
categorie merceologiche la lista di prodotti potrebbe essere vuota.
- Descrivere le strutture di dati necessarie per rappresentare il magazzino
e risolvere i due punti seguenti. Le liste devono essere
rappresentate mediante strutture / record e puntatori.
- Scrivere una o pił funzioni C / funzioni o procedure Pascal tali che,
dato in input il magazzino rappresentato come in figura, inserisca i prezzi
in Euro negli appositi campi. (1 Euro = 1936.27 Lire).
- Scrivere una o pił funzioni C / funzioni o procedure Pascal che, dato in
input il magazzino come restituito al punto 2, costruisca una lista,
rappresentata tramite strutture / record e puntatori, che contenga i prezzi
medi in Euro per ciascuna categoria merceologica. Le categorie merceologiche
per le quali non vi è alcun prodotto non devono comparire nella lista. La
lista deve essere ordinata in modo crescente rispetto al prezzo, e ogni
elemento deve contenere la categoria merceologica, il prezzo medio in Euro e
un puntatore all'elemento successivo.