Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2...
Transcript of Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2...
![Page 1: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/1.jpg)
Corso di Laboratorio di InformaticaIngegneria Clinica – BCLR
3
Esercizi Esame
Domenico Daniele Bloisi
![Page 2: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/2.jpg)
Docente
Ing. Domenico Daniele Bloisi, PhDRicercatore
Dipartimento di Ingegneria Informatica, Automaticae Gestionale “Antonio Ruberti”Via Ariosto 25(adiacente Piazza Dante,
fermate Manzoni, Vittorio Emanuele,
Tram 3 fermata via Labicana)
Email: [email protected]
Home page: http://www.dis.uniroma1.it/~bloisiPagina 22013/2014Esercizi Esame
3
![Page 3: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/3.jpg)
Ricevimento
In aula, subito dopo le lezioni Su appuntamento (tramite invio di una email) presso: Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti, via Ariosto 25 - II piano, stanza A209
Si invitano gli studenti a controllare regolarmente la bacheca degli avvisihttp://www.dis.uniroma1.it/~bloisi/didattica/labinf1314.html#Avvisi
Pagina 32013/2014Esercizi Esame3
![Page 4: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/4.jpg)
Orari
Lunedì 12.00 – 13.30 Aula 15, via Scarpa 14
Lunedì 14.00 – 17.15Aula 15, Laboratorio Didattico via Tiburtina 205
Martedì 14.00 – 15.30 Aula 16, via Scarpa 14
Mercoledì 12.00 – 13.30 Aula 15, via Scarpa 14
Pagina 42013/2014Esercizi Esame3
![Page 5: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/5.jpg)
Esercizio 1
Pagina 52013/2014Esercizi Esame3
Scrivere una funzione trasp che, dati in ingresso una matrice (rappresentata tramite puntatore a puntatore), la dimensione delle righe e la dimensione delle colonne, restituisca una nuova matrice (rappresentata tramite puntatore a puntatore) che sia la trasposta della matrice in ingresso.
Esempio
1 2 3 1 22 3 1 2 3 3 1
Inoltre, scrivere ...
![Page 6: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/6.jpg)
Esercizio 1
Pagina 62013/2014Esercizi Esame3
Inoltre, scrivere una funzione main che verifichi il comportamento della funzione traspLa matrice di cui si vuole calcolare la trasposta deve essere recuperata da file.Il formato del file in ingresso sarà:<R> <C><dato0> <dato1> … <datoC-1>…<datoR-1> <dato1> … <datoC-1>
2 33 3 54 62 71
Esempio
![Page 7: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/7.jpg)
Soluzione Esercizio 1
Pagina 72013/2014Esercizi Esame3
//dichiarazione della funzione traspint** trasp(int**, int, int);
![Page 8: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/8.jpg)
Soluzione Esercizio 1
Pagina 82013/2014Esercizi Esame3
int** trasp(int** mat, int r, int c){int i;int j;int** t = malloc(c * sizeof(int*));if(t == NULL)
return NULL;for(i = 0; i < c; i++) {
t[i] = malloc(r * sizeof(int));if(t[i] == NULL)
return NULL;}for(i = 0; i < r; i++) {
for(j = 0; j < c; j++) {t[j][i] = mat[i][j];
}}return t;
}
Definizione della funzionetrasp
![Page 9: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/9.jpg)
Soluzione Esercizio 1
Pagina 92013/2014Esercizi Esame3
#include <stdlib.h>#include <stdio.h>
#define DEBUG 1
int main() {FILE* fd = fopen("dati.txt","r"); //FILE* fd = fopen("C:\\code\\dati.txt","r"); if(fd == NULL) {
fprintf(stderr, "Errore apertura file\n");return EXIT_FAILURE;
}else {
fprintf(stdout, "File aperto\n");}
path assoluto
path relativo
![Page 10: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/10.jpg)
Soluzione Esercizio 1
Pagina 102013/2014Esercizi Esame3
int r, c; //numero di righe e colonnefscanf(fd, "%d", &r);fscanf(fd, "%d", &c);//creazione struttura dati per memorizzare i//dati letti da fileint** M = malloc(r * sizeof(int*));if(M == NULL) {
fprintf(stderr, "Errore M\n");return EXIT_FAILURE;
}int i, j;for(i = 0; i < r; i++) {
M[i] = malloc(c * sizeof(int));if(M[i] == NULL) {
fprintf(stderr, "Errore M[%d]\n", i);return EXIT_FAILURE;
}}
![Page 11: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/11.jpg)
Soluzione Esercizio 1
Pagina 112013/2014Esercizi Esame3
//memorizzazione datifor(i = 0; i < r; i++) {
for(j = 0; j < c; j++) {fscanf(fd, "%d", &M[i][j]);
}}
#if DEBUGprintf("M\n");for(i = 0; i < r; i++) {//righe
for(j = 0; j < c; j++) {//colonneprintf("%d ", M[i][j]);
}printf("\n");
}printf("\n");
#endif
![Page 12: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/12.jpg)
Soluzione Esercizio 1
Pagina 122013/2014Esercizi Esame3
//calcolo traspostaint** T = trasp(M, r, c);if(T == NULL) {
fprintf(stderr, "Errore funzione trasp\n");return EXIT_FAILURE;
}
printf("Trasposta\n");for(i = 0; i < c; i++) {//righe
for(j = 0; j < r; j++) {//colonneprintf("%d ", T[i][j]);
}printf("\n");
}
![Page 13: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/13.jpg)
Soluzione Esercizio 1
Pagina 132013/2014Esercizi Esame3
for(j = 0; j < r; j++)free(M[j]);
free(M);for(j = 0; j < c; j++)
free(T[j]);free(T);
}
![Page 14: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/14.jpg)
Esercizio 2
Pagina 142013/2014Esercizi Esame3
Scrivere una funzione creaFileDecrescente che, preso in ingresso il nome di un file contenente interi, lo modifichi in modo da contenere gli stessi interi, ma in ordine inverso.
Esempio di file in input
![Page 15: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/15.jpg)
Esempio Esecuzione Esercizio 2
Pagina 152013/2014Esercizi Esame3
File interi.txt originale1 12 34 5 6 7 3 4 5 6 6 77 4 3 32 2 34 5 6 6 4 2 3 4 66 5 433 23 889 0 6 54
File interi.txt modificato54 6 0 889 23 433 5 66 4 3 2 4 6 6 5 34 2 32 3 4 77 6 6 5 4 3 7 6 5 34 12 1
Esempio di file in output
![Page 16: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/16.jpg)
Soluzione Esercizio 2
Pagina 162013/2014Esercizi Esame3
//prototipo per creaFileDecrescenteint creaFileDecrescente(const char* nomefile);
![Page 17: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/17.jpg)
Soluzione Esercizio 2
Pagina 172013/2014Esercizi Esame3
int creaFileDecrescente(const char* nomefile) {
FILE* fd = fopen(nomefile, "r");if(fd == NULL)
return 0;int i, count = 0, j = 0;while(!feof(fd)) {
if(fscanf(fd, "%d", &i) == 1) count++;
}
![Page 18: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/18.jpg)
Soluzione Esercizio 2
Pagina 182013/2014Esercizi Esame3
if(count == 0) return 0;
int array[count];rewind(fd);while(!feof(fd)) {
if(fscanf(fd, "%d", &i) == 1)array[j++] = i;
}fclose(fd);
![Page 19: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/19.jpg)
Funzione rewind
Pagina 192013/2014Esercizi Esame3
Syntax:#include <stdio.h>void rewind( FILE *stream );
Description:The function rewind() moves the file position indicator to the beginning of the specified stream, also clearing the error and EOF flags associated with that stream.
![Page 20: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/20.jpg)
Soluzione Esercizio 2
Pagina 202013/2014Esercizi Esame3
fd = fopen(nomefile, "w");if(fd == NULL)
return 0;for(i = count-1; i >= 0; i--)
fprintf(fd, "%d ", array[i]);fclose(fd);return 1;
}
![Page 21: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/21.jpg)
Soluzione Esercizio 2
Pagina 212013/2014Esercizi Esame3
int main() {char *nomefile = "interi.txt";FILE* fd = fopen(nomefile, "r");if(fd == NULL) {
printf("errore apertura ""file %s\n", nomefile);
exit(EXIT_FAILURE);}
![Page 22: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/22.jpg)
Soluzione Esercizio 2
Pagina 222013/2014Esercizi Esame3
int i;printf("file %s originale\n", nomefile);while(!feof(fd)) {
if(fscanf(fd, "%d", &i) == 1) {printf("%d ", i);
}}printf("\n");fclose(fd);
![Page 23: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/23.jpg)
Soluzione Esercizio 2
Pagina 232013/2014Esercizi Esame3
if(creaFileDecrescente(nomefile)) {fd = fopen(nomefile, "r");if(fd == NULL) {
printf("Errore apertura file %s\n", nomefile);
exit(EXIT_FAILURE);}printf("file %s modificato\n",
nomefile);
![Page 24: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/24.jpg)
Soluzione Esercizio 2
Pagina 242013/2014Esercizi Esame3
while(!feof(fd)) {if(fscanf(fd, "%d", &i) == 1){
printf("%d ", i);}
}printf("\n");fclose(fd);
}
![Page 25: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/25.jpg)
Soluzione Esercizio 2
Pagina 252013/2014Esercizi Esame3
else {printf( "errore in "
"creaFileDecrescente(%s)\n", nomefile);
exit(EXIT_FAILURE);}return EXIT_SUCCESS;
}
![Page 26: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/26.jpg)
Esercizio 3
Pagina 262013/2014Esercizi Esame3
Scrivere un programma che legga caratteri dalla tastiera e li scriva su un file “copia.txt” fino a che l'utente non immetta il carattere '$', nel qual caso il programma deve terminare verificando la corretta chiusura del file.
Esempiodigitare il testo da salvare$ per terminareeeeeesssssjtyrgesss$File copia.txt chiuso correttamente
![Page 27: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/27.jpg)
Esempio Output Esercizio 3
Pagina 272013/2014Esercizi Esame3
![Page 28: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/28.jpg)
Soluzione Esercizio 3
Pagina 282013/2014Esercizi Esame3
#include <stdio.h>#include <stdlib.h>
int main() {char *nomefile = "copia.txt";FILE* fd = fopen(nomefile, "w");if(fd == NULL) {
printf("errore apertura file %s\n", nomefile);
return EXIT_FAILURE;}
![Page 29: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/29.jpg)
Soluzione Esercizio 3
Pagina 292013/2014Esercizi Esame3
printf("digitare il testo da salvare\n");printf("$ per terminare\n");int c = getchar();while(c != '$' && c != EOF) {
fprintf(fd, "%c", c);c = getchar();
}
![Page 30: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/30.jpg)
Soluzione Esercizio 3
Pagina 302013/2014Esercizi Esame3
int i = fclose(fd);if(i == 0)
printf("File %s chiuso correttamente\n",nomefile);
elseprintf("Errore in chiusura per "
"il file %s\n", nomefile);return EXIT_SUCCESS;
}
![Page 31: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/31.jpg)
Esercizio 4 Vero/Falso
Pagina 312013/2014Esercizi Esame3
void f(int *a) {a[1]=++a[3];
}
int main (void){/*1*/ int x[5]={14, 7, -4};/*2*/ printf("%d\n", x[4]);/*3*/ printf("%d\n", x[3] && (x[1] = 4));/*4*/ printf("%d\n", x[1]);/*5*/ printf("%d\n", x[3]);/*6*/ f(x);/*7*/ printf("%d\n", x[1]);/*8*/ printf("%d\n", x[3]);/*9*/ return 0; }
1. La riga 2 stampa un numero casuale2. La riga 3 stampa 03. La riga 4 stampa 44. La riga 5 stampa 05. La riga 7 stampa 16. La riga 8 stampa 1
![Page 32: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/32.jpg)
Esercizio 4 Output
Pagina 322013/2014Esercizi Esame3
007011
![Page 33: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/33.jpg)
Esercizio 5 Vero/Falso
Pagina 332013/2014Esercizi Esame3
int main() {/* 1*/ int A; float B; char C, ch;/* 2*/ A=4; B=2.9f; C='C'; ch='D';/* 3*/ printf("%c\n", C);/* 4*/ printf("%d\n", ch - C);/* 5*/ printf("%d\n", A%(int)B);/* 6*/ A = (A%(int)B + (++A));/* 7*/ printf("%d\n", A);/* 8*/ B = A++/B;/* 9*/ printf("%f\n", B);/*10*/ ch = (C+=1);/*11*/ printf("%c\n", ch);}
1. La riga 3 stampa 672. La riga 4 stampa 13. La riga 5 stampa 04. La riga 7 stampa 55. La riga 9 stampa 3.6670006. La riga 11 stampa D
Codice ASCII C = 67Codice ASCII D = 68
![Page 34: Presentazione di PowerPointbloisi/didattica/ingegneriaClinica1314/... · free(T);} Esercizio 2 Esercizi Esame 2013/2014 Pagina 14 3 Scrivere una funzione creaFileDecrescente che,](https://reader034.fdocuments.net/reader034/viewer/2022043011/5fa50a2a0bf9d442a55179a6/html5/thumbnails/34.jpg)
Esercizio 5 Output
Pagina 342013/2014Esercizi Esame3
C1051.724138D