Diploma Universitario in Ingegneria Elettronica

Diploma Universitario in Ingegneria Informatica

Fondamenti di Informatica I e II

Prova d'esame del 22 febbraio 1999

Domande per chi deve sostenere la prova di Fondamenti I:

1. Scrivere il valore in decimale assunto dai seguenti numeri quando si intendano espressi nella rappresentazione in complemento a due: 10000000 11111111

2. Descrivere le funzioni principali svolte da un sistema operativo

3. Descrivere le caratteristiche di funzionamento delle interfacce IDE e SCSI

Domande per chi deve sostenere la prova di Fondamenti II:

1. Si definisca il concetto di albero binario;

2. Si descrivano e confrontino le rappresentazioni degli alberi binari mediante array e collegamenti;

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

In un file (ASCII) di nome "package.dat" sono contenuti dei dati riguardanti il contenuto di CD contenenti software. Ogni riga del file contiene un titolo di software, il carattere "#" e un codice identificativo del CD.

Si sviluppi un programma che preso in ingresso il file "package.dat" produca in uscita un file "cd.dat" (sempre ASCII) contenente in ciascuna riga il codice identificativo del CD (4 caratteri) e a seguire l'elenco del software presente in quel CD.

Esempio file di input:

turbo C # 0001

delphi # 231A

nedit # 0001

emacs # 0001

...

Esempio di output:

0001: turbo C, nedit, emacs

231A: delphi

...

Il programma deve essere adeguatamente commentato; le prime righe devono contenere i dati anagrafici del candidato, ben evidenziati . Generare il file di input mediante un comune editor.

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 CD e una lunghezza massima dei titoli. Si memorizzi il contenuto del file, in memoria centrale, utilizzando un array di strutture; ciascuna struttura è composta da un codice (CD) e da un array di stringhe (elenco titoli contenuti nel CD) di dimensione massima prefissata.

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

Il programma sia sviluppato senza fare ipotesi sul numero massimo di elementi (CD o software). Si memorizzi il contenuto del file tramite una lista concatenata in cui ciascun nodo fa riferimento ad un CD e tramite un puntatore permette l'accesso ad una ulteriore lista concatenata dei titoli software contenuti in quel CD. Al fine di risparmiare memoria si utilizzi l'allocazione dinamica per i titoli del software.