vb编写程序,利用下面的公式计算cosx的近似值

问题描述:

vb编写程序,利用下面的公式计算cosx的近似值
cosx=1-x^2/2!+x^4/4!.+x^(2n)/(2n)!我写的代码:
Private Sub Command1_Click()
Dim x As Single,t As Single,s As Single,n As Integer
x = Val(Text1.Text)
s = 1:t = 1:n = 1
Do
t = (-1) * t * (x ^ (2 * n)) / ((2 * n - 1) * (2 * n))
s = t + s
n = n + 1
Loop Until t = -10 ^ (-7)
Text2.Text = s
但是“溢出”,= (-1) * t * (x ^ (2 * n)) / ((2 * n - 1) * (2 * n)),但是我不明白为什么
1个回答 分类:综合 2014-10-11

问题解答:

我来补答
'cosx=1-x^2/2!+x^4/4!.+x^(2n)/(2n)!我写的代码:
Private Sub Command1_Click()
    Dim x As Double, t As Double, s As Double, n As Integer, jc As Double
    x = Val(Text1.Text)
    s = 1: t = 1: n = 1
    Do
       jc = 1
       For i = 1 To 2 * n
          jc = jc * i
       Next i
       t = (-1) ^ n * (x ^ (2 * n)) / jc   '这里是阶乘,你用的公式是连加的公式
       s = t + s
       n = n + 1
    Loop Until t <= 10 ^ (-7) And t >= -10 ^ (-7)
    Text2.Text = s
End Sub
再问: 溢出的问题解决了,但是text2,显示不出0,比如0.5,显示.5,这咋办,我觉得跟s的数据类型或者text2有关
再答: Private Sub Command1_Click()
    Dim x As Double, t As Double, s As Double, n As Integer, jc As Double
    x = Val(Text1.Text)
    s = 1: t = 1: n = 1
    Do
       jc = 1
       For i = 1 To 2 * n
          jc = jc * i
       Next i
       t = (-1) ^ n * (x ^ (2 * n)) / jc   '这里是阶乘,你用的公式是连加的公式
       s = t + s
       n = n + 1
    Loop Until t <= 10 ^ (-7) And t >= -10 ^ (-7)
    Text2.Text = Format(s, "0.######")     '主要是这句
End Sub
 
 
展开全文阅读
剩余:2000