Corso di Fondamenti di Informatica - A.A. 2000/2001
Corsi di Laurea in Ingegneria Elettronica (V.O.) e
Ingegneria delle Telecomunicazioni (V.O.)

Appello straordinario del 17 dicembre 2001 - 1a prova scritta

tempo a disposizione: 2 ore

Problema 1 (18 punti)

In una facoltà universitaria le informazioni relative ai corsi sono memorizzate in una tabella. Ogni riga della tabella è relativa a un singolo corso (200 è il numero massimo di corsi) e contiene le seguenti informazioni:

  1. Si dichiarino le strutture dati necessarie per rappresentare le tabelle suddette e per risolvere i quesiti nei punti 2 e 3.
  2. Scrivere una funzione/procedura (eventualmente più di una) tale che, data in ingresso la tabella dei corsi e un anno di corso, restituisca una lista ordinata, rappresentata mediante record e puntatori, contenente gli esami relativi a quell'anno di corso. La lista deve essere ordinata per numero di studenti in ordine crescente (si consiglia di costruire la lista in modo ordinato). Per ogni esame devono essere riportate le informazioni relative al numero di studenti iscritti a quel corso e il nome del docente.
  3. Utilizzando le procedure/funzioni definite al punto precedente, scrivere una procedura/funzione (eventualmente più di una) che stampi le seguenti informazioni statistiche:



Corso di Fondamenti di Informatica - A.A. 2000/2001
Corsi di Laurea in Ingegneria Elettronica (V.O.) e
Ingegneria delle Telecomunicazioni (V.O.)

Appello straordinario del 17 dicembre 2001 - 2a prova scritta

tempo a disposizione: 1 ora

Problema 2 (4 punti)

Descrivere le conversioni di base da un sistema di numerazione ad un altro, sia nel caso di basi potenza una di un'altra che nel caso di basi diverse.

Problema 3 (4 punti)

Descrivere il tipo di dato pila, fornire una sua rappresentazione concreta e l'implementazione in Pascal delle operazioni elementari.

Problema 4 (4 punti)

Descrivere l'algoritmo di ordinamento merge-sort, fornendo la sua descrizione o in Pascal oppure in pseudo codice. Discutere la sua complessità.