Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

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

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.

Chương trình C++ tính giá trị sin(x) và cos(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.

Chương trình C++ tính giá trị sin(x) và cos(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