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