ESERCITAZIONI DI PROGRAMMAZIONE 2 
Docente: Emanuela Fachini
Esercitazioni: Irene Finocchi
Tutoraggio: Angelo Spognardi
 
-  In questo spazio verranno pubblicati gli homework di Programmazione 2 per il canale A-D nell'A.A. 2006/2007.
-  Verranno assegnati tre homework, le cui soluzioni devono essere inviate per e-mail all'esercitatrice e al tutore. L'indirizzo si ottiene aggiungendo al cognome @di .uniroma1.it. .uniroma1.it.
-  Per correggere le vostre soluzioni, svolgeremo dei test automatici sul vostro codice.
-  Le soluzioni devono essere inviate entro i termini di consegna stabiliti per ciascun homework.
-  Scaduta la consegna pubblicheremo la nostra soluzione e i risultati dei test svolti sul vostro codice. 
-  Per ciascun homework sara' stabilita una data (durante le ore di esercitazione o di tutoraggio) in cui sara' possibile discutere le soluzioni degli homework. 
-  Gli homework non sono obbligatori, ma se li svolgerete tutti e tre, in base ai risultati ottenuti, potrete avere un bonus di al piu' due punti sul voto finale.
| Homework | Scadenza | Soluzione | Risultati | Note e suggerimenti | 
| Secondo homework | 23 maggio | Discussa in classe | Risultati | Esercizio 2: Se la lista ha strettamente piu' di k+1 elementi, deve necessariamente iniziare con una sequenza crescente. Se la lista ha al piu' k+1 elementi, vuol dire che la prima sottosequenza coincide con l'ultima, che deve essere necessariamente decrescente. | 
| Primo homework | 6 aprile | Possibili soluzioni | Risultati | Esercizio 1: per evitare problemi nella correzione automatica, invece di rimpiazzare le a accentate con a senza accento, svolgete l'esercizio rimpiazzando le A maiuscole con a minuscole. Il nome della funzione deve quindi essere rimpiazzaMaiuscole anziche' rimpiazzaAccenti. Una ulteriore osservazione: l'esercizio chiede di calcolare una nuova stringa (allocando quindi nuova memoria), non di modificare la stringa ricevuta in input. | 
|  |  |  |  | In tutti gli esercizi e' lecito usare sottoprocedure: la funzione principale puo' innescare la ricorsione, ed eventualmente usare una sottoprocedura ricorsiva con eventuali parametri aggiuntivi. | 
|  |  |  |  | Nell' esercizio 3, solo la funzione eliminaOgniKRec deve essere ricorsiva: eliminaOgniK ha il solo scopo di innescare la ricorsione con un opportuno valore del parametro h. |