• Non ci sono risultati.

Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 19 settembre 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 19 settembre 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 19 settembre 2016

Esercizio 1 (15 punti)

Due file ASCII rappresentano, rispettivamente, l’immagine campione di un soggetto e un’immagine, più grande, contenente nessuna, una o più copie di tale soggetto. Il primo file (soggetto.dat, nell’esempio a destra) contiene una matrice di 8 x 8 caratteri (nell’esempio i soli caratteri utilizzati sono la lettera ‘P’ e lo spazio, ma potrebbero anche essere molti di più). Il secondo file, (immagine.dat, nell’esempio) contiene una matrice di 20 x 20 caratteri.

Nell’immagine il soggetto:

- mantiene sempre la dimensione originale di 8 x 8 caratteri - è sempre orientato come nel file originale

- può non comparire da solo (come nell’esempio, in cui è presente anche un altro soggetto)

- non si sovrappone mai ad un’altra copia del soggetto stesso né ad altri soggetti, neanche nei caratteri contenenti spazi (in pratica, ogni replica del soggetto occupa da sola l’intera porzione dell’immagine di 8 x 8 caratteri).

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 del soggetto presenti nell’immagine (3, nell’esempio sopra riportato).

Esercizio 2 (15 punti)

Si dispone di un file contenente i dati storici di titoli di borsa, con nome (senza spazi) e codice, nel formato che si evince dall’esempio a fianco. La lunghezza del file è ignota, ma il massimo numero di titoli differenti che vi possono comparire è pari a 100.

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file contenente una serie storica come sopra descritta e stampi, per ogni titolo, il valore massimo raggiunto e la data in cui è stato raggiunto, nel seguente formato (relativamente all’esempio):

ITAETH (EUROTECH) 1 gennaio 2009: 3.6400 ITAPLT (PARMALAT) 1 gennaio 2009: 1.6720 ITASTM (STMICROELECTR) 3 aprile 2009: 7.80 ITAOL (TELECOM_ITALIA) 2 febbraio 2009: 1.1020 ITADMH (DUCATI_MOTOR_H) 3 maggio 2009 1.960

Si osservi che se un titolo nella serie compare più volte con lo stesso valore massimo va stampata solo la prima data con cui compare.

Suggerimenti:

 Si definisca un vettore i cui elementi siano costituiti da un’opportuna struttura dati struct titoli adatta a rappresentare un titolo di borsa.

 Per popolare correttamente tale vettore si scriva ed utilizzi la funzione

indice_del_titolo (struct titoli anagrafe_titoli[], int n_titoli, char codice_titolo[])

che restituisce l’indice del titolo cercato codice_titolo, se già presente nel vettore, e -1 altrimenti.

PPPPP PP PP PPPPP PP PP PP PP PP PP PP PP PPPPP PP PP PP PPPPP PP PP PP PP PP PPPPP PP PP PPPPP PP PP PP PP PP PP PP PP PPPPP PP PP PP PP PPPPP PP PP PP PP PP PP PP

immagine.dat

PPPPP PP PP PP PP PP PP PPPPP PP PP PP

soggetto.dat

EUROTECH ITAETH 01/01/2009 3.6400 PARMALAT ITAPLT 01/01/2009 1.6720 STMICROELECTR ITASTM 01/01/2009 7.6050 EUROTECH ITAETH 02/01/2009 3.500 STMICROELECTR ITASTM 02/02/2009 7.6050 TELECOM_ITALIA ITAOL 02/02/2009 1.1020 EUROTECH ITAETH 03/04/2009 3.5500 PARMALAT ITAPLT 03/04/2009 0.980 STMICROELECTR ITASTM 03/04/2009 7.80 DUCATI_MOTOR_H ITADMH 01/05/2009 1.6750 DUCATI_MOTOR_H ITADMH 03/05/2009 1.960 PARMALAT ITAPLT 02/06/2009 1.150 DUCATI_MOTOR_H ITADMH 02/06/2009 1.880

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

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

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,