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