Trabalho de Física I

Publicado por Felipe Leão Mansur Pinheiro 20/04/2009

[ Hits: 16.505 ]

Download TRABALHO FISICA I.cpp




Este é um algoritmo bem simples. Calcula o lançamento de um projétil, ou seja, ele basicamente calcula a Altura Máxima, Tempo de Voo e o Alcance Horizontal.

Ainda estou trabalhando nele para implementar a parte gráfica, mas como sou iniciante em C, não tentei faze-lo na prática.

Obrigado pela oportunidade e comentem!!

  



Esconder código-fonte

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
    printf("Nome:Felipe Leao.\nDisciplina:Fisica I.\nCurso:Ciencia da Computacao.\nTurma:3 Periodo.\n");
    printf("\n\n");
    printf("----Lancamento de Projetil----\n");
    printf("\n\n");
    float radianos,sen,cosen,angulo,v0,g,ymax,t,xf;
    system("color 8F");
    int choose=0;
    printf("Forneca a velocidade inicial(m/s):\n");
    scanf("%f",&v0);
    if(v0<0){
             printf("Forneca um valor positivo para a velocidade.\n");
             system("pause");
             exit(1);
             }
    printf("Agora, a aceleracao(m/s^2):\n");
    scanf("%f",&g);
    if(g<0){
            printf("\aNeste caso, a=-g,a gravidade nao pode ser negativa.\n");
            system("pause");
            exit(1);
            }
            if(g==0){
                     printf("Forneca outro valor para a aceleracao\.n");
                     system("pause");
                     exit(1);
                     }
    printf("E, finalmente, forneça um angulo em graus(°)\n");
    scanf("%f",&angulo);
    radianos = (angulo * M_PI)/180;
    printf("\n\n");
    printf("----  Dados  ----\n");
    printf("Velocidade(m/s):%f\n",v0);
    printf("Aceleracao(m/s^2):%f\n",g);
    printf("Angulo(°):%f\n",angulo);
    printf("----  Dados  ----");
    printf("\n");
    printf("\n");
    start:
    printf("Escolha uma das opcoes:\n1)Calcular a Altura Maxima\n2)Calcular o tempo de voo\n3)Calcular o alcance horizontal.\n4)Sair.\n\n");
    scanf("%d",&choose);
    if(choose==1){
                  sen= sin(radianos);
                  ymax=(pow(v0,2)*(pow(sen,2)))/(2*g);
                  printf("\aAltura máxima(m)=%f\n",ymax);
                  printf("\n\n");
                  goto start;
                  }
                  if(choose==2){
                                sen= sin(radianos);
                                t=(2*v0*sen)/g;
                                printf("\aTempo de voo(s)=%f\n",t);
                                printf("\n\n");
                                goto start;
                                }
                                if(choose==3){
                                              cosen=cos(radianos);
                                              sen= sin(radianos);
                                              xf=(2*pow(v0,2)*(cosen*sen)/g);
                                              printf("\aAlcance Horizontal(m)=%f\n",xf);
                                              printf("\n\n");
                                              goto start;
                                              }
                                              if(choose==4){
                                                            system("pause");
                                                            exit(1);
                                                            }
                                              end:
                                                  return 0;
                                              }
/*TRABALHO DE FÍSICA I :
           NOME: Felipe Leão Mansur Pinheiro
           3° Período, Ciência da Computação*/
                                
    
    
    

Scripts recomendados

Raiz quadrada aproximada

Quadrado de um número

Cálulo de expressão do 2 grau ( Baskara )

Processo em background

operacoes_mat


  

Comentários
[1] Comentário enviado por fbugnon em 21/04/2009 - 12:14h

Ei Felipe,

Primeiramente parabéns pelo script, me parece bem bacana embora eu não entenda muito bem tudo o que está lá.

Eu tentei executar em um terminal depois de ter atribuído permissão de execução ("chmod +x TRABALHO") mas dá um erro de sintaxe. O que eu estou fazendo errado? Ou o que eu deveria fazer para experimentar seu script?

Abaixo a mensagem do terminal:

fabio@fabio-desktop:~/Desktop$ ./TRABALHO
./TRABALHO: line 4: erro de sintaxe próximo a símbolo inesperado `('
'/TRABALHO: line 4: `int main()


Valeu!

[2] Comentário enviado por darkjeff em 23/04/2009 - 14:13h

The Unforgiven legal o script apesar de não manjar muito de CPP.

fbugnon, para testar você deve compilar o arquivo e depois rodar. Algo como:

$ gcc programa.cpp -o programa
$ ./programa

Forte abraço.

[3] Comentário enviado por FelipeLeaoMansur em 23/04/2009 - 16:10h

Obrigado a vocês!!Espero que este algoritmo esteja ajudando a todos!Quando eu tiver algo novo eu publicarei rapidamente. Grato.

[4] Comentário enviado por andrezc em 11/09/2009 - 21:53h

Usou alguns system("pause"); ( que é gambiarra) pois chama outro programa e depende de biblioteca, isso sem falar que pode trazer falhas de segurança, e usou goto's também, isso é um mau estilo de programar.


substitua o system("pause"); por getchar(); no C ele não depende de biblioteca fora a padrão stdio.h


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts