class lancaParticula
{
  
  double pot(double x, int n)
  {
    double prod;
    int i;
    
    prod = 1;
    for (i=1; i<=n; i++)
      prod = prod * x;
    return prod;
  }
  
  double fat(int n)
  {
    double prod;
    int i;
    
    prod = 1;
    for (i=1; i<=n; i++)
      prod = prod * i;
    return prod;
  }
  
  double aproximaCos1(double x, int n)
  {
    double num, den, soma;
    int i,k, sinal;
    
    k = 0;
    soma = 1;
    sinal = 1;
    for(i=2; i<=n; i++)
    {
      sinal = -sinal;
      k = k+2;
      num = pot(x,k);
      den = fat(k);
      soma = soma + (sinal*num/den);
    }
    return(soma);
  }
    
  double aproximaCos2(double x, int n)
  {
    double num, den, soma;
    int i,k;
    
    num = 1.0;
    den = 1.0;
    k = 0;
    soma = 1;
    for(i=2; i<=n; i++)
    {
      num = -num*x*x;
      den = den * (k+1) * (k+2);
      soma = soma + (num/den);
      k = k+2;
    }
    return(soma);
  }
  
  void componenteVx(double v0, double theta, int n)
  {
    double vx1, vx2;
    
    vx2 = aproximaCos2(theta,n) * v0;
    System.out.println(vx2);
    
    vx1 = aproximaCos1(theta,n) * v0;
    System.out.println(vx1);
  }
}