Dipartimento di Elettronica, Informazione e Bioingegneria 20133 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.3411 Politecnico di Milano Informatica ed Elementi di Informatica Medica Settembre 25, 2014 Prof. Marco D. Santambrogio Nome Cognome Tema A Tema B Tema C Esercizio 1 (33%) Esercizio 2 (33%) Esercizio 3 (34%) Totale Lo studente DEVE selezionare UNO tra i tre temi proposti e svolgere SOLO ed UNICAMENTE gli esercizi del temi selezionato, consegnando UN SOLO foglio protocollo! Il tempo previsto per il completamento della prova (Info + Elementi di medica) è di 3 e 15’ ore: Elementi di medica 75 minuti, a seguire 2 ore per Informatica. La prova di informatica è superata con un minimo di 60 punti su 100. Inserendo nel campo nome, oltre al proprio nome, anche la scritta IEIM, può scegliere di non fare un exe tra quelli proposti nel tema d’esame C. Gli orali sono obbligatori nella fascia 55-65. Una insufficienza viene considerata non grave, se non inferiore a 50 punti so 100. E’ possibile portare all’esame libri, appunti, slide. NON è possibile tenere acceso alcun dispositivo elettronico (e.g. portatile, cellulare, calcolatrice, tablet, etc.). Gli studenti che verranno trovati a copiare, a far copiare, o con dispositivi elettronici accessi verranno automaticamente ESPULSI dalla prova. Gli eventuali orali dei compiti per la parte di INFO si terranno dalle 8.30am del 2 Ottobre in D02. Tema d’esame A Esercizio 1 Scrivere una funzione C che, preso in ingresso un numero intero positivo X ed un numero intero positivo K, stampi a video la rappresentazione di X in base K. Si scriva anche un main che permetta di testare la funzione. Se invece di stampare la rappresentazione di X in base K, questa si fosse dovuta “ritornare” al chiamante, come sarebbe cambiato il tutto? Quali considerazioni sui dati, ed il loro tipo/formato, si sarebbero dovuti fare? Si scriva in C la nuova funzione. Esercizio 2 Si definisce matrice trasposta AT di A la matrice ottenuta scambiando ordinatamente le righe con le colonne della matrice A. In pratica, l’elemento a(i,j) della matrice A diventa l’elemento a(j,i) della matrice AT. Si scriva una funzione in C che, data la matrice A di MxN numeri reali, la restituisca trasposta. Questo significa che la matrice trasposta deve essere salvata sull’originale A. NOTA: non è lecito creare una matrice X, andare a popolarle come la trasposta di A, e quindi copiare X su A. Esercizio 3 Dato un array di caratteri, chiamato HYPER, di 7 dimensioni definite da 7 numeri interi positivi: A, B, C, D, E, F, G. Come noto, HYPER viene salvato in memoria come un array monodimensionale di DIM caratteri, con DIM = A*B*C*D*E*F*G. Si scriva in C una funzione che, dato un intero X compreso tra 0 e DIM-1, ritorna al chiamante le coordinate a, b, c, d, e, f, g in cui l’elemento si trova in HYPER. Tema d’esame B Esercizio 1 In presenza delle seguenti dichiarazioni: typedef struct{ int d1: int d2; } dispari; dispari arrayCoppieDispari[100]; si scriva un nuovo frammento di codice C per fare in modo che, dato un valore n intero positivo letto da tastiera, il programma trovi le prime n coppie di numeri dispari, le memorizzi in arrayCoppieDispari e le stampi a video. Quindi, per esempio, leggendo da tastiera il valore n=4, il frammento di codice dovrà memorizzare nell'array arrayCoppieDispari e stampare a video i seguenti valori: <d1: 1, d2: 3>, <d1: 3, d2: 5>, <d1: 5, d2: 7>, <d1: 7, d2: 9>. Esercizio 2 Si scriva la dichiarazione di un’immagine img, come matrice di 800x600 colori. I colori ammissibili sono Rosso, Giallo, Verde, Blu, Bianco e Nero. Si scriva quindi in C una funzione colori che ricevuto in ingresso img (e basta?), restituisce alla funzione chiamante, tramite una solo invocazione della funzione colori, per ciascun colore, il numero dei pixel che hanno quello specifico colore. Esercizio 3 In matematica, la congettura di Goldbach è uno dei più vecchi problemi irrisolti nella teoria dei numeri. Essa afferma che ogni numero pari maggiore di 2 può essere scritto come somma di due numeri primi (che possono essere anche uguali). Si scriva quindi una funzione in C che, dato un numero pari, stampa a video i due numeri primi che sommati lo compongono. Esempio: 4=2+2 6=3+3 8=3+5 10 = 3 + 7 = 5 + 5 12 = 5 + 7 14 = 3 + 11 = 7 + 7 etc. Tema d’esame C Esercizio 1 Si scriva in C una funzione che dati due array K e X, uno di caratteri e uno di interi (ammette solo interi maggiori o uguali a 0), permetta di sapere le occorrenze dei caratteri in K. NOTA: le dimensioni di K e X devono essere decise da voi. Tali dimensioni devono essere sensate. Esercizio 2 Data la seguente sequenza: 1 – riga nota e data! 11 – guardate la riga precedente! 21 1112 3112 211213 312213 212223 Trovata la legge che porta da una riga a quella successiva (nota, la riga i-esima dipende solo e solamente da quella precedente). Si scriva in C la funzione che, data una riga, restituisce la riga successiva. Esercizio 3 Si scriva una funzione in C che, data una riga come da esercizio 2, ritorna la riga precedente. NOTA: in questo caso, la rappresentazione della riga calcolata NON è univoca.
© Copyright 2024 Paperzz