• Non ci sono risultati.

Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 15 febbraio 2016

N/A
N/A
Protected

Academic year: 2021

Condividi "Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 15 febbraio 2016"

Copied!
1
0
0

Testo completo

(1)

Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I

Prova scritta del 15 febbraio 2016

Esercizio 2 (15 punti)

Un file di testo contiene la descrizione dei salti, uno per riga, di un punto in un piano rappresentato da una matrice di interi di dimensioni 20x20. La posizione iniziale del punto sia { 0, 0 } e la descrizione dei salti sia nel formato deducibile dal seguente esempio:

x +3; y +15; x +8; y -5; x -3; y +7; x -2;

y -12; x +9;

Una riga del file può contenere uno o più salti, il primo termine identifica la coordinata e il secondo la lunghezza e la direzione del salto. Per esempio, se la posizione corrente del punto è { 10, 10 } il salto y +5; porta il punto nella posizione { 10, 15 }, e il successivo salto x -2; porta il punto nella posizione { 8, 15 }.

Si scriva un programma che riceva sulla linea di comando il nome di un file di salti nel formato di cui sopra, tracci nella matrice i salti in esso descritti e disegni sul video il percorso effettuato dal punto. In ogni posizione della matrice in cui il punto approda va scritto il numero progressivo del salto (attribuendo 1 alla posizione di partenza). Qualora il punto passi più volte nella stessa posizione, la cella dovrà riportare solo il numero dell’ultimo salto.

Nel caso dell’esempio sopra riportato, il programma deve stampare il disegno qui di fianco (gli assi x e y di riferimento sono quelli delle normali coordinate cartesiane).

Esercizio 2 (15 punti)

Un file di testo contiene le date di nascita e il soprannome di un numero imprecisato di persone. Ogni riga contiene i dati di una persona, nel formato che può essere dedotto dall’esempio a lato. Si osservi che i nomi dei mesi sono sempre indicati dalle prime tre lettere minuscole del nome in italiano e che i soprannomi sono sempre composti da una sola parola.

Si assuma già disponible la funzione int confronta_date (struct data d1, struct data d2); che, ricevendo le due date nella consueta struttura struct data composta da tre campi interi, restituisce 0 se le due date sono uguali, un valore minore di zero se la data d1 è precedente a d2 e un valore maggiore di zero altrimenti.

Si scriva una funzione in linguaggio C che riceva come argomenti il puntatore a un file di testo nel formato sopra descritto (il file è quindi già stato aperto dalla funzione chiamante) e che restituisca, in un’apposita struttura, soprannome e data di nascita della persona più giovane presente nel file. Per semplicità si può assumere che il file contenga sempre almeno una riga di dati. Nel caso in cui siano più persone di età minima nate esattamente lo stesso giorno dovrà essere restituita la prima di esse presente nel file.

3-feb-1970: DarthVader 23-ago-1968: Spider 18-set-2000: Quercia

1-nov-1998: ColpoDellaStrega . . . . . . . . . . . 8 . 7 . . . . . . . . . . . 3 . . . 4 . . . . . . . . . . . . . . . . . . . . . . . 6 . . 5 . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . 10 . . . . . . . . . . . . . . . . . . . . 1 . . 2 . . . .

Riferimenti

Documenti correlati

Si scriva una funzione in linguaggio C che riceva come argomenti un vettore di stringhe, contenenti ciascuna il nome di un file del tipo sopra descritto, e un

Si scriva una funzione che riceva come argomenti il nome del file di equivalenze sopra descritto, il nome di un file di grandezze (con i punti interrogativi) e il nome di un file

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file di dizionario nel formato dell’esempio sopra riportato e il nome di un file

Al termine dell’esecuzione delle operazioni specificate nel file di ingresso il programma dovrà stampare i valori contenuti in tutte e sole le celle di memoria che

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di due file come quelli sopra descritti e stampi il numero delle repliche

Poiché gli identificatori (numeri) delle tessere sono univoci e nella griglia è presente una sola posizione vuota, ogni mossa può semplicemente essere indicata

Per fare questo, si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file come sopra descritto e stampi l’elenco dei

Successivamente, per ogni cifra del tentativo non ancora utilizzata si cerca lo stesso valore tra le cifre non ancora utilizzate del numero segreto e, se lo si trova,