Antes de mais nada agradecer os membros do fórum pela ajuda dada.
Minha dúvida vem quanto ao seguinte código para calcular o sen de algum número pela sequência de Taylor.
Não sei o erro mas ela me retorna um valor nan . Nunca tinha visto antes. Grato desde já !
#include <iostream>
#include <cstdlib>
using namespace std;
const double pi = 3.141592653589793;
double Fatorial ( int n )
{
if ( n == 1 )
{
return 1;
}
else
{
double fatorial = 1;
fatorial *= n * Fatorial ( n - 1 );
}
}
double Potencia ( double x , int y ) // Calcula a potência de x elevado a y. OBS : y é um inteiro , negativo ou positivo
{
if ( y == 0 ) { return 1; } // Caso y = 0 , todo número elevado a zero = 1
if ( y >= 1 ) // Caso y > 1 onde será necessário multiplicações sucessivas
{
double Potencia = x;
while ( y > 1 )
{
Potencia *= x;
y--;
}
return Potencia;
}
}
int main()
{
double x;
cout << " Digite o x em graus para saber sen(x) : ";
cin >> x;
int termos;
cout << " Digite o numero de termos da sequencia de Taylor que deseja : ";
cin >> termos;
x = (x*pi)/180;
double Seno = 0;
for ( int n = 0; n < termos; n++ )
{
Seno += Potencia ( -1 , n ) * Potencia ( x , 2 * n + 1 ) / Fatorial ( 2* n + 1 );
}
cout << Seno;
system ("pause");
return 0;
}
Pergunta
frankxx
Antes de mais nada agradecer os membros do fórum pela ajuda dada.
Minha dúvida vem quanto ao seguinte código para calcular o sen de algum número pela sequência de Taylor.
Não sei o erro mas ela me retorna um valor nan . Nunca tinha visto antes. Grato desde já !
#include <iostream> #include <cstdlib> using namespace std; const double pi = 3.141592653589793; double Fatorial ( int n ) { if ( n == 1 ) { return 1; } else { double fatorial = 1; fatorial *= n * Fatorial ( n - 1 ); } } double Potencia ( double x , int y ) // Calcula a potência de x elevado a y. OBS : y é um inteiro , negativo ou positivo { if ( y == 0 ) { return 1; } // Caso y = 0 , todo número elevado a zero = 1 if ( y >= 1 ) // Caso y > 1 onde será necessário multiplicações sucessivas { double Potencia = x; while ( y > 1 ) { Potencia *= x; y--; } return Potencia; } } int main() { double x; cout << " Digite o x em graus para saber sen(x) : "; cin >> x; int termos; cout << " Digite o numero de termos da sequencia de Taylor que deseja : "; cin >> termos; x = (x*pi)/180; double Seno = 0; for ( int n = 0; n < termos; n++ ) { Seno += Potencia ( -1 , n ) * Potencia ( x , 2 * n + 1 ) / Fatorial ( 2* n + 1 ); } cout << Seno; system ("pause"); return 0; }Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.