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.