Análisis Numéricos.
Completion requirements
5. Ejercicio ortodrómica
5.1. ejemplo solución coseno
/*
* Germán Andrés Xander 2017 *
*
* Programa que calcula el coseno de un número utilizando la serie de Taylor
*/
#include <iostream>
using namespace std;
int factorial(int j);
long double calculaTerm(long double x, int j);
#define PI 3.1415926535897932384
int main(void){
long double deg;
long double rad;
int i;
long double result = 1;
cout<<"Ingrese x en grados: ";
cin>>deg;
/* convertir x a radianes */
rad = deg * PI / 180;
for(i = 1; i <= 10; ++i){
int j = 2*i;
long double term = calculaTerm(rad, j);
// suma si i es par y resta si es impar, según la serie de taylor
if(i%2==0){
result=result+term;
}else{
result=result-term;
}
}
cout.precision(15);
cout<< "el coseno de "<<deg<<" es "<<result;
}
int factorial(int j){
int fact=1;
for (int i=2; i<j+1;i++){
fact=fact*i;
}
return fact;
}
long double calculaTerm(long double x, int j){
long double taylor=1;
for(int i=0;i<j;i++){
taylor=taylor*x;
}
return taylor/factorial(j);
}