Laboratorio di Calcolo I AA2007/08
Esercitazione individuale - secondo gruppo - 18/1/08
Create nell'account indicato dal
docente una
cartella prova_cognome e svolgete li' la prova. La prova e' valutata su
10 punti.
Se il programma non compila perdete 5
punti,
se il programma compila ma
ha seri problemi in fase di esecuzione (loop infiniti, mancanza di
protezioni...) perdete 3 punti,
se il programma compila, gira ma non
fornisce i risultati richiesti perdete 2 punti.
I punti rimanenti
possono essere ulteriormente ridotti se non sono state seguite tutte le
indicazioni (ad esempio se si sceglie di non utilizzare delle
funzioni), se i file header non sono protetti contro la doppia
inclusione o se il programma non sia comprensibile
per mancanza di commenti.
Se non vi trovate sul vostro account e avete bisogno di usare come esempio programmi svolti nel corso delle esercitazioni precedenti potete trovarne degli esempi al link programmi
Un grave viene fatto cadere da una quota di 10 m al tempo t=0.
Alle quote 9.5,7.5,6.,5.,4.,3.5,3,2.5,2,1.5,1,.5 m sono posti dei
traguardi (cellule fotoelettriche) usati per determinare il tempo di
transito da una certa quota.
Vi viene fornito un programma funzionante che calcola il tempo di
transito da ognuno dei traguardi (esp.c, func.c, func.h).
I tempi pero' sono misurati da un "orologio digitale", il time to
digital converter (TDC) che in questo caso ha 12 bit e un suo conteggio
corrisponde a 350 microsecondi.
Si richiede:
1. di convertire i valori ottenuti per i tempi in conteggi di TDC,
scrivendo nel file func.c (con
il prototipo in func.h) la
funzione int tdc(double t) che
effettui tale conversione e richiamandola dal programma main in esp.c
2. di modificare il programma main in esp.c
in modo tale da poter ripetere l'esperimento piu' volte
3. per ogni misura in ogni esperimento, e quindi per ogni valore del
tempo di transito, introdurre un errore distribuito in modo uniforme
tra -0.5 e 0.5ms, ovvero scrivere nel file func.c (con il prototipo in func.h) la funzione double misura(double t) che dato t
restituisca t+err con err distribuito in modo uniforme tra -0.0005 e
0.0005s
4. scrivere su un file le quote dei traguardi ed i tempi corrispondenti
per ogni misura (12 coppie di valori per ogni esperimento)