Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ คำนวณค่า sin(x) และ cos(x)

โดยรับค่ามุมเป็นอินพุต และงานคือการคำนวณค่า sin(x) และ cos(x) ที่สอดคล้องกับมุมที่กำหนด แล้วแสดงผลลัพธ์

สำหรับ Sin(x)

Sin(x) เป็นฟังก์ชันตรีโกนมิติที่ใช้คำนวณค่าของมุม x

โปรแกรม C++ คำนวณค่า sin(x) และ cos(x)

สูตร

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

สำหรับ Cos(x)

Cos(x) เป็นฟังก์ชันตรีโกนมิติที่ใช้คำนวณค่าของมุม x

โปรแกรม C++ คำนวณค่า sin(x) และ cos(x)

สูตร

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

วิธีการที่ใช้ในโปรแกรมด้านล่าง −

  • รับค่ามุม x สำหรับ sin(x) และ cos(x)
  • นำสูตรที่กำหนดสำหรับ sin(x) และ cos(x) มาใช้
  • พิมพ์ผลลัพธ์

อัลกอริทึม

START
Step 1 → ประกาศฟังก์ชันคำนวณค่า sin
  void cal_sin(float n)
  ประกาศและกำหนด float acc = 0.0001, denominator, sinx, sinval
  ตั้งค่า n = n * (3.142 / 180.0)  // แปลงเป็นเรเดียน
  ประกาศ 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))
    พิมพ์ sinx

Step 2 → ประกาศฟังก์ชันคำนวณค่า cos
  void cal_cos(float n)
  ประกาศและกำหนด float acc = 0.0001, temp, denominator, cosx, cosval
  ตั้งค่า n = n * (3.142 / 180.0)  // แปลงเป็นเรเดียน
  ตั้งค่า 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))
    พิมพ์ cosx

Step 3 → ใน main()
  ประกาศ float n = 30
  เรียก cal_sin(n)
  ตั้งค่า n = 60
  เรียก cal_cos(n)
STOP

ตัวอย่างโค้ด

#include <iostream> 
#include <math.h> 
using namespace std; 

// คำนวณค่า sin
void cal_sin(float n) { 
    float acc = 0.0001, denominator, sinx, sinval; 
    n = n * (3.142 / 180.0); // แปลงเป็นเรเดียน 
    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; 
} 

// คำนวณค่า cos 
void cal_cos(float n) { 
    float acc = 0.0001, temp, denominator, cosx, cosval; 
    n = n * (3.142 / 180.0); // แปลงเป็นเรเดียน 
    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; 
}

ผลลัพธ์

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