Corso di Programmazione - Prova Pratica - 23 luglio 2002


I dati relativi agli iscritti ad un corso di laurea sono memorizzati in una tabella bidimensionale di caratteri, le cui righe contengono informazioni relative ad un singolo studente.

Ad esempio la tabella:

C62744328197802078
C62747726197703099
C63745543197802100
C62777666197812070

contiene informazioni relative a 4 studenti. L'informazione è codificata nel modo seguente:

La tabella sarà un elemento del tipo Dati definito nel modo seguente:

#define M 18 // numero di caratteri di ogni riga
typedef char Dati[][M];


Esercizio 1: Implementare la seguente funzione:

int stessa_maturita(Dati d, int numero_studenti, int codice_maturita);

La funzione stessa_maturita deve restituire il numero degli studenti rappresentati nella tabella d, che ha un numerodi righe significative pari a numero_studenti, che posseggono il titolo di studio il cui codice (rappresentato come numero intero) è uguale al parametro codice_maturita.


Esercizio 2: Implementare la seguente funzione:

double media_voti(Dati d, int numero_studenti, int year);

La funzione media_voti prende come parametro attuale una tabella d, che ha un numerodi righe significative pari a numero_studenti, e restituisce la media dei voti di matuità degli studenti il cui anno di nascita è uguale al parametro attuale year.


La modalità di consegna dell'esame è analoga a quella delle esercitazioni durante il corso: è sufficiente inviarlo come esercitazione numero 129. Bisogna inserire esclusivamente la definizione delle procedure, per consentirne la correzione automatica.