利用π/4≈1-1/3+1/5-1/7+… 求π得近似值 最后一项小于0.000001.我的代码是下面这样,算出来π=2

利用π/4≈1-1/3+1/5-1/7+… 求π得近似值 最后一项小于0.000001.我的代码是下面这样,算出来π=2.6667?
Private Sub Command1_Click()
Dim p As Double, n As Long, t As Integer, s As Double
p = 1: n = 1: t = 1

Do
n = n + 1
s = 1 / (2 * n - 1)
t = -t
p = p + t * s
Loop While s < 0.000001
Print 4 * p, p
End Sub
哪里不对,请指出来?我算出来4 * p=2.6666666667.
pyz7530857 1年前 已收到3个回答 举报

loveyanlin 幼苗

共回答了13个问题采纳率:92.3% 举报

Loop While s > 0.000001

这里是大于号

1年前 追问

5

pyz7530857 举报

我好想明白了,loop while 和loop until 不一样。如果是loop until 就用小于号

举报 loveyanlin

while 是 当 s > 0.000001 成立时执行 也就是说,程序运行,直到最后一项小于0.000001 原来的程序,实际上,循环体只执行了一次

少到人 幼苗

共回答了1个问题 举报

看不懂...

1年前

0

Johnny_gao 幼苗

共回答了195个问题 举报

中间的计算没什么毛病
Print 4 * p, p
最后等程序结束了才可以print 4p

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 19 q. 0.016 s. - webmaster@yulucn.com