I Parte - INFN Sezione di Roma

ESERCITAZIONE 2, 23 OTTOBRE 2014
LABORATORIO DI CALCOLO, CANALE Q-Z
Moto del proie+le g = 9.8 m/s
Un proie)le lanciato con velocità iniziale v0 e con un angolo θ rispe6o al piano orizzontale raggiunge l’altezza 1
x2
g 2
2 v0 cos2 ✓
a distanza x dal punto di partenza. La gi6ata massima del proie)le è
sin ✓ cos ✓ 2
G=2
v0
g
y = x tan ✓
I Parte Scrivere un programma esercitazione02.c che esegua le seguen@ operazioni 1. Chiedere all’utente di inserire il valore della velocità iniziale v0 (posi@va) in m/s 2. Chiedere all’utente di inserire il valore dell’angolo θ in gradi 3. Verificare che l’angolo fornito non sia più grande di 90 gradi 1. In caso di errore richiedere l’inserimento dell’angolo (non della velocità!) 4. Conver@re il valore dell’angolo da gradi in radian@ 5. Chiedere all’utente di inserire una distanza x (in metri) alla quale si vuole misurare l’altezza h del proie)le 6. Verificare che la distanza inserita sia inferiore alla gi6ata massima G e in caso di errore stampare sullo schermo un messaggio u@le per l’utente e terminare l’esecuzione 7. Calcolare l’altezza del proie)le alla distanza x fornita dall’utente 8. Stampare sullo schermo il valore dell’altezza h del proie)le e della distanza percorsa x Si ricorda che il comando per compilare e creare l’eseguibile e`
gcc -Wall -lm -o app.exe esercitazione03.c
Ricordate inoltre di includere gli header file per le librerie di sistema e matema@ca e di usare l’istruzione #define del pre-­‐compilatore per definire le costan@. ESERCITAZIONE 2, 23 OTTOBRE 2014
LABORATORIO DI CALCOLO, CANALE Q-Z
II Parte Nella seconda parte l’utente fornisce la distanza L di un bersaglio da colpire e la velocità iniziale v0 del proie)le, e si vuole determinare l’angolo θ con cui sparare il proie)le affinché colpisca il bersaglio Scrivere un programma esercitazione02bis.c che esegua le seguen@ operazioni 1.Chiedere all’utente di inserire il valore della velocità iniziale v0 in m/s ed assicurarvi che il valore inserito sia posi@vo 2. Chiedere la distanza L in metri del bersaglio da colpire v2
1. Assicurarsi che il valore inserito sia inferiore a 0 altrimen@ ripetere l’inserimento g
3. A par@re da un valore iniziale ✓ =
0.01
rad
per l’angolo ripetere le seguen@ operazioni 1. Aumentare l’angolo di δθ = 0.05 radian@ 2. Calcolare la gi6ata G del proie)le 3. Calcolare la distanza |G
L|
4. Interrompere il ciclo se si verifica la condizione |G
L| < ✏ = 0.5 m
4. Stampare sullo schermo il valore dell’angolo per il quale e` stato colpito il bersaglio Potete variare il passo δθ per vedere la l’effe6o sulla velocità di convergenza e la precisione della s@ma finale. Per calcolare il modulo |x| di un valore x potete usate la funzione matema@ca fabs(x)