Calcula Força Gravitacional

Publicado por Felipe Leão Mansur Pinheiro 07/07/2009

[ Hits: 10.867 ]

Download Calcula Forca Gravitacional.cpp




Este é um algoritmo bem simples. Basicamente, calcula a força gravitacional entre a Terra e
um satélite X, ou seja, o usuário forneçe apenas os dados do satélite.

Usei a idéia de função e tive de usar a notação científica no código pois os números
envolvidos são muito grandes. Espero que gostem desse programa, pois esse é o meu
favorito.

The Unforgiven

  



Esconder código-fonte

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
//r é o delta R, Raio da Terra e do Satélite
float CalculaForcaGravitacional ( float Msat,float Vsat,float G,float Mterra,float Rsat,float Rterra)
{
      float Fgra,deltaR;
      deltaR=Rsat-Rterra;
      Fgra=(G*Msat*Mterra)*(deltaR)/(pow(deltaR,2));
      return Fgra;
      }
      int main()
      {
          float Msat,Vsat,G=-(pow(6.67,11)),Mterra=(pow(5.98,24)),Rsat,Rterra=6938.8,ForcaGravitacional;
          printf("!===================================!\n");
          printf("!      Nome:Felipe Leao             !\n");
          printf("!      Curso:Ciencia da Computacao  !\n"); 
          printf("!      Periodo:III                  !\n");
          printf("!      Disciplina:Fisica I          !\n");
          printf("!      Instituicao: UNIPAC          !\n");
          printf("!===================================!\n");
          printf("\n\n"); 
          printf("    Programa que calcula a Forca Gravitacional entre a Terra e um satelite X\n                         em Linguagem C(usando funcoes).\n");
          printf("\n\n");
          printf("Forneca a massa do satelite desejado(em kg).\n");
          scanf("%f",&Msat);
          printf("Forneca agora o raio do satelite desejado(em km).\n");
          scanf("%f",&Rsat);
          printf("Agora, forneca a velocidade do satelite desejado.(km/h).\n");
          scanf("%f",&Vsat);
          printf("Dados de Entrada:\n");
          printf("Massa da Terra: %f kg.\n",Mterra);
          printf("Raio da Terra: %f  km.\n",Rterra);
          printf("G:(constante Gravitacional) %f N*m^2/kg^2\n",G);
          printf("Massa do Satelite: %f Kg\n",Msat);
          printf("Raio do Satelite: %f Km\n",Rsat);
          printf("Velocidade do Satelite: %f Km/h \n",Vsat);
          printf("-------------------------------\n");
          ForcaGravitacional=CalculaForcaGravitacional(Msat,Vsat,G,Mterra,Rsat,Rterra);
          printf("Forca Gravitacional e %f N\n",ForcaGravitacional);
          system("pause");
          getche();
          return 0;
          }

Scripts recomendados

Qual o tipo de triângulo?

Converte Celsius para Farenheit

Velha reversa

Tabuada de número real

Codigo anscii


  

Comentários
[1] Comentário enviado por pothix em 08/07/2009 - 10:40h

Æ!!

Muito legal a idéia mas o código está muito ruim...

My points:

1. Não sei qual editor você usou para fazer esse código, mas a indentação está muito ruim
2. <conio.h> só funciona no windows...Assim como o Getche...
3. system("pause") é muito tosco e só funciona no windows, tendo em vista que o comando system para para o sistema operacional.
4. Você poderia ter definido uma constante com #define ao invés de criar a variável G=-(pow(6.67,11)) assim, já que esse valor não vai mudar, ou melhor, você poderia colocar esse valor já calculado. ;)

Entenda como uma crítica construtiva e tente melhorar o seu código, por que a idéia é interessante.

Há braços

[2] Comentário enviado por FelipeLeaoMansur em 08/07/2009 - 19:11h

Olá,
My Answers:
1. Usei o DevC++ para compilar este algoritmo, sei cpp
2. Usei sim o <conio.h> pois desenvolvi este programa usando o Windows
3. system("pause") é muito útil em um código, desculpe se vc n pode tirar proveito disso
4.implementei desse jeito mesmo pois não existe a necessidade de criar #define, a aplicação é simples demais, isso é mais
interessante quando se usa ponteiros(por exemplo: #define MALLOC(x) ((x *) malloc (sizeof(x))) ).
Fiz desse jeito pq passei esse programinha para uma pessoa que estava com dificuldade de entender as funções da biblio math.h

Mas obrigado pelas críticas, mas código ''muito'' ruim é aquele que nem compila e possui erros de lógica.
ah, sobre a endentação, quando se cola o código a endentação vai pro espaço e, no arquivo cpp, se vc observar bem, está tudo ok.

Obrigado pelo comentário!!Valeu!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts