C Program to find the value of Sinx up to the given accuracy

April 11, 2022, Learn eTutorial
2085

What is a sinx trigonometric function?

Sine is a trigonometric angle of a right-angled triangle, in this C program, we will find out the value of sine x up to the given accuracy. For an angle, sine value is defined as the ratio of length and side opposite that angle to the hypotenuse. [ means the longest side of the triangle ].
Normally all trigonometric functions are defined as the ratio of sides of the triangle, which have an angle too. The sine values for the defined angles are sine 0 = 0, sine 90 = 1, sine 30 = .5 etc.
Here we find out the value of sine x up to the given accuracy. For that, firstly, we are converting the given degrees to radians. We are using a do-while loop and use the steps given below.

den = 2*n*(2*n+1);
term = -term * x * x / den;
sinx = sinx + term;
n = n + 1;

How sinx calculation is implemented using C?

In this C program, after importing the header files, we are accepting the value of x in degrees. We save that value in a variable, and now to apply the formula, we need to convert the degree to radians using the formula 'pi / 180'. We get the needed accuracy from the user, and we save the value of the angle in radian in a variable 'x,' and we copy the 'x' to another variable and assign that to the sin(x). Now open a do-while loop to check and calculate the value using den =2*n*(2*n+1), then using 'den' we calculate the term = -term * x * x / den; .And sinx - sinx = sinx + term; we do the loop until the condition acc <= fabs(sinval - sinx) will be true. Finally printing the value of sinx as a result.

ALGORITHM

STEP 1: Import the Header files into the C program to use the built-in functions.

STEP 2: Accept the value of the angle in Degree using printf and scanf and save that in the variable.

STEP 3: Initialize and Define the variables.

STEP 4: Save the value of the angle in Degree into a variable and convert the Angle to Radians using 'pi / 180'.

STEP 5: Assign the value of sin(x) to a variable using sinval

STEP 6: Accept the accuracy value from the user using printf and scanf and save that to a variable.

STEP 7: Save the value of term =x and sinx = term and n = 1.

STEP 8: Open a 'do while' loop condition till the condition meets (acc <= fabs(sinval - sinx)).

STEP 9: Calculate the value of 'den' by using the formula den = 2*n*(2*n+1).

STEP 10: Calculate the Term Value using the formula -term * x * x / den. Using that, calculate the value of sinx by sinx + term and increment the n by 1.

STEP  11: Print the result of the Sine series using the printf.

This trigonometric program uses the below concepts of C programming, please refer to these topics for a better understanding

C Source Code

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void main()
{
int n, x1;
float  acc, term, den, x, sinx=0, sinval;  /* declares acc, term, den, sinx, sinval as float */
printf("Enter the value of x (in degrees)\n");  /* gets the value of x in degrees */
scanf("%f",&x);
x1 = x;
x = x*(3.142/180.0);   /* Converting degrees to radians*/
sinval = sin(x);
printf("Enter the accuracy for the result\n");   /* receives value of accuracy */
scanf("%f", & acc);
term = x;
sinx = term;
n = 1;

/* enters do while loop and use the formula to find den */
do
{
den = 2*n*(2*n+1);
term = -term * x * x / den;
sinx = sinx + term;
n = n + 1;
} while(acc <= fabs(sinval - sinx));    /* while condition checking */
printf("Sum of the sine series         = %f\n", sinx);
printf("Using Library function sin(%d) = %f\n", x1,sin(x));  /* prints the value of sinx */
}

OUTPUT

Enter the value of x (in degrees)
30
Enter the accuracy for the result
0.000001
Sum of the sine series         = 0.500059
Using Library function sin(30) = 0.500059

RUN 2

Enter the value of x (in degrees)
45
Enter the accuracy for the result
0.0001
Sum of the sine series         = 0.707215
Using Library function sin(45) = 0.707179

VIEW ALL
VIEW ALL