Computer >> Máy Tính >  >> Lập trình >> C ++

C ++ Chương trình tính giá trị của sin (x) và cos (x)

Với đầu vào là các góc và nhiệm vụ là tính giá trị của sin (x) và cos (x) tương ứng với góc đã cho và hiển thị kết quả

For Sin (x)

Sin (x) là một hàm lượng giác được sử dụng để tính giá trị của góc x.

C ++ Chương trình tính giá trị của sin (x) và cos (x)

Công thức

$$ \ sin (x) =\ displaystyle \ sum \ limit_ {k =0} ^ \ infty \ frac {(- 1) ^ {k}} {(2k + 1)!} x ^ {2k + 1} $ $

Đối với Cos (x)

Cos (x) là một hàm lượng giác được sử dụng để tính giá trị của góc x.

C ++ Chương trình tính giá trị của sin (x) và cos (x)

Công thức

$$ \ cos (x) =\ displaystyle \ sum \ limit_ {k =0} ^ \ infty \ frac {(- 1) ^ {k}} {(2k)!} x ^ {2k} $$

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau -

  • Nhập giá trị của góc x cho sin (x) và cos (x)
  • Áp dụng các công thức đã cho cho sin (x) và cos (x)
  • In kết quả

THUẬT TOÁN

START
Step 1-> declare function to calculate value of sin
   void cal_sin(float n)
   declare and set float acc = 0.0001, denominator, sinx, sinval
   Set n = n * (3.142 / 180.0)
   Declare float temp = n
   Set sinx = n
   Set sinval = sin(n)
   Declare and set int i = 1
   DO
      set denominator = 2 * i * (2 * i + 1)
      set temp = -temp * n * n / denominator
      Set sinx = sinx + temp
      Set i = i + 1
   While(acc <= fabs(sinval - sinx))
      print sinx
Step 2-> Declare function to calculate value of cos
   void cal_cos(float n)
   Declare and set float acc = 0.0001, temp, denominator, cosx, cosval
   Set n = n * (3.142 / 180.0)
   Set temp = 1
   set cosx = temp
   set cosval = cos(n)
   Set int i = 1
   Do
      set denominator = 2 * i * (2 * i - 1)
      Set temp = -temp * n * n / denominator
      Set cosx = cosx + temp
      Set i = i + 1
   While(acc <= fabs(cosval - cosx))
      print cosx
Step 3-> In main()
   Declare float n = 30
   Call cal_sin(n0
   set n=60
   Call cal_cos(n)
STOP

Ví dụ

#include <iostream>
#include <math.h>
using namespace std;
//calculate value of sin
void cal_sin(float n) {    
    float acc = 0.0001, denominator, sinx, sinval;
    n = n * (3.142 / 180.0);  //convert in radian
    float temp = n;
    sinx = n;          
    sinval = sin(n);    
    int i = 1;
    do {
        denominator = 2 * i * (2 * i + 1);
        temp = -temp * n * n / denominator;
        sinx = sinx + temp;
        i = i + 1;
    } while (acc <= fabs(sinval - sinx));
    cout<<sinx;
}
//calculate value of cos  
void cal_cos(float n) {
    float acc = 0.0001, temp, denominator, cosx, cosval;
    n = n * (3.142 / 180.0); //convert in radiam
    temp = 1;
    cosx = temp;          
    cosval = cos(n);
    int i = 1;
    do {
        denominator = 2 * i * (2 * i - 1);
        temp = -temp * n * n / denominator;
        cosx = cosx + temp;
        i = i + 1;
    } while (acc <= fabs(cosval - cosx));
    cout<< cosx;
}
int main() {
    float n = 30;
    cout<<"value of Sin is : "; cal_sin(n);
cout<<"\n";
    n=60;
cout<<"value of Cos is : ";
cal_cos(n);
    return 0;
}

Đầu ra

value of Sin is : 0.500061
value of Cos is : 0.499847