Università di Roma "La Sapienza"
Facoltà di Ingegneria
Corso di Fondamenti di Informatica
Corso di Laurea: Ambiente e Territorio

Appello del 15 febbraio 2000 — 1ª prova scritta
tempo a disposizione: 2 ore


Problema 1 (18 punti) Una società sportiva registra in un file tutti i dati relativi alle gare di nuoto effettuate dai suoi atleti. In particolare, per ogni gara a cui ha partecipato almeno un suo atleta sono registrate nel file le seguenti informazioni:

Si richiede di risolvere i seguenti punti:

  1. Scrivere le dichiarazioni dei tipi di dato C da utilizzarsi per risolvere i punti successivi.
  2. Scrivere una funzione C (o più) che, dati:
    - il nome fisico del file che contiene i dati della società,
    - un carattere c che rappresenta uno stile ed
    - un intero i che rappresenta la lunghezza della gara,
    restituisca il tempo medio riportato dai nuotatori che si sono piazzati al primo posto in gare di lunghezza i effettuate nello stile rappresentato da c. Se non ci sono stati nuotatori che si sono piazzati al primo posto nelle gare predette, ciò deve essere opportunamente segnalato.
  3. Scrivere una funzione C (o più) che, dato il nome fisico del file che contiene i dati della società, costruisca e restituisca una lista contenente tutti e soli i nomi degli atleti che sono risultati primi in almeno due gare differenti. Il verso della lista è a scelta dello studente.