• Non ci sono risultati.

Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 26 gennaio 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 26 gennaio 2010"

Copied!
1
0
0

Testo completo

(1)

Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 26 gennaio 2010

Esercizio 1 (punti 16) Un file contiene informazioni su comune e data di nascita su un insieme di persone¿ le persone sono una per riga e numerate in ordine crescente. Le informazioni sono scritte nel formato che si evince dal seguente esempio.

1. Mario, Rossi; 13/2/1980 Aviano

2. Giuseppe, De Rossi; 12/4/1987 Chiopris-Viscone 3. Giulio Maria, De Verdi; 12/12/1986 Codroipo

4. Francesca, Rossi Gialli; 1/11/1991 Fogliano_Redipuglia 5. Giovanna, Neri; 21/3/1988 Camino_al_Tagliamento

Si noti che nome e cognome (massimo 20 caratteri ciascuno) possono contenere spazi bianchi, mentre il nome del comune (massimo 30 caratteri) non li pu`o contenere.

Si consideri inoltre un vettore, del tipo struct Locazione definito come segue, che determina la provincia di appartenenza di ciascun comune. Come esempio si consideri il vettore a destra.

struct Locazione {

char comune[31];

char provincia[3];

};

comune provincia

Aquileia UD

Aviano PN

Azzano Decimo PN

Camino al Tagliamento UD Capriva del Friuli GO Chiopris-Viscone UD

Codroipo UD

Fogliano Redipuglia GO

Grado GO

Si scriva una funzione C che riceva come parametri il nome di un file di persone nel formato illu- strato, un vettore di Struct Locazione e la sua dimensione, e una stringa contenente una provincia.

La funzione deve stampare sul video nome, cognome e numero tra parentesi delle persone che sono nate in un comune della provincia passata come parametro.

Ad esempio, se la provincia passata come parametro `e "UD", il vettore e il file sono quelli precedenti, allora la funzione deve stampare i seguenti nomi

Giuseppe De Rossi (2) Giulio Maria De Verdi (3) Giovanna Neri (5)

Esercizio 2 (punti 14) Si considerino le seguenti definizioni di tipo che rappresentano ripsettivamente un punto e un cerchio nel piano cartesiano.

struct Punto struct Cerchio

{ {

float x; struct Punto centro;

float y; float raggio;

}; };

Si scriva una funzione C che prenda come parametri un punto p nel piano e un vettore di cerchi (e la sua dimensione) e restituisca il punto che rappresenta il centro del pi`u piccolo cerchio del vettore che contiene il punto p. Nel caso che nessun cerchio appartenente al vettore contenga p la funzione deve restituire il punto (0.0, 0.0), cio`e l’origine degli assi.

Riferimenti

Documenti correlati

"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

• Sul dischetto che ti è stato dato trovi già i file delle classi GestoreDiStringhe e TestGestoreDiStringhe e gli scheletri dei metodi che devi implementare.. Dovrai pertanto

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

La funzione deve inoltre restituire il valore 1 nel caso in cui almeno una delle locazioni del file non sia presente nel vettore; deve restituire 2 nel caso in cui si verifichi