作业帮 > 数学 > 作业

用vb中的for循环计算π的近似值.要求输入一个数然后根据这个数求近似

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/05/01 11:39:17
用vb中的for循环计算π的近似值.要求输入一个数然后根据这个数求近似
公式要用π=2* (4 / (1 * 3)) * (16/ (3 * 5)) * (36 / (5 * 7)) * ...
用vb中的for循环计算π的近似值.要求输入一个数然后根据这个数求近似
Private Sub Command1_Click()
Dim n,pi,i
pi = 2
n = Val(InputBox("请输入一个数"))
For i = 1 To n
pi = pi * ((2 * i) ^ 2 / ((2 * i - 1) * (2 * i + 1)))
Next i
MsgBox "π的近似值为" & pi
End Sub
再问: Dim n, t, s As Double s = 1 : t = 2 For n = 1 To             s *=     t =    Next Label1.Text = "π的近似值为" & s 如果代码框架是这个样子的该怎么办?我尝试了你的办法,输入50和1000出来的结果是一样的,如果要求再精确点怎么办?
再答: 看一下你的完整代码,我的在自己电脑上试过输入50和1000出来的结果不一样的
再问: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim n, s As Double n = Val(TextBox1.Text) Label2.Text = "" s = 2 For n = 1 To 10000 s *= ((2.0# * n) ^ 2.0# / ((2.0# * n - 1) * (2.0# * n + 1))) Next Label2.Text = "π的近似值为" & s 这个是我的代码,麻烦了
再答: 你这代码有问题吧,2.0#这个代表啥意思?? s *?? n = Val(TextBox1.Text)说明n值是输入的,但与后面的For n = 1 To 10000相矛盾 还有Label2.Text,Label的属性应该是caption属性吧,没有这么表示的....
再问: 2.0#是把常数2改为双精度型(这个是书里提示的,我也不知道为啥)。我们用的是vb.net。s*的意思应该是s=s*() .高手,如果要用Dim n, t, s As Double s = 1 : t = 2 For n = 1 To             s *=     t =    Next Label1.Text = "π的近似值为" & s 这个格式写代码应该是怎么样的
再答: 没有这样的,没用过vb.net,不知道和6.0的差别..