DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 4 L.26.14
11 Maggio 2015
Marco D. Santambrogio – [email protected]
Gianluca Durelli - [email protected]
Ver. aggiornata al 11 Maggio 2015 Nota
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Risultati primo compitino
§  Online da domani: 12 Maggio 2015
2
Nota
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Risultati primo compitino
§  Online da domani: 12 Maggio 2015
3
Nota
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Risultati primo compitino
§  Online da domani: 12 Maggio 2015
BAZINGA
4
Nota
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Risultati primo compitino
§  Online da domani: 12 Maggio 2015
§  Visione: 13 Maggio in I01
BAZINGA
5
Argomenti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Argomenti di questo laboratorio:
§  Funzioni
§  Ricorsione
•  Obiettivo:
§  Risolvere almeno 2 esercizi:
•  Obbligatorio l’esercizio 1
6
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 
• 
• 
• 
• 
• 
• 
Es0:
Es1:
Es2:
Es3:
Es4:
Es5:
Es6:
mcm iterativo tra due numeri
mcm ricorsivo tra n numeri
Trova numero
Serie
Lunghezza Linea
Conta vocali
Palindroma
7
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 
• 
• 
• 
• 
• 
• 
Es0:
Es1:
Es2:
Es3:
Es4:
Es5:
Es6:
mcm iterativo tra due numeri
mcm ricorsivo tra n numeri
Trova numero
Serie
Lunghezza Linea
Conta vocali
Palindroma
8
Es 0: mcm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Si scriva una funzione iterativa in C
che, dati due numeri interi positivi
(A e B), ne calcola il minimo comune
multiplo §  mcm, aka il più piccolo intero positivo
multiplo di A e B
9
Es 0: mcm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
10
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 
• 
• 
• 
• 
• 
• 
Es0:
Es1:
Es2:
Es3:
Es4:
Es5:
Es6:
mcm iterativo tra due numeri
mcm ricorsivo tra n numeri
Trova numero
Serie
Lunghezza Linea
Conta vocali
Palindroma
11
Es 1: mcm
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Si scriva una funzione ricorsiva in C
che, dati n numeri interi positivi, ne
calcola il minimo comune multiplo.
12
Es 2: Trova Numero
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Scrivere una funzione ricorsiva in C
che:
§  Ricevuto in ingresso un array ed un
numero X
§  Ritorni la prima posizione dell’array
che assume il valore X, oppure -1 se il
numero X non appartiene all’array
13
Es 3: Serie
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Si scriva una funzione ricorsiva in C
che:
§  Calcoli il valore della serie definita
dalle seguenti relazioni:
•  T(0) = 0
•  T(1) = 1
•  T(n) = 2*T(n-2) + 5, n>1
14
Es4: Lunghezza Linea
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Si scriva una ricorsiva funzione che: §  Ricevute in ingresso le coordinate di un
insieme di punti appartenenti al piano
cartesiano
§  Calcoli la lunghezza della linea da essi
identificata
§  Nota: Si definiscano opportune
strutture dati per risolvere l’esercizio
15
Es 5: Conta vocali
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Scrivere una funzione ricorsiva in C
che:
§  Ricevuto in ingresso una stringa
§  Ritorni il numero di vocali contenute nella
stringa
•  Nota:
§  strstr( char *s1, char *s2);
§  Ritorna:
•  Se s2 compare in s1: un puntatore alla prima
occorrenza di s2 all’interno di s1, •  Se s2 NON compare in s1: NULL
16
Es 6: Palindroma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•  Si scriva una ricorsiva funzione che: §  Determini se una stringa inserita
dall’utente sia palindroma:
•  La funzione ritorna 1 quando la stringa e’
palindroma
•  0 in caso contrario
17
Fine…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
18