|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
[C] Piccolo aiutino per semplicissimo programmino di fisica
Ciao,
allora devo fare questo semplice programmino e avrei bisogno di qualche consiglio su come impostarlo (non voglio che me lo risolviate...poi ci penso io...ditemi solo se la mia idea va bene). Il testo completo dell'esercizio è a questo indirizzo: http://www.roma1.infn.it/people/org...boratorio_2.pdf Praticamente inizialmente chiederò all'utente di immettere il valore della massa di un pianeta e lo andrò a mettere in una variabile chiamata "massa_pianeta", poi chiederò all'utente di inserire il valore del raggio del pianeta e lo andrò ad inserire in una variabile chiamata "raggio_pianeta". G invece è sempre pari a: 6.674*10^11 e la posso dichiarare come costante visto che è una costante fisica e non cambia mai. Primo problema: G vale: 6.674 10^11 ed anche i valori da inserire per la massa e per il raggio saranno molto grandi...ad esempio massa_pianeta potrebbe valere qualcosa come: 5.9723*10^24 e raggio_pianeta potrebbe valere qualcosa come: 6.37814*10^6 Che tipo di dato devo usare? int sicuramente no...manco float credo...e sopratutto come posso fare in modo che un utente immetta nel prompt di msdos o di linux un valore espresso nella forma: valore*10^x ?!?! c'è un modo specifico per fare questa cosa?!?! Vabbè poi una volta preso l'input credo che il resto del programma si riduca semplicemente a calcolare il valore di g con la prima formuletta e metterlo in una variabile chiamata per esempio: accelerazione_gravitazionale oppure anche g stesso...e poi usare tale valore nella formuletta per calcolare t e mettere il valore ottenuto dal calcolo in una variabile chiamata tempo e poi stampare in output tale valore calcolato... Mi sapete dire quindi che tipo di dato devo usare per le variabili massa_pianeta, raggio_pianeta e per la costante G (long o unsigned long andranno bene o sono ancora troppo piccoli!?!?)?e come eseguire l'input nella corretta forma con le potenze di 10? Cioè inizialmente ho pensato che per rappresentare ognuno di questi valori potrei usare 2 variabili....una che contiene il valore che viene moltiplicato per 10^x ed uno appunto per l'esponente x...però mi sembra una rozzata...c'è un modo per poter inserire direttamente nel prompt qualcosa tipo: 6,3424342*10^x ?!?! Grazie Andrea |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 558
|
allora, immagino tu ti sia sbagliato ma ovviamente G vale 6.674 10^-11, cmq quello che ti consiglio di fare è porre G a 1 (o cmq di ordine 1) e utilizzare masse e raggi in modo che ti vengano valori sensati di g. Poi volendo riconverti tutto alla fine quando sputi fuori l'output, ma non utilizzare mai numeri del genere quando fai simulazioni, gli errori di rounding che puoi fare possono arrivare a cifre ragguardevoli...
|
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
Quote:
Come faccio dopo ad utilizzare valori per masse e raggi per fare venire g sensata? te come faresti? |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 558
|
scusa se non ti ho risposto prima, mi ero dimenticato di questo post
cmq, se consideri che g vale 9.82 m/s^2 la massa della terra è circa 6*10^24 kg, il raggio è 6.5*10^6 m e G 6.7*10^-11 m^3/kg*s^2, se poni G = 1 ottieni una massa di circa 1*10^13, se metti anche il raggio a 1 ti viene una massa di circa 10 (tenendo ferma g ovviamente). In questo modo vedi che, con G = 1, ti basta avere raggio e massa che non si discostino troppo da 1 e da 10 per ottenere valori dell'accelerazione gravitazionale più o meno "terrestri" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:35.




















