Eu criei a seguinte classe para calcular o seno:
class Matematica
{
int fat(int n)
{
int i,f;
i=1;
f=1;
while(i<=n)
{
f=f*i;
i=i+1;
}
return f;
}
float pot(float x, float y)
{
float p,i;
p=1;
i=1;
while(i<=y)
{
p = p*x;
i=i+1;
}
return p;
}
float seno1(float x, int n)
{
float soma;
int k;
soma=0;
k=0;
while(k<n)
{
soma = soma + (pot(-1,k)*pot(x,2*k+1)/fat(2*k+1));
k=k+1;
}
return soma;
}
}
Porém, eu estou recebendo a se guinte mensagem no interaction:
Welcome to DrJava. Semestre\MAC-115\Programas\Capítulo 9
> Matematica calculador = new Matematica();
> calculador.seno1(0.1,4);
Error: No 'seno1' method in 'Matematica' with arguments: (double, int)
>
Qual está sendo meu erro?
Obrigado!!!!!!!
Thiago Postal!!!
Acabei conseguindo corrigir este erro fazendo as seguintes alterações:
class Matematica
{
int fat(int n)
{
int i,f;
i=1;
f=1;
while(i<=n)
{
f=f*i;
i=i+1;
}
return f;
}
double pot(double x, double y)
{
double p,i;
p=1;
i=1;
while(i<=y)
{
p = p*x;
i=i+1;
}
return p;
}
double seno1(double x, int n)
{
double soma;
int k;
soma=0;
k=0;
while(k<n)
{
soma = soma + (pot(-1,k)*pot(x,2*k+1)/fat(2*k+1));
k=k+1;
}
return soma;
}
}
Para evitar confusão passei as variáveis para double, mas acredito que fiz algumas alterações desnecessárias.
Caso alguém faça algo mais simples compartilhe, por favor.
Abraços,
Thiago Postal!!!
class Matematica
{
int fat(int n)
{
int i,f;
i=1;
f=1;
while(i<=n)
{
f=f*i;
i=i+1;
}
return f;
}
double pot(double x, double y)
{
double p,i;
p=1;
i=1;
while(i<=y)
{
p = p*x;
i=i+1;
}
return p;
}
double seno1(double x, int n)
{
double soma;
int k;
soma=0;
k=0;
while(k<n)
{
soma = soma + (pot(-1,k)*pot(x,2*k+1)/fat(2*k+1));
k=k+1;
}
return soma;
}
}
Para evitar confusão passei as variáveis para double, mas acredito que fiz algumas alterações desnecessárias.
Caso alguém faça algo mais simples compartilhe, por favor.
Abraços,
Thiago Postal!!!
Bom, o jeito mais simples de fazer esse exercício é o jeito que tem lá no livro, foi como eu fiz também tanto para seno, quanto cosseno e ln.
Se fizer desse jeito que você fez, usando a fórmula, vai estourar muito rápido (tanto a potência quanto o fatorial crescem muito de um termo pro outro).
Os meus ficaram assim: (ah, tá tudo cheio de comentários pq eu salvei num arquivo de texto pra estudar depois hehe)
Se fizer desse jeito que você fez, usando a fórmula, vai estourar muito rápido (tanto a potência quanto o fatorial crescem muito de um termo pro outro).
Os meus ficaram assim: (ah, tá tudo cheio de comentários pq eu salvei num arquivo de texto pra estudar depois hehe)
class Matematica /* Página 63, capítulo 10 */
{
double epsilon = 1.0e-8;
double calculaSeno(double x) /* Exemplo do Capítulo, refeito */
{
double termo=x;
double seno=termo;
for(int i=3;termo*termo>epsilon*epsilon;i+=2)
{
termo=-termo*x*x/(i*(i-1));
seno+=termo;
}
return seno;
}
double calculaCosseno(double x) /* Página 65, capítulo 10 , exercício 3 */
{
double termo=1;
double cosseno=termo;
for(int i=2;termo*termo>epsilon*epsilon;i+=2)
{
termo=-termo*x*x/(i*(i-1));
cosseno+=termo;
}
return cosseno;
}
double calculaLn(double y) /* Página 65, capítulo 10 , exercício 3 */
{
double x=y-1;
double termo=x;
double ln=termo;
for(int i=2;termo*termo>epsilon*epsilon;i++)
{
termo=-termo*x;
ln+=termo/i;
}
return ln;
}
}
Olá, Ariane
Realmente o método que vc utilizou é mais eficiente.
Eu comecei a fazer o método que postei mais para estudar potência e fatorial.
Mas irei seguir sua sugestão.
Valeuuu hein!!!
Um abraço,
Thiago Postal.
Realmente o método que vc utilizou é mais eficiente.
Eu comecei a fazer o método que postei mais para estudar potência e fatorial.
Mas irei seguir sua sugestão.
Valeuuu hein!!!
Um abraço,
Thiago Postal.
Ah, relaxa eu também tinha feito igual você...
Eu comecei fazendo com métodos que calculavam potência e fatorial. Aí meu namorado que me viu fazendo e me explicou que era legal eu fazer justamente pra estudar potência e fatorial, mas que não daria muito certo. Depois ele me mostrou esse jeito de fazer e pra estudar eu fiz pra cosseno e pra ln também! =D
De nada! =)
Beijos!
Eu comecei fazendo com métodos que calculavam potência e fatorial. Aí meu namorado que me viu fazendo e me explicou que era legal eu fazer justamente pra estudar potência e fatorial, mas que não daria muito certo. Depois ele me mostrou esse jeito de fazer e pra estudar eu fiz pra cosseno e pra ln também! =D
De nada! =)
Beijos!
Ariane, estou seguindo a mesma linha de estudo sua....hehe
Bom...vou calcular agora a tangente!!!rs
Valeuu!!!
Um abraço!!!!
Bom...vou calcular agora a tangente!!!rs
Valeuu!!!
Um abraço!!!!
class Mat
{
int Fat(int k)
{
int c=0;
int fat=1;
while(c<k)
{
c=c+1;
fat=fat*c;
}
return fat;
}
double Pot(double x,int k)
{
double pot=1;
int c=1;
while(c<=k)
{
pot =pot*x;
c=c+1;
}
return pot;
}
double calSen(double x,int n)
{
int d=0;
int k=1;
double termo=x;
double soma=0;
while (k<n)
{
termo = termo + Pot(-1,k)*Pot(x,2*k+1)/Fat(2*k+1);
soma = soma + termo;
k=k+1;
}
return soma;
}
}
c.calSen(0.5,2)
0.4791666666666667
{
int Fat(int k)
{
int c=0;
int fat=1;
while(c<k)
{
c=c+1;
fat=fat*c;
}
return fat;
}
double Pot(double x,int k)
{
double pot=1;
int c=1;
while(c<=k)
{
pot =pot*x;
c=c+1;
}
return pot;
}
double calSen(double x,int n)
{
int d=0;
int k=1;
double termo=x;
double soma=0;
while (k<n)
{
termo = termo + Pot(-1,k)*Pot(x,2*k+1)/Fat(2*k+1);
soma = soma + termo;
k=k+1;
}
return soma;
}
}
c.calSen(0.5,2)
0.4791666666666667
Valeuu, Marcos!!!!!!
Eu consegui aqui!!!!
Um abraço!!!!
Eu consegui aqui!!!!
Um abraço!!!!