Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Felipe Leão Mansur Pinheiro em 07/07/2009    [ 3016 hits ]

Login: The Unforgiven, 22893 pontos

   


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 ]

[ 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
   Script Linux recomendado Par ou ímpar
   Script Linux recomendado Pilha com alocação estática
   Script Linux recomendado Agenda Telefônica
   Script Linux recomendado Visualizador binário
   Script Linux recomendado Dado

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 The Unforgiven 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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.