You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
2.0 KiB
C++

/*----- CALCULATION OF TRUNCATION ERROR OF SERIES APPROXIMATION -------*/
/* EXPONENTIAL SERIES exp(x) IS USED HERE
INPUTS : 1) The total number of terms to be computed
in series starting from first term.
2) The value of 'x' in exp(x).
OUTPUTS : 1) Computed value of series approximation of exp(x).
2) Actual value of exp(x) function.
3) Absolute error between series approximation and
actual value of exp(x) function. */
/*------------------------------ PROGRAM --------------------------*/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
double fact ( int n); /* DECLARATION OF FACTORIAL FUNCTION */
double x,sum,z,sum1;
int n,i;
clrscr();
printf("\n\t\tCALCULATION OF TRUNCATION ERROR "
"OF SERIES APPROXIMATION");
printf("\n\nGive number of terms "
"in series to be computed = ");
scanf("%d",&n); /* NUMBER OF TERMS TO BE COMPUTED IN SERIES */
n = n - 1; /* TERMS ARE COMPUTED FROM ZERO HENCE 'n-1' */
printf("\nGive value of x = ");
scanf("%lf",&x); /* VALUE OF 'x' */
sum = 0;
sum1 = 0;
for(i = 0; i<=n; i++)
{
z = fact(i);
sum = pow(x,(double)i)/z;
sum1 = sum1 + sum;
}
printf("\nThe computed value of exp(x) "
"function is = %1.15lf",sum1); /* COMPUTED VALUE */
printf("\n\nThe actual value of exp(x) "
"function is = %1.15lf",exp(x)); /* ACTUAL VALUE */
printf("\n\nTruncation error in series "
"approximation is = %1.15lf", exp(x)-sum1); /* ERROR */
}
/*------------- FUNCTION PROCEDURE TO CALCULATE FACTORIAL -------------*/
double fact( int n)
{
double facto;
facto = 1;
if(n == 0) return( facto = 1);
do
{
facto = facto * n;
}
while(n-- > 1);
return(facto);
}
/*----------------------- END OF PROGRAM ----------------------------*/