vb编一个函数过程Mysin(x)

编一个函数过程Mysin(x),求Mysin(x)=x/1-x3/3!+x5/5!-x7/7!+…+(-1)n-1*x2*n-1/(2*n-1)!。当第n项的值小于10-5时结束,x为弧度。主调程序同时调用Mysin和标准函数sin,进行验证。运行界面设计如图8-3所示。
提示:
1. 本题的关键是找部分级数和的通项,表示如下:
Ti+2=-1*Ti*x*x/((i+1)*(i+2)) i=1,3,5…
2. 本题的形参为x,传值方式;函数的返回值是求得的部分级数和。
3. 判断某一项的值是否达到精度,本题要使用Abs()函数,因为通项有正有负。

Private Sub Form_Click()
Dim M As Single
M = InputBox("自变量 X", "输入", 0.5)
Print "Mysin("; M; ") = "; Mysin(M)
Print "Sin("; M; ") = "; Sin(M)
End Sub
Private Function Mysin(ByVal X As Single) As Single
Dim I As Integer, J As Integer
Dim F As Double, Jc As Double
I = -1
Do
I = I + 2
F = X ^ I
Jc = 1
For J = 1 To I
Jc = Jc * J
Next
Mysin = Mysin + (-1) ^ ((I - 1) / 2) * F / Jc
Loop While Abs((-1) ^ ((I - 1) / 2) * F / Jc) >= 10 ^ -5
Print I
End Function
温馨提示:答案为网友推荐,仅供参考
相似回答