Cho góc đầu vào, 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ả.
Hàm Sin(x)
Sin(x) là hàm lượng giác được sử dụng để tính giá trị của góc x.

Công thức
$$\sin (x) = \displaystyle\sum\limits_{k=0}^\infty \frac{(-1)^{k}}{(2k+1)!}x^{2k+1}$$
Hàm Cos(x)
Cos(x) là hàm lượng giác được sử dụng để tính giá trị của góc x.

Công thức
$$\cos (x) = \displaystyle\sum\limits_{k=0}^\infty \frac{(-1)^{k}}{(2k)!}x^{2k}$$
Phương pháp sử dụng trong chương trình dưới đây:
- Nhập giá trị 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
BẮT ĐẦU
Bước 1 → Khai báo hàm tính giá trị sin
void cal_sin(float n)
Khai báo và gán float acc = 0.0001, denominator, sinx, sinval
Gán n = n * (3.142 / 180.0) // Chuyển sang radian
Khai báo float temp = n
Gán sinx = n
Gán sinval = sin(n)
Khai báo và gán int i = 1
LÀM
Gán denominator = 2 * i * (2 * i + 1)
Gán temp = -temp * n * n / denominator
Gán sinx = sinx + temp
Gán i = i + 1
KHI (acc <= fabs(sinval - sinx))
In sinx
Bước 2 → Khai báo hàm tính giá trị cos
void cal_cos(float n)
Khai báo và gán float acc = 0.0001, temp, denominator, cosx, cosval
Gán n = n * (3.142 / 180.0) // Chuyển sang radian
Gán temp = 1
Gán cosx = temp
Gán cosval = cos(n)
Gán int i = 1
LÀM
Gán denominator = 2 * i * (2 * i - 1)
Gán temp = -temp * n * n / denominator
Gán cosx = cosx + temp
Gán i = i + 1
KHI (acc <= fabs(cosval - cosx))
In cosx
Bước 3 → Trong main()
Khai báo float n = 30
Gọi cal_sin(n)
Gán n = 60
Gọi cal_cos(n)
KẾT THÚC
Ví dụ mã nguồn
#include <iostream>
#include <math.h>
using namespace std;
// Tính giá trị sin
void cal_sin(float n) {
float acc = 0.0001, denominator, sinx, sinval;
n = n * (3.142 / 180.0); // Chuyển sang 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;
}
// Tính giá trị cos
void cal_cos(float n) {
float acc = 0.0001, temp, denominator, cosx, cosval;
n = n * (3.142 / 180.0); // Chuyển sang radian
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 << "Giá trị Sin là: "; cal_sin(n); cout << "\n";
n = 60;
cout << "Giá trị Cos là: "; cal_cos(n);
return 0;
}
Kết quả đầu ra
Giá trị Sin là: 0.500061 Giá trị Cos là: 0.499847