Diploma Universitario in Ingegneria Elettronica

Diploma Universitario in Ingegneria Informatica

Fondamenti di Informatica I e II

Prova d'esame del 18 settembre 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 -32

2. Descrivere i diversi tipi di memoria elettronica presenti all'interno di un computer (memoria centrale)

3. Descrivere il codice ridondante ciclico (CRC)

Domande per chi deve sostenere la prova di Fondamenti II:

1. Ipotizzando che la variabile i sia stata definita come short i[100] si indichino quali fra le seguenti espressioni possono essere equivalenti a i[8]: 8[i], &i+8, i+8, *(8+i), i[1]+7, *i+8, *(i+4*sizeof(int)).

2. Si descrivano i possibili modi di rappresentazione dei grafi.

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

Il file di testo HOTEL.DAT contiene le descrizioni degli hotel di una nota località turistica. Ogni riga del file comprende 5 campi separati da punto e virgola:

1) nome dell'hotel;

2) categoria (espressa in stelle con un numero da 1 (*) a 5 (*****));

3) prezzo della stanza in bassa stagione;

4-5) data di inizio e fine dell'alta stagione (espressa come mese e giorno)

Ad esempio:\

Antares;****;130000;0122;0318

Granvara;*****;170000;0122;0318

Ingram;**;90000;0115;0315

Laurin;***;110000;0120;0315

Sporthotel;****;140000;0115;0320

Scrivere un programma C che legga ciclicamente da tastiera un carattere indicante un'operazione da eseguire; i valori consentiti per tale carattere e le rispettive operazioni sono:

'V' visualizza (a video) l'elenco degli hotel in ordine alfabetico;

'G' genera 5 file di testo, HOTEL1.TXT...HOTEL5.TXT, contenenti ciascuno i dati degli hotel della corrispondente categoria, un hotel per riga, in ordine decrescente di prezzo: in ogni riga occorre riportare il nome dell'hotel, il prezzo della stanza, e la data iniziale e finale di applicazione della tariffa di alta stagione;

'R' chiede all'utente da input una categoria (da "*" a "*****"), un costo massimo e una data, e stampa a video l'elenco degli hotel di quella categoria in cui la stanza, nel giorno richiesto (ricordare il supplemento alta stagione del 30%), abbia un prezzo non superiore al massimo fornito.

'U' uscire dal programma;

Per motivi di efficienza, occorre caricare il contenuto del file "HOTEL.DAT", in una opportuna struttura dati in memoria centrale.

Il programma deve essere adeguatamente commentato; le prime righe devono contenere i dati anagrafici del candidato (nome, cognome, matricola ed e-mail), ben evidenziati.

Al termine della prova consegnare il programma tramite floppy disk; 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 Hotel (il cui nome 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 memorizzino i dati in 5 differenti alberi binari di ricerca, ciascuno dei quali conterrà i dati corrispondenti ad una categoria di alberghi. Per semplicità si ipotizzi che a parità di categoria non esistano due alberghi che hanno lo stesso costo per le camere.