Program 55 - CSU1128 - CSE 2026 - Shoolini University

Program to calculate the value of sine and cosine series where \n\tsin(x) = a₀ + a₁cos(x) + a₂cos(2x) + a₃cos(3x) + ... + ancos(nx) and\n \t cos(x) = b₀ + b₁cos(x) + b₂cos(2x) + b₃cos(3x) + ... + bncos(nx)\n x is entered by the user

Explanation

The program calculates the value of sine and cosine series for a given \( x \) and the number of terms \( n \) entered by the user. The sine and cosine series are expanded using their Taylor series representation.

Header

The code begins with including the standard input-output header file and math header file using #include <stdio.h> and #include <math.h>.

Function Declaration

The program declares a recursive function factorial to compute the factorial of a number:

  • int factorial(int n): Declares the function with an integer parameter n.

Function Definition

The program defines the factorial function:

  • if (n == 0) { return 1; }: Defines the base case where the factorial of 0 is 1.
  • return n * factorial(n - 1);: Defines the recursive case where the factorial of n is equal to n multiplied by the factorial of n - 1.

Variable Declaration

The main() function is defined, and several variables are declared:

  • double x: Variable to hold the input value \( x \) in radians.
  • int n: Variable to hold the number of terms for the series expansion.
  • double sin_series = 0: Variable to accumulate the sum of the sine series terms.
  • double cos_series = 0: Variable to accumulate the sum of the cosine series terms.

Program Description

The program prints a description message for the user to understand its functionality.

User Input

The user is prompted to enter the value of \( x \) and the number of terms \( n \) for the series expansion:

  • printf("Enter a number for which you want to print its sine and cosine till its number of times series expansion should be done (Example: 23 4) - and press enter: ");: Prompts the user to enter the value of \( x \) and \( n \).
  • scanf("%lf %d", &x, &n);: Reads the values entered by the user and stores them in x and n.

Series Calculation

The program calculates the sine and cosine series using the Taylor series expansion:

  • for (int i = 0; i <= n; i++): Loops through the terms of the series expansion.
  • double a = pow(-1, i) * pow(x, 2 * i + 1) / factorial(2 * i + 1);: Computes the coefficient for the current term of the sine series.
  • sin_series += a;: Adds the current term to the sine series.
  • double b = pow(-1, i) * pow(x, 2 * i) / factorial(2 * i);: Computes the coefficient for the current term of the cosine series.
  • cos_series += b;: Adds the current term to the cosine series.

Output Result

The program prints the calculated values of the sine and cosine series:

  • printf("Sine series: %f\n", sin_series);: Prints the value of the sine series.
  • printf("Cosine series: %f\n", cos_series);: Prints the value of the cosine series.

Program End

The program ends with return 0; to indicate successful execution.

Code

                    
/*
 * -----------------------------------------------------------
 * Logic Building with Computer Programming (CSU1128)
 * Instructor: Dr. Pankaj Vaidya | Author: Divya Mohan
 * 
 * This code is a part of the educational initiative by dmj.one
 * with aim of empowering and inspiring learners in the field of
 * Computer Science and Engineering through the respective courses.
 * 
 * (c) 2022, Divya Mohan for dmj.one. All rights reserved.
 * -----------------------------------------------------------
 */

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

// Function to compute the factorial of a number
int factorial(int n)
{
    if (n == 0)
    {
        return 1;
    }
    return n * factorial(n - 1);
}

int main()
{
    printf("\n\n Program to calculate the value of sine and cosine series where \n\tsin(x) = a₀ + a₁cos(x) + a₂cos(2x) + a₃cos(3x) + ... + ancos(nx) and\n \t cos(x) = b₀ + b₁cos(x) + b₂cos(2x) + b₃cos(3x) + ... + bncos(nx)\n x is entered by the user. \n\n");

    // Define the value of x for which we want to compute the sine and cosine series
    // double x = 1.5;
    double x;

    // Define the number of terms to use in the series expansion
    // int n = 10;
    int n;

    printf("\n\n Program to get the sine and cosine series of the number till the times entered by the user. Example 10 1.5 = sine: 0.997467 and cosine: 0.070737 \n\n");

    printf("Enter a number for which you want to print its sine and cosine till its number of times series expansion should be done(Example: 23 4) - and press enter: ");
    scanf("%lf %d", &x, &n);

    // Initialize the sine and cosine series
    double sin_series = 0;
    double cos_series = 0;

    // Loop through the terms of the series expansion
    for (int i = 0; i <= n; i++)
    {
        // Compute the coefficient for the current term of the sine series
        double a = pow(-1, i) * pow(x, 2 * i + 1) / factorial(2 * i + 1);

        // Add the current term to the sine series
        sin_series += a;

        // Compute the coefficient for the current term of the cosine series
        double b = pow(-1, i) * pow(x, 2 * i) / factorial(2 * i);

        // Add the current term to the cosine series
        cos_series += b;
    }

    // Print the results
    printf("Sine series: %f\n", sin_series);
    printf("Cosine series: %f\n", cos_series);

    return 0;
}

                

Output

Program to calculate the value of sine and cosine series where \n\tsin(x) = a₀ + a₁cos(x) + a₂cos(2x) + a₃cos(3x) + ... + ancos(nx) and\n \t cos(x) = b₀ + b₁cos(x) + b₂cos(2x) + b₃cos(3x) + ... + bncos(nx)\n x is entered by the user.

Program to get the sine and cosine series of the number till the times entered by the user. Example 10 1.5 = sine: 0.997467 and cosine: 0.070737
Enter a number for which you want to print its sine and cosine till its number of times series expansion should be done(Example: 23 4) - and press enter: 4 5
Sine series: -0.766805
Cosine series: -0.685785