• Non ci sono risultati.

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
1
0
0

Testo completo

(1)

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

Esercizio 1 (punti 15) Un file contiene una sequenza (di lunghezza massima 1000) di interi separati da una virgola e uno spazio. Come esempio, si consideri il seguente file

14, -3, 14, 7, 91, 12, 14, -3, 2, 14, 1, 4

Si scriva una funzione C che prenda come parametri i nomi di due file siffatti e restituisca 1 se essi contengono esattamente gli stessi valori, 0 altrimenti. Nel caso in cui un valore compaia pi`u volte, il numero di occorrenze deve essere lo stesso nei due file. L’ordine con cui compaiono non `e significativo.

Ad esempio, se i due file passati come parametri sono quello mostrato sopra e il seguente -3, 14, 1, 7, 4, 14, 12, -2, 14, 91, 3

la funzione deve restituire 0 in quanto il valore 14 compare 4 volte nel primo file e 3 nel secondo.

Esercizio 2 (punti 15) Le immagini bitmap sono rappresentate mediante una matrice di punti (pixel) ciascuno dei quali `e descritto da una tripletta di colori RGB, che contiene i valori di intensit`a, da 0 a 255, dei tre colori fondamentali: rosso, verde e blu. Si considerino dei file bitmap organizzati come segue: la prima riga contiene, nell’ordine, i due numeri interi N e M che rappresentano il numero di righe e il numero di colonne della matrice di pixel; poi il file contiene le triplette che rappresentano i pixel (un pixel per riga) a partire dalla prima riga, prima colonna (pixel in alto a sinistra nell’immagine), e procedendo con tutte le colonne della riga. Ogni pixel `e rappresentato dai tre numeri nella sequenza:

rosso, verde, blu.

Ad esempio, il file seguente rappresenta un’immagine 4 × 3 (4 righe e 3 colonne) con un punto in alto a sinistra bianco (i tre colori sono al massimo dell’intensit`a) e il resto della prima riga nero (tutti zeri); poi una riga grigia, e due righe con punti rossi (255, 0, 0), verdi (0, 255, 0), blu (0, 0, 255), azzurri (0, 255, 255), gialli (255, 255, 0) e magenta (255, 0, 255).

4 3

255 255 255

0 0 0

0 0 0

127 127 127 127 127 127 127 127 127 255 0 0 0 255 0 0 255 255 0 0 255 255 255 0 255 0 255

Si considerino inoltre le seguenti definizioni di tipo che rappresentano rispettivamente un pixel e una associazione tra un valore intero (che rappresenta l’altitudine) ed un pixel.

struct Pixel struct Colore

{ {

int r; struct Pixel pixel;

int g; int altitudine;

int b; };

};

Si scriva una funzione C che prenda come parametri:

• una matrice quadrata di interi m (che rappresenta l’altitudine di una zona di terreno) e la sua dimensione n (al massimo 100);

• il nome di un file di uscita;

• un vettore v di tipo struct Colore e la sua dimensione k.

La funzione deve scrivere sul file l’immagine bitmap corrispondente alla matrice m sostituendo a ciascun valore di altitudine la tripletta corrispondente nel vettore v.

Riferimenti

Documenti correlati

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) 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

Esercizio 1 (punti 15) Un file contiene delle informazioni riguardanti la media dei voti degli esami sostenuti da alcuni studenti, uno per riga.. In dettaglio, ciascuna riga `e