Problemi con un'esercitazione di esame in C, creazione di un pendolo.

di il
3 risposte

Problemi con un'esercitazione di esame in C, creazione di un pendolo.

Ciao a tutti,
Sono una ragazza che sta affrontando l'esame di informatica per fisica. Avrei bisogno di un aiutino per capire dove io stia sbagliando:
Si deve scrivere un programma chiamato pendolo.c per stimare numericamente il periodo T delle
oscillazioni di un pendolo semplice a partire dagli zeri di ?(t). In particolare il programma dovrà:
1. Chiedere in input la lunghezza della corda l (in m) e l’angolo ?max (in gradi), verificando che l
sia positiva e che ?max sia compreso tra 0
?
e 90?
(attenzione: nelle equazioni (1) e (2) l’angolo
deve essere poi fornito in radianti!)
2. Calcolare il periodo Thar valido per piccole oscillazioni e stamparlo con 5 cifre dopo la virgola.
3. Calcolare e stampare in notazione scientifica il passo temporale ?t utilizzando la seguente
formula:
?t =
Thar
2
20
4. Inizializzare t, ? e ?v (ovvero porre t = 0, ? = ?max e ?v = 0).
5. Calcolare ? e ?v al tempo t + ?t effettuando un passo d’integrazione tramite le equazioni (1)
e (2).
6. Aggiornare il tempo t incrementandolo di ?t.
7. Calcolare il prodotto P = ?(t + ?t)?(t). Si noti che se P < 0 allora si è trovato uno zero di
?(t). Dunque nel caso in cui P < 0, memorizzare il valore attuale di t in un array chiamato Ts.
Risulterà quindi che il primo elemento di Ts è il tempo a cui abbiamo trovato il primo zero di
?(t), il secondo elemento quello a cui abbiamo trovato il secondo zero e così via.
8. Se il numero di zeri di ?(t) è pari a 3 il ciclo sui passi d’integrazione deve terminare, altrimenti
si torna al punto 5.
9. Come già discusso, una stima numerica Test del periodo del pendolo sarà pari alla differenza tra
l’ultimo (cioè il terzo) ed il primo elemento dell’array Ts in cui sono stati memorizzati gli zeri
di ?(t).
10. Stampare il periodo calcolato numericamente Test con 5 cifre dopo la virgola.
Nello scrivere il programma si richiede che vengano implementate le seguenti funzioni:
• inserimento(...), che richiede l’inserimento di un numero numero in virgola mobile
• passo(...), che effettuerà un singolo passo d’integrazione aggiornando i valori di ? e ?v tramite
le equazioni (1) e (2).
• force(...), che dati ?, g ed l restituisce il valore -(g/l)sin(?).
questo è il testo dell'esercitazione,
e non riesco a incollare un'immagine del mio codice, potreste farmi vedere come lo sviluppereste voi?
Grazie mille!

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte