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

สูตร
$$\sin (x) = \displaystyle\sum\limits_{k=0}^\infty \frac{(-1)^{k}}{(2k+1)!}x^{2k+1}$$
สำหรับ Cos(x)
Cos(x) เป็นฟังก์ชันตรีโกนมิติที่ใช้คำนวณค่าของมุม 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