Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018
|
|
- Muzio Palma
- 4 anni fa
- Visualizzazioni
Transcript
1 Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni. funzione ipotenusa riceve due argomenti in virgola mobile in doppia precisione e ritorna un risultato in doppia precisione. funzione minoreditre che riceve tre argomenti interi e ritorna il valore del minore. funzione istruzioni che non ha parametri in ingresso e non ha parametri in uscita. funzione convertifloatintero che riceve un argomento float e ritorna in uscita il valore intero piú vicino. Soluzione: 0 double i p o t e n u s a ( double lato1, double l a t o ) 1 int m i n o r e d i t r e ( int a, int b, int c ) ; void i s t r u z i o n i ( void ) ; /* anche void istruzioni () sarebbe valido */ 3 int c o n v e r t i F l o a t I n t e r o ( float Numero Float ) ;. Scrivere una funzione in grado di scambiare il contenuto di due variabili intere passate come parametri Se ho le variabili intere a = 1 e b =, chiamando una funzione scambiainteri(a,b) le variabili avranno valore scambiato a = e b = 1. Soluzione: 1 void s c a m b i a I n t e r i ( int p1, int p ) ; 3 4 int main ( ) { 6 7 int n1, n ; 8 9 /* Inserisco i due valori */ 10 s c a n f ( "%d",&n1 ) ; 11 s c a n f ( "%d",&n ) ; 1 13 /* e li stampo */ 14 p r i n t f ( "n1=%d n=%d\n", n1, n ) ; 1 16 /* chiamo la funzione scambiainteri e scambio i valori 18 N.B. i valori di n1 ed n sono 19 passati per indirizzo 0 */ 1 s c a m b i a I n t e r i (&n1,&n ) ; 3 4 /* stampo di nuovo i contenuti di n1 e n */
2 6 p r i n t f ( "n1=%d n=%d\n", n1, n ) ; 7 8 } void s c a m b i a I n t e r i ( int p1, int p ){ int tmp ; /* variabile temporanea */ 3 36 tmp = p1 ; 37 p1= p ; 38 p=tmp ; 39 } 3. Trova gli errori nel seguente codice per il calcolo del massimo di una sequenza di interi. Soluzione: 1 3 void calcolamassimo ( int numeri [ ], int LUN) ; 4 int main ( ) { 6 7 int LUN = 1 0 ; 8 9 int numeri [ 1 0 ] = {, 3, 4,, 6, 4 1, 3,, 1, 4 } ; 10 int massimo ; 11 1 massimo = calcolamassimo ( numeri,lun) ; 13 p r i n t f ( "massimo -> %d\n", massimo ) ; 14 1 } void calcolamassimo ( int numeri [ ], int LUN){ 19 0 int massimo ; 1 int i ; 3 massimo = numeri [ 0 ] ; 4 for ( i =0; i <LUN; i ++){ if ( massimo == numeri [ i ] ) { 6 massimo = numeri [ i ] ; 7 } 8 } 9 } Oltre alla condizione sbagliata per l aggiornamento del valore massimo, la funzione non ritorna il valore massimo ritornato. Per questa secondo errore ci sono due possibili soluzioni: dovendo ritornare un solo valore intero, posso modificare il valore di ritorno da void a int e ritornare il massimo con return(massimo). Il codice risultante sarebbe: 1 3 int calcolamassimo ( int numeri [ ], int LUN) ;
3 4 int main ( ) { 6 7 int LUN = 1 0 ; 8 9 int numeri [ 1 0 ] = {, 3, 4,, 6, 4 1, 3,, 1, 4 } ; 10 int massimo ; 11 1 massimo = calcolamassimo ( numeri,lun) ; p r i n t f ( "massimo -> %d\n", massimo ) ; 1 16 } int calcolamassimo ( int numeri [ ], int LUN){ 1 int massimo ; 3 int i ; 4 massimo = numeri [ 0 ] ; 6 for ( i =0; i <LUN; i ++){ 7 if ( massimo < numeri [ i ] ) { 8 massimo = numeri [ i ] ; 9 } 30 } 31 return massimo ; 3 } Oppure posso passare una variabile massimo per riferimento e modificarla senza dichiarare una nuova variabile. La soluzione sarebbe: 1 void calcolamassimo ( int numeri [ ], int LUN, int massimo ) ; 3 4 int main ( ) { 6 int LUN = 1 0 ; 7 8 int numeri [ 1 0 ] = {, 3, 4,, 6, 4 1, 3,, 1, 4 } ; 9 int massimo ; calcolamassimo ( numeri,lun,&massimo ) ; p r i n t f ( "massimo -> %d\n", massimo ) ; 1 } void calcolamassimo ( int numeri [ ], int LUN, int massimo ){ 19 0 int i ; 1 int temp ; massimo = numeri [ 0 ] ; 3 for ( i =0; i <LUN; i ++){ 4 if ( massimo < numeri [ i ] ) { massimo = numeri [ i ] ;
4 6 } 7 } 8 9 } 4. Scrivere il codice che, data una sequenza di numeri interi, calcoli la media dei valori attraverso una chiamata di funzione. Soluzione: 1 #d e f i n e MAX 3 float calcolamedia ( int sequenza, int n ) ; 4 6 int main ( ) { 7 8 int a [MAX] ; 9 10 p r i n t f ( "\ ninserisci numeri interi e premi invio: \n" ) ; 11 s c a n f ( "%d %d %d %d %d",&a [ 0 ], & a [ 1 ], & a [ ], & a [ 3 ], & a [ 4 ] ) ; 1 13 float media = calcolamedia ( a,max) ; 14 p r i n t f ( "\nmedia = %f\n", media ) ; } float calcolamedia ( int sequenza, int n ){ 3 /* gli array sono sempre copiati per riferimento, 4 devo quindi passare anche il numero di elementi della sequenza */ 6 7 float media = 0 ; 8 for ( int i =0; i <n ; i ++){ 9 media += sequenza [ i ] ; 30 } 31 media = media/n ; 3 return media ; 33 }. Scrivere una funzione che, data una sequenza di numeri interi e un numero intero A, ritorni due elementi: un booleano che indichi se A é presente nella sequenza di numeri e l indice in cui A si trova nella sequenza (o il valore -1 se non é nella sequenza). Soluzione: 0 i nclude <s t d i o. h> 1 #d e f i n e MAXLEN 3 4 /* definiamo il tipo booleano bool */ 6 typedef enum {FALSE=0,TRUE=1} b o o l ; 7
5 8 /* la funzione cercaintero vuole in input: array di interi in cui cercare 11 - lunghezza dell array di interi 1 -il numero da cercare 13 -la variabile dove salvare l indice 14 */ 1 16 bool c e r c a I n t e r o ( int sequenza, int len, int n, int i n d i c e n ) ; 18 /* scrivo anche una procedura utile per stampare il 19 risultato della funzione cercaintero 0 */ 1 void p r i n t C e r c a I n t e r o ( int sequenza, int len, int n ) ; 3 4 int main ( ) { 6 7 int sequenza [MAXLEN] ={1,,3,4,}; 8 9 int A=; 30 p r i n t C e r c a I n t e r o ( sequenza,maxlen,a) ; 31 A=6; 3 p r i n t C e r c a I n t e r o ( sequenza,maxlen,a) ; } 3 36 bool c e r c a I n t e r o ( int sequenza, int len, int n, int i n d i c e n ){ bool t r o v a t o = FALSE; 39 i n d i c e n = 1; for ( int i =0; i < l e n ; i ++){ 4 if ( sequenza [ i ]==n ){ 43 i n d i c e n = i ; 44 t r o v a t o = TRUE; 4 break ; 46 } 47 } 48 return t r o v a t o ; 49 } 0 1 void p r i n t C e r c a I n t e r o ( int sequenza, int len, int n ){ 3 int i n d i c e ; 4 if ( c e r c a I n t e r o ( sequenza, len, n,& i n d i c e ) ) { p r i n t f ( "Il valore %d si trova nella sequenza 6 in indice %d\n", n, i n d i c e ) ; 7 8 } 9 else{ 60 p r i n t f ( "Il valore %d non si trova nella sequenza \n", n ) ; 61 } 6 } 6. Dato un oggetto di tipo Libreria definito attraverso la seguente struttura dati: 0 typedef struct {
6 1 char nome [ STRLEN] ; double c o s t o ; 3 int g i a c e n z a ; /* numero di copie presenti */ 4 } Libro ; 6 typedef Libro L i b r e r i a [NUMLIBRO] ; Scrivere una funzione che, dato il nome di un libro: controlla se é nella libreria, controlla se ci sono abbastanza copie e se ci sono ancora copie presenti, vende il libro diminuendo il numero di copie presenti e aggiornando un valore di cassa con il prezzo del libro. Suggerimento: per controllare se il libro é presente in libreria tramite il nome, si devono compare le due stringhe dei nomi: questo é possibile velocemente tramite la funzione strcomp nella libreria <string.h>. 1 #include <s t r i n g. h> 3 #d e f i n e NUMLIBRO 3 4 #d e f i n e STRLEN 30 6 typedef struct { 7 char nome [STRLEN ] ; 8 double c o s t o ; 9 int g i a c e n z a ; 10 } Libro ; 11 1 typedef Libro L i b r e r i a [NUMLIBRO ] ; 13 typedef enum {FALSE=0,TRUE=1} b o o l ; 14 1 L i b r e r i a l i b r e r i a ={ 16 {" Informatica \0", , 3 }, {" Matematica \0", 0. 0, }, 18 {" Statistica \0",. 0, } 19 } ; 0 1 double c a s s a = 0. 0 ; 3 void librocomprato ( char nome ) ; 4 6 int main ( ) { 7 8 char nome [ STRLEN] = " Informatica \0" ; 9 30 librocomprato (nome ) ; 31 librocomprato (nome ) ; 3 librocomprato (nome ) ; 33 librocomprato (nome ) ; 34 3 p r i n t f ( "In cassa hai %f euro\n", c a s s a ) ; } void librocomprato ( char nome){ 4 43 /* variabile che indica se
7 44 il libro e nella libreria 4 inizializzata a FALSE */ bool t r o v a t o = FALSE; for ( int i =0; i <NUMLIBRO; i ++){ 0 1 /* compariamo i nomi dei libri */ /* strcmp compara due stringhe 3 se sono uguali ritorna 0 */ 4 if ( strcmp ( l i b r e r i a [ i ]. nome, nome)==0){ 6 t r o v a t o = TRUE; 7 8 /* guardiamo se il libro e disponibile */ 9 if ( l i b r e r i a [ i ]. g i a c e n z a > 0){ 60 p r i n t f ( "Hai venduto %s con prezzo %f\n", 61 nome, l i b r e r i a [ i ]. c o s t o ) ; 6 c a s s a += l i b r e r i a [ i ]. c o s t o ; 63 l i b r e r i a [ i ]. giacenza ; 64 } 6 else{ 66 p r i n t f ( "Libro non in giacenza \n" ) ; 67 } 68 break ; 69 } 70 } 71 if ( t r o v a t o == FALSE){ 7 p r i n t f ( "Libro non trovato.\n" ) ; 73 } } 7. tratto dall ESAME 10/09/01: Scrivere in C una funzione, senza parametri e che non restituisce nulla, che legge una sequenza di numeri terminata dallo 0. La funzione deve considerare solo i valori dei numeri letti che sono multipli di 3, calcolarne la mediana (non la media) e stamparne a video il valore. Si ricorda che la mediana di una sequenza ordinata di numeri interi é il valore centrale, se la sequenza ha cardinalitá dispari, oppure la media tra i due numeri centrali, se la cardinalitá é pari. 1 #d e f i n e DIM void ordina ( int a [ ], int d ) ; 4 void stampamediana ( void ) ; 6 int main ( ) { 7 stampamediana ( ) ; 8 9 } void swap ( int a [ ], int i, int j ){ 13 int temp ; 14 temp = a [ i ] ; 1 a [ i ] = a [ j ] ;
8 16 a [ j ]=temp ; } /* ordina un array dal minore al maggiore */ 0 void ordina ( int a [ ], int d ){ 1 int i, j, t ; 3 4 for ( i =0; i <d ; i ++){ for ( j=i +1; j<d ; j ++){ 6 if ( a [ i ]>a [ j ] ) { 7 swap ( a, i, j ) ; 8 } 9 } 30 } 31 3 } void stampamediana ( ) { 3 36 int n=1,d=0; 37 int a [DIM ] ; 38 float t1, t, med ; while ( n!=0 && n!=(dim 1)){ 41 p r i n t f ( " Inserisci numero: \n" ) ; 4 s c a n f ( "%d",&n ) ; 43 if ( ( n!=0) && ( n%3 == 0 ) ) { 44 a [ d++] = n ; 4 } 46 } /* a questo punto i e uguale alla 49 lunghezza dell array */ 0 1 ordina ( a, d ) ; 3 4 t1 = a [ ( d /) 1]; 6 t = a [ d / ] ; if ( d% == 0){ 60 med = ( t1+t ) / ; 61 } 6 else{ 63 med = t ; 64 } 6 p r i n t f ( "La mediana e : %.f\n",med ) ; } 8. ESAME 8/11/013: Dichiarare in C una struttura per memorizzare la carriera universitaria di uno studente. Ovvero, la struttura deve consentire la memorizzazione del nome e cognome dello studente, la sua matricola, i voti riportati nei 30 esami da sostenere per conseguire la laurea e la media pesata, aggiornata dopo l aggiunta di ogni esame. La media é pesata perche ogni esame puo valere 3,, 8, 10 o 1 crediti e la media deve tenere conto del peso del singolo esame.
9 Scrivere anche una funzione che prende come parametro la struttura dati relativa ad uno studente, consente l inserimento dei dati relativi ad un esame, aggiorna la media e restituisce la struttura dati aggiornata. Soluzione: 1 #d e f i n e DIM 0 / lunghezza max campi t e s t u a l i / 3 #d e f i n e MATR 6 / lunghezza max m a t r i c o l a / 4 #d e f i n e ESAMI 30 / numero massimo esami / 6 7 typedef char S t r i n g a [DIM ] ; 8 typedef char Matricola [MATR] ; 9 10 /* struct per la definizione di un esame */ 11 typedef struct { 1 int voto ; 13 int c r e d i t i ; 14 }Esame ; 1 16 /* struct per la definizione di uno studente */ 18 typedef struct { 19 0 S t r i n g a nome ; 1 S t r i n g a cognome ; Matricola m a t r i c o l a ; 3 Esame v o t i [ESAMI ] ; 4 int esami ; float media ; 6 } Studente ; void i n s e r i s c i E s a m e ( Studente s, Esame e ) ; int main ( ) { 3 33 Studente studente ={"Mario", "Rossi", "13 ABC" } ; 34 3 Esame esami []= {{,}, 36 {30,10} 37 } ; i n s e r i s c i E s a m e (&studente, esami [ 0 ] ) ; 40 i n s e r i s c i E s a m e (&studente, esami [ 1 ] ) ; 41 4 p r i n t f ( "\n Media esami: %f\n", studente. media ) ; } void i n s e r i s c i E s a m e ( Studente s, Esame e ){ 49 0 int i, c = 0 ; 1 float v = 0. 0 ; 3 /* aggiornamento nuovo esame */
10 4 ( s >v o t i [ s >esami ] ). voto = e. voto ; ( s >v o t i [ s >esami ] ). c r e d i t i = e. c r e d i t i ; 6 ( s >esami )++; 7 8 for ( i =0; i <s >esami ; i ++){ 9 v+=((s >v o t i ) [ i ]. voto ( s >v o t i ) [ i ]. c r e d i t i ) ; 60 c+=(s >v o t i ) [ i ]. c r e d i t i ; 61 } 6 s >media = v/ c ; 63 } 9. ESAME 31/08/0: Scrivere in C una funzione ed un programma principale: La funzione prende in ingresso una stringa e restituisce, nel modo che si ritiene piú opportuno, tre valori diversi: la lunghezza della stringa, il numero di vocali contenute e la somma della codifica ASCII dei suoi caratteri. Il programma principale deve chiedere all utente di inserire una stringa, invocare la funzione definita al punto precedente, usando la stringa inserita, e stampare i risultati restituiti in modo appropriato. Soluzione 1: 1 #include <s t r i n g. h> 3 #d e f i n e MAX L 30 / lunghezza massima s t r i n g a / 4 typedef enum {FALSE,TRUE} b o o l ; 6 typedef char S t r i n g a [MAX L ] ; 7 8 typedef struct { 9 int lunghezza ; 10 int numerovocali ; 11 int sommaascii ; 1 } A n a l i s i S t r i n g a ; bool c a r a t t e r e V o c a l e ( char a ) ; 1 A n a l i s i S t r i n g a A n a l i z z a S t r i n g a ( S t r i n g a s t r i n g a ) ; int main ( ) { 0 1 S t r i n g a s t r i n g a ; A n a l i s i S t r i n g a a n a l i s i S t r i n g a ; 3 4 int l e n ; 6 p r i n t f ( " Inserisci una stringa (max %d caratteri ): \n",max L) ; 7 s c a n f ( "%s", s t r i n g a ) ; 8 9 a n a l i s i S t r i n g a = A n a l i z z a S t r i n g a ( s t r i n g a ) ; p r i n t f ( " Lunghezza della stringa : %d\ nnumero di vocali: %d\n 3 Somma codifica ASCII: %d\n", a n a l i s i S t r i n g a. lunghezza, 33 a n a l i s i S t r i n g a. numerovocali, a n a l i s i S t r i n g a. sommaascii ) ; 34 3 }
11 bool c a r a t t e r e V o c a l e ( char a ){ if ( a == A a == E a== I a == O a== U 41 a == a a== e a== i a == o a == u ){ 4 return TRUE; 43 } 44 4 else{ 46 return FALSE; 47 } 48 } 49 A n a l i s i S t r i n g a A n a l i z z a S t r i n g a ( S t r i n g a s t r i n g a ){ 0 1 A n a l i s i S t r i n g a a n a l i s i S t r i n g a ; int l e n =0, numerovocali =0,sommaASCII=0; 3 4 /* lunghezza della stringa */ l e n = s t r l e n ( s t r i n g a ) ; 6 /* alternativa per trovare lunghezza stringa 7 while(stringa [len ]!= \0 ){ 8 len ++; 9 } 60 */ 61 6 /* scorriamo tutta la stringa */ 63 for ( int i = 0 ; i <l e n ; i ++){ 64 6 sommaascii+= s t r i n g a [ i ] ; /* vediamo se il carattere e una lettera */ 68 if ( ( s t r i n g a [ i ]>= a && s t r i n g a [ i ]<= z ) 69 ( s t r i n g a [ i ]>= A && s t r i n g a [ i ]<= Z ) ) { 70 if ( c a r a t t e r e V o c a l e ( s t r i n g a [ i ] ) ) { 71 numerovocali++; 7 } 73 } } a n a l i s i S t r i n g a. lunghezza=l e n ; 79 a n a l i s i S t r i n g a. numerovocali=numerovocali ; 80 a n a l i s i S t r i n g a. sommaascii = sommaascii ; 81 8 return a n a l i s i S t r i n g a ; } In alternativa l esercizio poteva essere svolto anche senza utilizzare una struttura, ma dichiarando nel lunghezza,numerovocali,sommaascii come interi e passandoli per riferimento alla funzione AnalizzaStringa. Soluzione : 1 #include <s t r i n g. h> 3 #d e f i n e MAX L 30 / Lunghezza massima s t r i n g a /
12 4 typedef enum {FALSE,TRUE} b o o l ; 6 typedef char S t r i n g a [MAX L ] ; void A n a l i z z a S t r i n g a ( S t r i n g a s t r i n g a, int lunghezza, 11 int numerovocali, int sommaascii ) ; 1 13 /* restituisce TRUE se il carattere e una vocale */ 14 bool c a r a t t e r e V o c a l e ( char a ) ; 1 16 int main ( ) { 18 S t r i n g a s t r i n g a ; 19 int lunghezza, numerovocali, sommaascii ; 0 1 p r i n t f ( " Inserisci una stringa (max %d caratteri ):\n",max L) ; s c a n f ( "%s", s t r i n g a ) ; 3 4 A n a l i z z a S t r i n g a ( s t r i n g a,& lunghezza,& numerovocali,&sommaascii ) ; 6 7 p r i n t f ( " Lunghezza della stringa : %d 8 \ nnumero di vocali: %d\ nsomma ASCII %d\n", 9 lunghezza, numerovocali, sommaascii ) ; 30 } bool c a r a t t e r e V o c a l e ( char a ){ 34 3 if ( a == A a == E a== I a == O a== U 36 a == a a== e a== i a == o a == u ){ return TRUE; 39 } else{ 4 return FALSE; 43 } 44 } void A n a l i z z a S t r i n g a ( S t r i n g a s t r i n g a, int lunghezza, 48 int numerovocali, int sommaascii ){ lunghezza = s t r l e n ( s t r i n g a ) ; 3 /* 4 while(stringa [* lunghezza ]!= \0 ){ * lunghezza ++; 6 } 7 */ 8 9 for ( int i =0; i <( lunghezza ) ; i ++){ sommaascii+= s t r i n g a [ i ] ; 6
13 63 if ( ( s t r i n g a [ i ]>= a && s t r i n g a [ i ]<= z ) 64 ( s t r i n g a [ i ]>= A && s t r i n g a [ i ]<= Z ) ) { 6 66 if ( c a r a t t e r e V o c a l e ( s t r i n g a [ i ] ) ) { 67 ( numerovocali )++; 68 } 69 } 70 } 71 7 }
Esercitazioni di Fondamenti di Informatica - Lez. 4 23/10/2018
Esercitazioni di Fondamenti di Informatica - Lez. 4 2/0/20 Esercizi sui tipi in C I codici e le soluzioni degli esercizi sono nella cartella parte. Dato il seguente codice, trovare gli errori, correggerli
DettagliEsercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018
Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018 Esercizi sull allocazione dinamica della memoria in C Il codice di questi esercizi é contenuto nella cartella parte1 1. Implementare una lista
DettagliInformatica B Esercitazione 5
Informatica B Esercitazione 5 17 ottobre 2018 Array, Stringhe e Matrici 5.1 Si scriva un programma C per calcolare la media pesata dei voti di uno studente. Il programma chiede innanzitutto all'utente
DettagliLezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018
Esercitazioni di Fondamenti di Informatica - Lez. 9 /1/018 Esercizi sulla gestione dei file in C Il codice degli esercizi e contenuto nella cartella parte1 1. Creare una funzione C che legga tutto cio
Dettaglicout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;
Funzioni int n, ris; cout n; ris = n*2; cout
DettagliINFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE
INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE Scrivere in stampatello COGNOME, NOME e MATRICOLA su ogni foglio consegnato N.B.: In tutti gli esercizi viene valutata anche
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliDati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
DettagliEsercizio 1: media di numeri reali (uso funzioni e struct)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le
DettagliIntroduzione al linguaggio C Dati aggregati
Introduzione al linguaggio C Dati aggregati Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 5 ottobre
DettagliEsercizio 1: funzione con valore di ritorno di tipo puntatore
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
DettagliLab 08 Stringhe e strutture
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 08 Stringhe e strutture Lab8 1 Esercizio 1 n Scrivere una funzione che data una stringa A calcoli la sua lunghezza.
DettagliInformatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array.
Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Funzioni: passaggio di parametri per indirizzo, passaggio di array. Indice 1 Funzioni: passaggio di parametri per indirizzo; puntatori...3
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 Soluzione della prova scritta del 4 Marzo 2005 Esercizio 1 (2 punti) Semplificare la seguente funzione booleana, mostrando il procedimento utilizzato per ottenere il risultato.
DettagliLab 12 Stringhe e strutture"
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 12 Stringhe e strutture" Lab12 1
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliStringhe in C. Luca Abeni. Informatica Luca Abeni 1 / 10
Stringhe in C Luca Abeni Informatica Luca Abeni 1 / 10 Stringhe in C Stringhe: tipo di dato strutturato Sequenze di caratteri Linguaggio C: progettato per la semplicità No supporto nativo per le stringhe
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliInformatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria
Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Stringhe Ricerca binaria Indice 1 Stringhe... 3 1.1 Codice di Cesare...3 1.2 Ricerca binaria...4 1.3 Indirizzi Internet...7 1.4
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Una funzione per i numeri di Fibonacci
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliEsercitazioni di Fondamenti di Informatica - Lez /12/2018
Esercitazioni di Fondamenti di Informatica - Lez. 0 //08 Esercizi su Python. ESAME 3/08/07 es. 6. Scrivere un programma Python 3 che definisce un apposito dizionario che contiene, attraverso le coppie
DettagliLab 08 Stringhe e strutture
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 08 Stringhe e strutture Lab12 1 Esercizio
DettagliEsercizi. La funzione swapint() primo tentativo
Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include
DettagliLezione 6: Array e puntatori
Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Una funzione per i numeri di Fibonacci
DettagliStringhe in C. Nicu Sebe. Informatica Nicu Sebe 1 / 14
Stringhe in C Nicu Sebe Informatica Nicu Sebe 1 / 14 Stringhe in C Stringhe: tipo di dato strutturato Sequenze di caratteri Linguaggio C: progettato per la semplicità No supporto nativo per le stringhe
DettagliVariabili e Funzioni. Informatica 1 / 19
Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:
DettagliESERCIZIO 1 ESERCIZIO 2
ESERCIZIO 1 Scrivere una funzione che data una stringa A calcoli la sua lunghezza. int lunghezza(char A[]); Scrivere una funzione che date due stringhe A e B copi il contenuto di A in B e restituisca il
DettagliHo raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero
Stato di uno stream Uno stream possiede uno stato, che può essere corretto o errato. Quando lo stream è in stato di errore, non posso utilizzarlo. In lettura: Apertura di un file che non esiste X Ho raggiunto
DettagliEsercizi. Stringhe. Stringhe Ricerca binaria
Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)
DettagliEsercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 8 Esercitazione: 11 gennaio 2006 Esercizi su strutture dinamiche
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 8 Esercitazione: 11 gennaio 2006 Esercizi su strutture dinamiche Esercizio 1 Liste: calcolo del numero di elementi ripetuti
DettagliArray. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali
MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono
DettagliFondamenti di Informatica L-A. Esercitazione 6
Fondamenti di Informatica L-A Esercitazione 6 Passaggio dei Parametri nelle Funzioni Ordinamento di Vettori Paolo Torroni Università degli Studi di Bologna Laurea in Ingegneria Elettronica e delle Telecomunicazioni
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018
Esercitazioni di Fondamenti di Informatica - Lez. 7 0/11/018 Esercizi sull allocazione dinamica della memoria in C 1. Cosa stampa il seguente programma? 1 #d e f i n e MAXLENGTH 0 4 typedef struct { char
DettagliAllocazione dinamica memoria
Allocazione dinamica memoria Marco Casazza 11/12/2017 1 Esercizio 1 1 /* 2 Creare una lista bidirezionale di interi, ovvero una lista 3 che permette lo scorrimento in entrambe le direzioni ( dal primo
DettagliEsercitazione di Reti degli elaboratori
Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione
DettagliInformatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
DettagliEsercizio 1 File: ordinamento di un archivio di studenti (file binario)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 9 Esercitazione: 19 gennaio 2005 Esercizi sui file e sulle liste. Scaletta Esercizio 1 File: ordinamento di un archivio
DettagliEsercitazioni di FONDAMENTI DI INFORMATICA MODULO B
Università di Ferrara Dipartimento di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Tutor Arnaud Nguembang Fadja: ngmrnd@unife.it Damiano Azzolini: damiano.azzolini@student.unife.it Esercizio
DettagliEsercizio 1. Liste di interi
Esercizio 1. Liste di interi Si legga una sequenza di numeri interi da tastiera, dopo ogni inserimento chiedere all'utente se vuole continuare, quindi: Creare due liste L1 e L2 con inserimento ordinato;
DettagliEsercizi. Filtraggio
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)
DettagliEsercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
DettagliFondamenti di Informatica e Laboratorio T-AB Prova Pratica - 16 Giugno 2009 Compito A
Prima di cominciare: si scarichi il file StartKit4A.zip contenente i file di esempio. Avvertenze per la consegna: nominare i file sorgenti come richiesto nel testo del compito, apporre all inizio di ogni
DettagliInformatica B
Informatica B 2017-2018 Esercitazione I Primi passi con la programmazione e con il linguaggio C Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Chi sono - Alessandro Nacci, PhD
DettagliEsercizio 1: parole nel testo
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da
DettagliELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste
ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste ESERCIZIO n.1 È dato un file di testo che contiene l'elenco dei vestiti presenti in un negozio. Il file contiene al massimo
DettagliStringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche
Fondamenti di Informatica T-1 modulo 2 Laboratorio 04: stringhe 1 Stringhe In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche terminatore
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operatore? Tipo di dato: struct La ricorsione Funzioni ricorsive Esercizi proposti 26/04/2012 2 Operatore? L'operatore? può essere
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da
DettagliTipi definiti dall'utente
Tipi definiti dall'utente Tipi definiti Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per denire nuovi tipi (tipi user-defined) Possiamo: Ridenominare
DettagliIEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci -
IEIM 2017-2018 Esercitazione II Elementi di programmazione C Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 4 Dati un numero, stampare il primo numero successivo pari
DettagliOpinione calcolamedia( ) Opinione inverti( )
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di memorie
Dettagli3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;
Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso
DettagliInformatica A (per gestionali) A.A. 2004/2005. Esercizi C e diagrammi a blocchi. Preparazione prima prova intermedia
Informatica A (per gestionali) A.A. 2004/2005 Esercizi C e diagrammi a blocchi Preparazione prima prova intermedia Indice 1 Array... 3 1.1 Filtraggio...3 1.2 Trasformazione...3 2 Struct e array... 5 2.1
DettagliFondamenti di Informatica Ing. Biomedica
Fondamenti di Informatica Ing. Biomedica Esercitazione n.10 Strutture Antonio Arena antonio.arena@ing.unipi.it Ripresa esercizio per casa Fondamenti di Informatica - Esercitazione n.10 2 Scrivere una funzione
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti
DettagliLABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ESERCIZI - 1 http://www.diee.unica.it/giacinto/lab
DettagliPuntatori e array. Violetta Lonati
Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array
DettagliLinguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C tipi di dati definiti dall utente Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Tipi di dati in C Predefiniti
DettagliFondamenti di Informatica L-A
Fondamenti di Informatica L-A Esercitazione del 30/11/07 Ing. Giorgio Villani Ripasso Teoria File dati ES: nome.dat Leggere fopen( nome_file, rb ); fread(void *vet, int size, int n, FILE *fp); Scrivere
DettagliEsercitazione n. 7. Gestione dei file (seconda parte)
Esercitazione n. 7 Gestione dei file (seconda parte) dott. Carlo Todeschini tode@cremona.polimi.it Politecnico di Milano A.A. 2010/2011 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non
DettagliElementi di Informatica
Corso di Laurea triennale in Ingegneria Chimica in condivisione con Corso di Laurea triennale in Ingegneria Navale e Scienze dei Materiali Elementi di Informatica A.A. 2016/17 prof. Mario Barbareschi Tipi
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliDIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 20 Aprile 2016
Puntatori Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 20 Aprile 2016 Come rappresento un pixel? Il pixel è Il colore Come ottengo il verde? Con il formato RGB R: 91 G: 191 B:
DettagliProf. Massimiliano Giacomin 19 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli
INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 19 dicembre 2018 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per
DettagliIl compito del 11 novembre 2004
Alcuni errori frequenti riscontrati durante la correzione del compito: 1. In alcuni elaborati il typedef/struct non è stato utilizzato correttamente 2. Molti hanno confuso la dichiarazione di un array,
DettagliEsercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti)
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di USB stick
DettagliLab 09 Strutture e programmi su più file
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 09 Strutture e programmi su più file Lab13 1 Alcune Informazioni Utili Funzioni per manipolare stringhe (in string.h)!
DettagliEsercizio 1: Puntatori impiegati che sono manager
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 10 Esercitazione: 25 gennaio 2006 Esercizi di riepilogo Problema: Esercizio 1: Puntatori impiegati che sono manager Si
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
DettagliTipi definiti dall'utente
Tipi definiti dall'utente Tipi definiti Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per denire nuovi tipi (tipi user-defined) Possiamo: Ridenominare
Dettagligiapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
DettagliI tipi strutturati e i record in C++
I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi
DettagliProgrammazione I (Classe 1)
Programmazione I (Classe 1) Preappello di Giugno (prima prova) 10 Giugno 2016 Docenti: De Prisco - Deufemia - Zizza Cognome: Nome: Matricola: Ritirato 1 Esercizi (leggere attentamente il testo prima di
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliEsercizio sintesi (1) Esercizio sintesi (1)
Esercizio sintesi (1) Una compagnia di autobus che effettua servizio su lunghe distanze vuole realizzare un programma di controllo delle prenotazioni dei posti. A tal scopo rappresenta ogni prenotazione
DettagliProgrammazione I (Classe 1)
Programmazione I (Classe 1) Terzo Appello (prima prova) 9 Settembre 2016 Docenti: De Prisco - Deufemia - Zizza Cognome: Nome: Matricola: Ritirato 1 Esercizi (leggere attentamente il testo prima di scrivere
DettagliOgni parte non cancellata a penna sarà considerata parte integrante della soluzione.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 13 Novembre 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene
DettagliFondamenti di Informatica L-A
Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1
DettagliInformatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi
Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi gianluca.rossi@uniroma2.it Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)
DettagliFondamenti di Informatica 1 - Compito A
Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 18 Giugno 2007 Esercizio (16 punti) Un programma in linguaggio C deve accedere ad un database di studenti, memorizzato in un file binario studenti.bin.
DettagliIntroduzione al linguaggio C Funzioni
Introduzione al linguaggio C Funzioni Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati
DettagliALGORITMI E STRUTTURE DATI
ALGORITMI E STRUTTURE DATI Esercitazioni AndreA Orlandini http://www.dia.uniroma3.it/~orlandin/asd/ e-mail: orlandin@dia.uniroma3.it Orario di ricevimento: Martedì 14.00-16.00 Introduzione al C + Array
DettagliFondamenti di Programmazione
A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome
DettagliSTRUCT - ESERCIZIO 1
STRUCT - ESERCIZIO 1 Si vuole realizzare un programma di utilità matematica per gestire i numeri complessi. In particolare: 3. Progettare una opportuna struttura per la loro rappresentazione (in coordinate
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
Dettagli