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: mcm iterativo tra due numeri
Es1: mcm ricorsivo tra n numeri
Es2: Trova numero
Es3: Serie
Es4: Lunghezza Linea
Es5: Conta vocali
Es6: Palindroma
7
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: mcm iterativo tra due numeri
Es1: mcm ricorsivo tra n numeri
Es2: Trova numero
Es3: Serie
Es4: Lunghezza Linea
Es5: Conta vocali
Es6: 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: mcm iterativo tra due numeri
Es1: mcm ricorsivo tra n numeri
Es2: Trova numero
Es3: Serie
Es4: Lunghezza Linea
Es5: Conta vocali
Es6: 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