dipartimento di elettronica e informazione lab 7: 16 giugno 2014 marco d. santambrogio –...
TRANSCRIPT
![Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/1.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 7: 16 Giugno 2014Lab 7: 16 Giugno 2014
Marco D. Santambrogio – [email protected] Durelli – [email protected]
Ver. aggiornata al 16 Giugno 2014
![Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/2.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ObiettiviObiettivi
• Esercitarsi sui costrutti visti a lezione Tutto il C visto fino a qui In particolare: funzioni ricorsive, file
2
![Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/3.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
EserciziEsercizi
• Es0: Lunghezza Stringa• Es1: Numero Vocali• Es2: Maiuscolo• Es3: Serie• Es4: Palindroma• Es5: Scontrino Libreria• Es6: Media Valori
3
![Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/4.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 0: Lunghezza StringaExe 0: Lunghezza Stringa
• Scrivere una funzione ricorsiva in C che: Ricevuta in ingresso una stringa Ritorni la sua lunghezza
• Non usare strlen(char *)!!! Non usarla nemmeno nei prossimi
esercizi!!!
4
![Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/5.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 0: Somma array Exe 0: Somma array (main)(main)
5
![Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/6.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 0: Somma array Exe 0: Somma array (funzione)(funzione)
6
![Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/7.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 1: Numero VocaliExe 1: Numero Vocali
• 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
7
![Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/8.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 2: MaiuscoloExe 2: Maiuscolo
• Scrivere una funzione ricorsiva in C che: Ricevuto in ingresso una stringa Modifichi la stringa perche’ abbia tutti
i caratteri maiuscoli Ritorni il numero di sostituzioni
effettuate
8
![Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/9.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 3: SerieExe 3: Serie
• 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)*T(n-1) + 3*T(n-1) + 4,
per n>1
9
![Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/10.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 4: PalindromaExe 4: Palindroma
• 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
10
![Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/11.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 5: Scontrino LibreriaExe 5: Scontrino Libreria
• Si scriva una programma in C che: Legga da un file un’insieme di libri
acquistati:• Da file di testo• Da file binario
Calcoli il totale della spesa Scriva su di un altro file lo scontrino
dell’acquisto
• I libri sono identificati da: Titolo Autore Prezzo
11
![Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/12.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 6: Massimo VotiExe 6: Massimo Voti
• Si scriva una funzione C che: Legga da un file di testo un elenco di
misurazioni:• Le misurazioni sono identificate da:
– Tempo (in millisecondi)– Valore
Calcoli la media per ogni secondo Scriva le medie su di un altro file
• Nota: Le misurazioni sono inserite in ordine nel
file di ingresso
12
![Page 13: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 16 Giugno 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.pub/reader035/viewer/2022062702/5542eb74497959361e8dcdc3/html5/thumbnails/13.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• BUON LAVORO!
13