• Non ci sono risultati.

Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 10 settembre 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 10 settembre 2010"

Copied!
1
0
0

Testo completo

(1)

Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 10 settembre 2010

Esercizio 1 (punti 15) Un file contiene le informazioni sui recapiti di una serie di persone, ciascuno su una riga, secondo il formato dell’esempio seguente

Pietro Savorgnan di Brazza’, Via Brazzaville, 33040 Povoletto (UD) Giacomo Leopardi, Via Ginestra 123/A, 62019 Recanati (AN)

Galileo Galilei, Campo dei miracoli 1, 56100 Pisa (PI) Carlo Goldoni, Calle Marco Polo 2A, 30100 Venezia (VE)

Filippo Rossi, Via della quercia 72, 33040 Savorgnano del Torre (UD)

in cui il nome e l’indirizzo sono seguiti da una virgola e la sigla della provincia ` e racchiusa tra parentesi.

Inoltre, si consideri un vettore di tipo struct Provincia (definita qui sotto) che contiene tutte le corrispondenze tra il nome di una provincia e la sua sigla.

struct Provincia {

char Nome[31];

char Sigla[3];

};

Si scriva una funzione C che prende come parametri il nome di un file nel formato specificato, il vettore delle province (e la sua lunghezza), il nome di una provincia e una stringa contenente un CAP. La funzione deve restituire il numero di persone presenti nel file la cui residenza corrisponde alla provincia e al CAP passati come argomenti alla funzione.

Per il file di esempio, se alla funzione vengono passati i valori Udine e 33040 il risultato restituito deve essere 2.

Esercizio 2 (punti 10) Si consideri un campionato di calcio a n squadre a girone unico (solo andata), in cui ciascuna squadra ` e identificata da un valore numerico compreso fra 0 e n − 1.

Una matrice quadrata di interi A di dimensione n × n contiene i gol segnati dalle squadre.

In dettaglio, l’elemento A

ij

rappresenta il numero di gol segnati dalla squadra i alla squadra j, mentre A

ji

` e in numero di gol segnati dalla squadra j alla squadra i nella stessa partita.

Ovviamente gli elementi A

ii

sulla diagonale principale della matrice vanno ignorati, e pos- siamo assumere che essi valgano 0.

Il numero di punti di ciascuna squadra ` e calcolato nel modo seguente: 3 punti per la vittora, 1 per il pareggio, 0 per la sconfitta. Vince la partita la squadra che segna pi` u gol.

Si scriva una funzione C che prende come parametri (i) una matrice quadrata secondo il formato descritto e di dimensione fisica 100 × 100, (ii) il numero di squadre n (con n ≤ 100) e (iii) un vettore di interi v di n elementi. La funzione deve modificare il vettore v inserendo in ciascun elemento v[i] il numero totale di punti della squadra i.

Ad esempio, nel caso della seguente matrice 4 × 4

0 2 1 1

0 0 1 2

3 0 0 1

1 4 2 0

il valore di v in uscita sar` a {4, 3, 3, 7}.

Esercizio 3 (punti 5) Si scriva la funzione main() per l’esercizio 2 in modo che legga la

matrice da tastiera e stampi i valori del vettore.

Riferimenti

Documenti correlati

Si scriva un programma in linguaggio C che riceva sulla linea di comando il nome di un file contenente le giocate come sopra descritto e stampi il punteggio dei due

Per fare questo, si vuole aggiungere al testo originale l’elenco dei sinonimi di ogni parola presente nel dizionario dei sinonimi sopra descritto, accodandoli

"Avatar": Sam Worthington, Zoe Saldana, Sigourney Weaver, Stephen Lang, Michelle Rodriguez. "Everest": Josh Brolin, Jason Clarke, John Hawkes, Robin Wright,

Si scriva un programma che riceva sulla riga di comando il nome di un file siffatto e una destinazione e stampi i codici di tutti i treni che raggiungono tale destinazione in

Si scriva un programma in linguaggio C che riceva come argomenti sulla riga di comando il nome della località e una data e chiami la funzione descritta nell’esercizio

Esercizio 2 (6 punti) Scrivi un metodo statico (comprensivo di prototipo) che prende in ingresso (cioè come parametro) tre numeri interi e che restituisce il maggiore

Esercizio 2 (6 punti) Scrivi un metodo statico (comprensivo di prototipo) che prende in ingresso (cioè come parametro) una matrice di interi e che restituisce la somma degli

Si assumano gi` a disponibili la definizione del tipo struct Data (nel classico formato a tre campi) e la funzione int ComparaDate(struct Data d1, struct Data d2), che restituisce -1