Diploma Universitario in Ingegneria Elettronica
Diploma Universitario in Ingegneria Informatica
Fondamenti di Informatica I e II
Prova d'esame del 26 giugno 2000
Domande per chi deve sostenere la prova di Fondamenti I:
1. Rappresentare in base binaria utilizzando la forma complemento a due su 8 bit il numero -1
2. Descrivere lo standard IEEE-32 utilizzato nella rappresentazione dei numeri reali.
3. Trattare l'argomento relativo ai codici ridondanti; descrivere il codice di parità.
4. Dire come si accede alle funzioni di libreria in C.
Domande per chi deve sostenere la prova di Fondamenti II:
1. Descrivere i possibili modi di rappresentazione dei grafi.
2. Definire il concetto di albero derivato di minimo costo.
3. Definizione di O(n).
Esercizio di programmazione da svolgere al computer per Fondamenti I e II:
Scrivere un programma, in linguaggio C, che gestisca la cassa di un negozio, secondo i requisiti elencati di seguito. Il programma acquisisce da un file di testo di nome "CASSA.DAT", i dati fiscali (denominazione, indirizzo, partita IVA, memorizzati nelle prime tre righe del file) e l'elenco dei prodotti e relativi prezzi (presenti nelle successive righe del file); le righe del file relative ai prodotti ed ai loro prezzi, sono delle singole stringhe in cui il prezzo compare al secondo posto, preceduto dal simbolo #. Il programma, inoltre, deve leggere ciclicamente da tastiera un carattere indicante un'operazione da eseguire; i valori consentiti per tale carattere e le rispettive operazioni sono:
'L' visualizzare la lista dei prodotti disponibili e relativi prezzi;
'A' chiedere l'inserimento da tastiera di un prodotto e della relativa quantità (numero intero da 1 a 10), da inserire nel carrello virtuale;
'S' stampare lo scontrino fiscale (dati della ditta e prezzo complessivo), relativo ai prodotti acquistati;
'U' uscire dal programma;
Per motivi di efficienza, si deve caricare il contenuto del file "CASSA.DAT", in una opportuna struttura dati in memoria centrale.
Esempio file CASSA.DAT:
Rossi alimentari
via Dante Alighieri n.2, Milano
Partita Iva: 0123456789
latte (1 lt.) #1800
pane (1 kg.) #4000
acqua minerale (1 lt.) #600
farina 00 (1 kg.) #1200
mele Golden (1 kg.) #2800
Il programma deve essere adeguatamente commentato; le prime righe devono contenere i dati anagrafici del candidato, ben evidenziati.
Al termine della prova salvare il programma nel direttorio radice dell'unità disco F: ; i primi 8 caratteri del nome del candidato rappresenteranno il nome del programma (estensione .C).
Per chi deve sostenere la prova di Fondamenti I:
Si ipotizzi un numero prefissato di prodotti (la cui descrizione sia una stringa di lunghezza max. 255 caratteri) e si utilizzi un vettore di strutture per l'elaborazione temporanea dei dati.
Per chi deve sostenere la prova di Fondamenti II (I+II):
Si ipotizzi che il numero massimo di prodotti non sia prefissato. Si utilizzi un albero binario di ricerca per la memorizzazione dei dati.