定义一个类SIN,求 具体要求如下: (1)私有成员数据。 double x:输入公式中x的值,求sin(x)。 int n:输入公式中n的值。 (2)公有成员函数。 SIN(double x, int n ):构造函数,用于初始化x和n的值。 double power( int q):求q!的值。 double mi( int m,int n):求mn的值。 double fun( ):用于求SIN(X)的值。 void show( ):输出求得的结果。
时间: 2024-02-15 08:03:15 浏览: 35
好的,根据你的要求,我来编写这个类SIN的代码实现。
```python
class SIN:
def __init__(self, x, n):
self.__x = x
self.__n = n
def power(self, q):
res = 1
for i in range(1, q + 1):
res *= i
return res
def mi(self, m, n):
res = 1
for i in range(n):
res *= m
return res
def fun(self):
res = 0
for i in range(self.__n + 1):
res += ((-1) ** i) * self.mi(self.__x, 2 * i + 1) / self.power(2 * i + 1)
return res
def show(self):
print("sin({}) ≈ {:.6f}".format(self.__x, self.fun()))
```
这个类SIN有两个私有成员数据x和n,分别用于存储输入公式中x的值和n的值。构造函数SIN用于初始化这两个值。它还有三个公有成员函数,分别用于计算q!、mn和sin(x)的值。其中,计算sin(x)的值的函数fun采用泰勒公式展开近似计算,直到第n+1项。最后一个公有成员函数show用于输出计算结果。
下面是一个简单的测试代码:
```python
s = SIN(1, 10)
s.show()
```
输出结果为:
```
sin(1) ≈ 0.841471
```
注意,输出结果保留了6位小数。