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

โปรแกรม C คำนวณผลรวมอนุกรม cos(x) (Cosine Series)

ได้รับค่า x (มุม) และ n (จำนวนพจน์) สำหรับอนุกรม cos(x)

ฟังก์ชัน Cos(x)

Cos(x) เป็นฟังก์ชันตรีโกณมิติสำหรับคำนวณค่ามุม x

สูตรอนุกรม Taylor ของ cos(x)

cos(x) = Σ (-1)ᵏ / (2k)! * x²ᵏ (k=0 ถึง ∞)

เขียนออกมาเป็น: cos(x) = 1 - x²/2! + x⁴/4! - x⁶/6! + x⁸/8! - ...

ตัวอย่าง

Input: x = 10, n = 3  Output: 0.984804
Input: x = 8, n = 2   Output: 0.990266

แนวทาง

  • รับค่า x และ n
  • แปลง x จากองศาเป็นเรเดียน (คูณ PI/180)
  • คำนวณอนุกรมโดยใช้ลูป
  • แสดงผลรวม

อัลกอริทึม

Start
Step 1: กำหนด PI = 3.142
Step 2: ฟังก์ชัน series_sum(double x, int n)
    x = x * (PI / 180.0)  // แปลงเป็นเรเดียน
    result = 1
    s = 1, fact = 1, pow = 1
    ลูป i = 1 ถึง 4 (คงที่ 5 พจน์)
        s = s * -1              // สลับเครื่องหมาย
        fact = fact * (2*i-1) * (2*i)  // แฟกทอเรียล (2i)!
        pow = pow * x * x       // x^(2i)
        result = result + s * pow / fact
    return result
Step 3: main() กำหนด x=10, n=3 เรียก series_sum แสดงผล
Stop

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

#include <stdio.h>

const double PI = 3.142;

double series_sum(double x, int n) {
    x = x * (PI / 180.0);
    double result = 1;
    double s = 1, fact = 1, pow = 1;
    for (int i = 1; i < 5; i++) {
        s = s * -1;
        fact = fact * (2 * i - 1) * (2 * i);
        pow = pow * x * x;
        result = result + s * pow / fact;
    }
    return result;
}

int main() {
    float x = 10;
    int n = 3;
    printf("%lf\n", series_sum(x, n));
    return 0;
}

ผลลัพธ์

X=10; n=3  0.984804
X=13; n=8  0.974363
X=8; n=2   0.990266