• 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

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

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