Problemini del lunedì [29 Ott]
Problemini del lunedì
- Con riferimento al punto 4 della
continuazione dell'analisi dell'esperimento in aula dei
lanci della moneta suggerita nella scorsa lezione,
- si valuti lo spazio percorso nei due lanci con un programma in C,
calcolando le coordinate a diversi tempi e facendo
la somma degli incrementi di posizione nel piano (x,y), usando
la seguente ossatura
- si valuti nuovamente lo spazio percorso a partire dalla
velocità a diversi punti e sommando gli incrementi di posizione
ottenuti come prodotto della velocità media per l'ampiezza dell'intervallo
temporale, usando la seguente ossatura
- Si modifichino opportunamente i due programmi in modo
da valutare l'angolo di impatto nei due modi suggeriti
(punti 1 e 3 della scorsa lezione).
Note:
- Innanzitutto si ricorda che in C non esiste l'operatore
'^' per le potenze
e bisogna usare invece la funzione
pow() (o semplicemente moltiplicare una variabile
o una espressione per se stessa, racchiusa fra parentesi,
per farne il quadrato — ovviamente si può usare pow()
con secondo argomento 0.5 per le radici quadrate).
- Si cambi la 'discretizzazine' temporale, controllare 'n',
al fine di vedere come
da essa dipende la 'precisione'
sulla determinazione dello spazio percorso
(ma si tratta di una precisione fittizia in quanto essa dipende
dai valori usati per h e d);
- Cambiando il valore di d si analizzi anche il secondo lancio;
- Le stampe ad ogni iterazione sono soprattutto di controllo
e conviene commentarle quando si aumenta 'n'.
- Si ricorda, per chi usa gcc sul proprio computer
di compilare con l'opzione '-lm' per linkare
la libreria matematica necessaria per pow() e srqt().
- Infine, la solita raccomandazione di riscriversi tutto a mano,
anzi, ancora meglio,
- pensare bene al caso fisico, con opportuni disegni;
- analizzare l'ossatura fornita;
- scrivere su carta lo schema logico del programma;
- cominciare a scrivere il programma con l'editor solo
quando si è capito bene cosa fa ogni istruzione
e compilando/linkando/eseguendo passo passo,
in modo da controllare fino a che punto il programma
funziona.
Facendo così si commetteranno inizialmente un numero incredibile
di errori dai quali si impara per la prossima volta.
E ovviamente si controllino i risultati con quanto
fatto con R, beneficiando anche delle possibilità
grafiche di quest'ultimo.
- Si provi ad usare il compilatore online basato su gcc
suggerito
nell'addendum alla scorsa lezione, quindi si usi quello con cui
ci si trova meglio.
Torna alla pagina del corso