Diploma Universitario in Ingegneria Elettronica

Diploma Universitario in Ingegneria Informatica

Fondamenti di Informatica I e II

Prova d'esame del 30 novembre 1999

Domande per chi deve sostenere la prova di Fondamenti I:

1. Descrivere la rappresentazione dei numeri in virgola mobile;

2. Descrivere i possibili tipi di variabili in C, in relazione al tempo di vita e alla visibilità;

3. Evidenziare il vantaggio della bufferizzazione nell'uso dei file;

Domande per chi deve sostenere la prova di Fondamenti II:

1. Si descrivano e confrontino i possibili modi di rappresentazione dei grafi;

2. Si dia la definizione di albero;

3. Si descrivano i possibili modi di attraversamento di un albero e per uno di questi si abbozzino le strutture dati e le funzioni necessarie per implementarlo;

Esercizio di programmazione da svolgere al computer per Fondamenti I e II:

Sviluppare un programma in C che legga e memorizzi i dati contenuti in un file ASCII ``tessere.dat'' contenente su ciascuna riga il nome di una persona e un codice numerico separati da un ``;''. Ad esempio:

Bertozzi Massimo ; 5137

Turci Paola ; 7789

Della Rosa Paolo ; 56723

Il programma deve quindi iterativamente richiedere un numero di matricola, stampare a video il relativo nome e rimuovere i relativi dati dall'elenco in memoria. All'inserimento della matricola 0 il programma salvi i nominativi rimanenti e relativo codice numerico in un secondo file ASCII ``rimasti.dat'' utilizzando lo stesso formato del file ``tessere.dat'' e quindi termini.

Si produca il file di input ``tessere.dat'' utilizzando un comune editor di testo.

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'unita' 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 massimo di nominativi, nel file "tessere.dat".

Si memorizzino i dati, in memoria centrale, utilizzando un array di strutture.

Per chi deve sostenere la prova di Fondamenti II (I+II):

Non si facciano ipotesi sul numero di nominativi nel file ``tessere.dat''. Si memorizzino i dati in una lista di strutture allocata dinamicamente. Prima di far terminare il programma si liberi la memoria allocata dinamicamente.