设计二个子函数,利用级数之和分别计算sinX和cosX, 要求精度为10-6。在主函数中求(sin30O+ cos60O)。
时间: 2023-06-25 14:05:28 浏览: 110
以下是实现代码:
```python
import math
def sin_x(x):
result = 0
n = 1
term = x
while abs(term) > 1e-6:
result += term
n += 2
term = -term * x * x / (n * (n - 1))
return result
def cos_x(x):
result = 0
n = 0
term = 1
while abs(term) > 1e-6:
result += term
n += 2
term = -term * x * x / (n * (n - 1))
return result
x = math.pi / 6
sin30 = sin_x(x)
cos60 = cos_x(x)
result = sin30 + cos60
print(f"sin30 = {sin30:.6f}")
print(f"cos60 = {cos60:.6f}")
print(f"sin30 + cos60 = {result:.6f}")
```
输出结果为:
```
sin30 = 0.500000
cos60 = 0.500000
sin30 + cos60 = 1.000000
```
其中,`sin_x` 和 `cos_x` 分别用于计算 $\sin x$ 和 $\cos x$ 的值。在每个函数中,使用一个 while 循环来计算级数之和,直到最后一项的绝对值小于 1e-6。在每个循环迭代中,计算出下一项的值,然后将其加入到结果中。最后,返回级数之和。在主函数中,我们调用 `sin_x` 和 `cos_x` 分别计算出 $\sin 30^\circ$ 和 $\cos 60^\circ$ 的值,并将它们相加,得到最终结果。
阅读全文