Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I
Prova scritta del 13 febbraio 2015
Esercizio 1 (15 punti)
Un file ASCII contiene una sequenza di numeri positivi o nulli rappresentati, cifra per cifra, in forma testuale. Ogni riga rappresenta un numero e la prima parola (terminata da ‘:’, senza spazi) indica il numero di cifre (massimo nove) di cui è composto il numero.
Per esempio, il file contenente le righe
tre: sette otto uno uno: zero
due: cinque sei
rappresenta i numeri 781, 0, 56.
Si scriva una funzione in linguaggio C che riceva come argomento il nome di un file siffatto e restituisca la media dei valori dei numeri rappresentati.
Esercizio 2 (15 punti)
Un file contiene i dati relativi ad una gara di pattinaggio artistico femminile individuale nella quale ogni concorrente ha ricevuto dalla giuria 8 voti (numeri interi da 1 a 9). Dal seguente esempio si può evincere il formato del file:
Laura, Del Nero: 8, 7, 7, 8, 8, 9, 7, 7;
Federica, Rossi: 8, 6, 8, 8, 6, 7, 6, 7;
Maria Paola, Della Valle di Sopra: 9, 8, 8, 7, 9, 9, 9, 8;
Il punteggio finale di ciascuna concorrente è calcolato sommando i punteggi ricevuti escluso i due voti di valore massimo e minimo. Nell’esempio precedente, quindi, la prima concorrente ottiene il punteggio totale di 45 (si elimina il 9 e un 7, ottenendo 8+0+7+8+8+0+7+7), la seconda 42 (si elimina un 8 e un 6, ottenendo 0+0+8+8+6+7+6+7) e la terza 51 (si elimina un 9 e il 7, ottenendo 0+8+8+0+9+9+9+8).
Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file nel formato sopra descritto e stampi sul monitor il nome e il punteggio totale della vincitrice.
Con il file dell’esempio sopra riportato il programma deve stampare:
Ha vinto Maria Paola Della Valle di Sopra con punti 51.