Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018"

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

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018

Esercitazioni 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

Dettagli

Informatica B Esercitazione 5

Informatica 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

Dettagli

Lezione 8: Stringhe ed array multidimensionali

Lezione 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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 9 4/12/2018

Esercitazioni 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

Dettagli

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

Dettagli

Il linguaggio C. Notate che...

Il 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

Dettagli

Dati aggregati. Violetta Lonati

Dati 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

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 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

Dettagli

Introduzione al linguaggio C Dati aggregati

Introduzione 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

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 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

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione 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

Dettagli

Lab 08 Stringhe e strutture

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

Dettagli

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

Dettagli

Fondamenti di Informatica 2

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

Dettagli

Lab 12 Stringhe e strutture"

Lab 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

Dettagli

C: panoramica. Violetta Lonati

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

Dettagli

Stringhe in C. Luca Abeni. Informatica Luca Abeni 1 / 10

Stringhe 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

Dettagli

Il linguaggio C. Notate che...

Il 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

Dettagli

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

Dettagli

Laboratorio di Informatica I

Laboratorio 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

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez /12/2018

Esercitazioni 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

Dettagli

Lab 08 Stringhe e strutture

Lab 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

Dettagli

Esercizi. La funzione swapint() primo tentativo

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

Dettagli

Lezione 6: Array e puntatori

Lezione 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

Dettagli

Stringhe in C. Nicu Sebe. Informatica Nicu Sebe 1 / 14

Stringhe 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

Dettagli

Variabili e Funzioni. Informatica 1 / 19

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

Dettagli

ESERCIZIO 1 ESERCIZIO 2

ESERCIZIO 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

Dettagli

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

Ho 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

Dettagli

Esercizi. Stringhe. Stringhe Ricerca binaria

Esercizi. 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)

Dettagli

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

Dettagli

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali

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

Dettagli

Fondamenti di Informatica L-A. Esercitazione 6

Fondamenti 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

Dettagli

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

Esercitazioni 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

Dettagli

Allocazione dinamica memoria

Allocazione 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

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione 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

Dettagli

Informatica 1. Prova di recupero 21 Settembre 2001

Informatica 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

Dettagli

Esercizio 1 File: ordinamento di un archivio di studenti (file binario)

Esercizio 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

Dettagli

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Esercitazioni 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

Dettagli

Esercizio 1. Liste di interi

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

Dettagli

Esercizi. Filtraggio

Esercizi. 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)

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi 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

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Prova Pratica - 16 Giugno 2009 Compito A

Fondamenti 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

Dettagli

Informatica B

Informatica 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

Dettagli

Esercizio 1: parole nel testo

Esercizio 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

Dettagli

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

Dettagli

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche

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

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti 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

Dettagli

Laboratorio di programmazione

Laboratorio 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

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti 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

Dettagli

Tipi definiti dall'utente

Tipi 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

Dettagli

IEIM Esercitazione II Elementi di programmazione C. Alessandro A. Nacci -

IEIM 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

Dettagli

Opinione calcolamedia( ) Opinione inverti( )

Opinione 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

Dettagli

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

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

Dettagli

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

Dettagli

Fondamenti di Informatica Ing. Biomedica

Fondamenti 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

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio 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[]

Dettagli

Programmazione I - Laboratorio

Programmazione 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

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO 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

Dettagli

Puntatori e array. Violetta Lonati

Puntatori 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

Dettagli

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

Dettagli

Fondamenti di Informatica L-A

Fondamenti 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

Dettagli

Esercitazione n. 7. Gestione dei file (seconda parte)

Esercitazione 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

Dettagli

Elementi di Informatica

Elementi 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

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi 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

Dettagli

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Puntatori. Marco D. Santambrogio Ver. aggiornata al 20 Aprile 2016

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

Dettagli

Prof. Massimiliano Giacomin 19 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

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

Dettagli

Il compito del 11 novembre 2004

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

Dettagli

Esercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti)

Esercizio 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

Dettagli

Lab 09 Strutture e programmi su più file

Lab 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)!

Dettagli

Esercizio 1: Puntatori impiegati che sono manager

Esercizio 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

Dettagli

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

Dettagli

Tipi definiti dall'utente

Tipi 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

Dettagli

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

giapresente( ) 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

Dettagli

I tipi strutturati e i record in C++

I 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

Dettagli

Programmazione I (Classe 1)

Programmazione 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

Dettagli

Array. Definizione e utilizzo di vettori

Array. 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];

Dettagli

Esercizio sintesi (1) Esercizio sintesi (1)

Esercizio 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

Dettagli

Programmazione I (Classe 1)

Programmazione 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

Dettagli

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Ogni 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

Dettagli

Fondamenti di Informatica L-A

Fondamenti 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

Dettagli

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

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

Dettagli

Fondamenti di Informatica 1 - Compito A

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

Dettagli

Introduzione al linguaggio C Funzioni

Introduzione 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

Dettagli

ALGORITMI E STRUTTURE DATI

ALGORITMI 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

Dettagli

Fondamenti di Programmazione

Fondamenti 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

Dettagli

STRUCT - ESERCIZIO 1

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

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI 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