Corso di Fondamenti di Informatica - A.A. 2001/2002
Corsi di Laurea in Ingegneria Elettronica N.O. e V.O. e
Telecomunicazioni V.O.

Appello del 15/07/2002
1a prova scritta

tempo a disposizione: 2 ore

Problema 1 (18 punti)

Su di un pullman sono disponibili 50 posti, numerati da 1 a 50. I posti già assegnati sono memorizzati (in ordine qualsiasi) in una lista in memoria centrale, rappresentata tramite strutture (record) e puntatori. Ogni elemento della lista contiene

Si richiede di risolvere i seguenti punti:

  1. Progettare le strutture di dati da utilizzarsi per risolvere i punti 2 e 3.

  2. Progettare una funzione C (o funzione/procedura Pascal) che, presi in ingresso attraverso opportuni parametri la lista con i posti già assegnati e una città di destinazione

  3. Progettare una funzione C (o funzione/procedura Pascal) che, presi in ingresso attraverso opportuni parametri assegni al passeggero il primo (in base al numero) posto libero e aggiorni la lista inserendovi il nuovo assegnamento (con numero del posto, nome del passeggero e città di destinazione). Nella soluzione si tenga presente che la lista non è ordinata in alcun modo.



Corso di Fondamenti di Informatica - A.A. 2001/2002
Corsi di Laurea in Ingegneria Elettronica N.O. e V.O. e
Telecomunicazioni V.O.

Appello del 15/07/2002
2a prova scritta

tempo a disposizione: 1 ora

Problema 2 (4 punti)

Descrivere i diversi modi attraverso cui in un programma C/Pascal, le diverse unità di programma possono scambiarsi informazioni. Per ciascuna modalità descritta fornire un esempio di applicazione.

Problema 3 (4 punti)

Descrivere la struttura dell'unità centrale ed illustrarne il funzionamento.

Problema 4 (4 punti)

Fornire le dichiarazioni di tipo C/Pascal per rappresentare, tramite strutture/record e puntatori, alberi binari in cui ciascun nodo è etichettato con un intero. Scrivere poi una funzione C/Pascal che, preso in ingresso un albero binario, restituisca alla funzione chiamante il numero di foglie dell'albero.