Pular para o conteúdo

Calcula Força Gravitacional

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
Felipe Leão Mansur Pinheiro FelipeLeaoMansur
Hits: 11.380 Categoria: C/C++ Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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
Download Calcula Forca Gravitacional.cpp Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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;
          }
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Funções, Ponteiros e Struct

Retorna o número elevado ao quadrado

Caixa eletronico em C

Converte segundos para horas, minutos e segundos

Cálculo de Determinantes

#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

Entre na sua conta para comentar.