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
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
- il numero del posto,
- il nome del passeggero (stringa di al più 20 caratteri) e
- la città di destinazione (stringa di al più 15 caratteri).
Si richiede di risolvere i seguenti punti:
- Progettare le strutture di dati da utilizzarsi per risolvere i punti 2
e 3.
- 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
- scriva su di un file, il cui nome è la città di destinazione, il
numero di posto ed il nome di tutti i passeggeri diretti a tale città, e
- restituisca alla funzione chiamante quanti sono tali passeggeri.
- Progettare una funzione C (o funzione/procedura Pascal) che, presi in
ingresso attraverso opportuni parametri
- la lista con i posti già assegnati,
- il nome di un passeggero e
- una città di destinazione,
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
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.
Descrivere la struttura dell'unità centrale ed illustrarne il funzionamento.
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.