Balistica aliena
/*Balistica Aliena*/
#include <iostream>
#include <cmath>
using namespace std;
int main(){
//costanti utilizzate
const double PI = 3.141592;
const float G = 6.67E-11;
//variabili in gioco
double radius, //in Km
density,//in Kg/m3
angle, //in gradi
speed; //in m/s
//ingresso dati e relativi prompt
cout << "Balistica Aliena!\nVuoi sparare ad un alieno?\nInserisci il
raggio del pianeta (Km): ";
cin >> radius;
cout << "Densita' del pianeta (Kg/m3): ";
cin >> density;
cout << "Angolo di tiro (gradi) e velocita' iniziale del proiettile (m/s):
"; cin >> angle >> speed;
double local_g = (G * 4 * PI * (radius * 1000) * density)/3;
double reach = (pow(speed,2) * sin(2*(PI * angle / 180)))/local_g;
//dati in uscita
cout << "Bene, l'accelerazione di gravita' sul pianeta e' " << local_g <<
" m/s2.\n" << "La gittata del tuo proiettile e' di " << reach << " metri.
Ciao!\n";
return 0;
}
Programma C++ - Balistica aliena
Il programma domanda all'utente:
- a) Raggio e densità del pianeta (rispettivamente in Km e Kg/m3)
- b) Velocità iniziale e angolo di tiro di un proiettile (m/s e gradi) e calcola e comunica l'accelerazione di gravità sul pianeta e la gittata del proiettile in unità SI.
Nota: Vengono utilizzate le seguenti costanti:
G = 6.67*10^(-11) m^3/(Kg s^2) e le formule g=GM*R^(-2) e x=(v^2/g)*sin(2 theta) tenendo conto della conversione in radianti per le funzioni goniometriche di math.
Il programma si può provare ad esempio inserendo i dati della Terra che sono:
- 1) R = 6.38 * 10^3 Km
- 2) Densità = 5.51 * 10^3 Kg/m3