VB 编程计算中,如何利用圆周率

作者&投稿:段干葛 (若有异议请与网页底部的电邮联系)
利用公式编写计算圆周率(π)的VB程序~

sub form_load()
dim a,x as integer
dim pi as single
pi=0
for i=1 to 30000
x=((-1)^(i+1))*(2*i-1)
pi=1/x+pi
next i
print 4*pi
end sub
“一定要能算到上千万位!”
你疯了吗?你学过计算机吗?怎么也不可能吧,一个32位pc机,用vb算? 用这个公式?
用牛顿迭代,vb仅能算到精确14位,速度还行,你这算法算6位电脑就卡爆了。c语言能好些,但也好不到哪去。

'采用普遍的傅立叶级数展开方法 pi=2+1/3*(2+2/5*(2+3/7*(2+4/9*(2+5/11 .....))))))
'输入:需计算的圆周率位数,理论精度约30万位

'Add a commandbutton and textbox(multine=true,scrollbars=both) to form1

Option Explicit


Private Sub Command1_Click()
getpi CLng(InputBox("生成多少位数(1-50000)的PI?", "提示", 30000))
End Sub


Sub getpi(Optional ByVal nums As Long = 10000)
nums = nums / 5
Dim max As Long, laptime As Single, result() As String

Dim i As Long, j As Long, t, d As Long, g, k As Long, f()
laptime = Timer
max = 18 * nums
ReDim f(0 To max)
ReDim result(nums)
For i = 0 To max
f(i) = 20000
Next
result(0) = "π=" & vbCrLf
g = 20000
For j = max To 1 Step -18
t = 0

For i = j To 1 Step -1
t = t + f(i) * 100000
d = 2 * i + 1

f(i) = t - Int(t / d) * d
t = Int(t / d) * i
Next
k = k + 1
result(k) = Format(Int(g + t / 100000) Mod 100000, "00000")
If k Mod 20 = 0 Then result(k) = result(k) & vbCrLf
If k Mod 200 = 0 Then result(k) = result(k) & "---[" & k * 5 & "]---" & vbCrLf
g = t Mod 100000
Next
Text1.Text = Join(result, " ")
Me.Caption = "计算完毕!总计用时" & Timer - laptime & "秒!"
End Sub

圆周率π,在VB 编程中,你用健盘是输入不到这个值的,你得用一个常数来定义它的值,如计算圆的体积v=4/3*π*r*r*r,且设r为2,可以用下面的程序代码来编写:
(方法一):let p=3.141592
let r=2
let v=4/3*p*r*r*r
print v
end
(方法二):const p=3.141592
let r=2
let v=4/3*p*r^3
print v
end
说明:第二个是利用符号常量来代表∏,也就是用函数const定义了P的值,P的值变成了常量,此时在程序中不允许再赋新值

先定义常数P=3。14,那么在计算中,P代表3。14了。

CONST PI=3.14159265359


迭部县17517018116: VB 编程计算中,如何利用圆周率
戏蒲甲氨: 圆周率π,在VB 编程中,你用健盘是输入不到这个值的,你得用一个常数来定义它的值,如计算圆的体积v=4/3*π*r*r*r,且设r为2,可以用下面的程序代码来编写:(方法一):let p=3.141592 let r=2 let v=4/3*p*r*r*r print v end (方法二):const p=3.141592 let r=2 let v=4/3*p*r^3 print v end说明:第二个是利用符号常量来代表∏,也就是用函数const定义了P的值,P的值变成了常量,此时在程序中不允许再赋新值

迭部县17517018116: 怎么用VB计算圆周率?把步骤和公式写清楚 -
戏蒲甲氨: Private Sub Command1_Click()Dim sum As Double, t As Doublesum = 0: t = 1Dosum = sum + (-1) ^ (t + 1) / (2 * t - 1)t = t + 1Loop Until Abs((-1) ^ (t + 1) /...

迭部县17517018116: vb中有没有圆周率这个常量,怎样调用啊? -
戏蒲甲氨: 用符号常量定义 符号常量是用一个符号表示一个固定不变的量.它有两种来源:用户自定义和系统内部定义(控件或应用程序提供 如Form1.WindowState = vbMinmized(窗口最小化 vbMinmized就是系统内部提供的符号常量)) 用户自定义 ...

迭部县17517018116: VB计算 圆周率 的程序代码 -
戏蒲甲氨: 方法有二: 1. 利用迭代公式进行计算,如下: Private Sub Command1_Click() Dim pi As Double, n As Long pi = 2 For n = 1 To 10000 pi = pi * ((2 * n) / (2 * n - 1)) * ((2 * n) / (2 * n + 1)) Next n End Sub 2. 利用VB函数进行计算,如下: Private Sub ...

迭部县17517018116: VB 6.0 程序中圆周率是怎么运用的?
戏蒲甲氨: 直接写就可以了,比如直接写 3.14 或定义常量,const PI=3.14 然后,使用PI就可以了

迭部县17517018116: 怎样用VB求圆周率? -
戏蒲甲氨: 同志你好有关圆的常用公式下面我均用代码表示出来了现截图供参考将上图的代码换成中文公式: 圆周长=2*π*半径 圆面积=π*半径的平方 圆球表面积=4*π*半径的平方 圆球体积=4/3*π*半径的立方*圆的高 圆柱体积=π*半径的平方*圆的高

迭部县17517018116: 怎样用vb求圆的周长和面积 -
戏蒲甲氨: 圆的周长=2*半径*圆周率=直径*圆周率 即:圆的周长=2πr 或πD 面积:s=πr² 或s=π(d/2)² 程序,自己弄一个textbox 1用来输入圆的半径textbox2用来显示计算结果周长textbox3用来显示计算结果面积 添加两个button1命名为计算圆的周长和面...

迭部县17517018116: vb编程 算圆周率
戏蒲甲氨: 你这个方法也可以的,如有不好的地方请指点下面我们用X 作这圆周率做题用X/4= 1-1/3+1/5-1/7...100000000 PI=0,S= 1FOR C = 1 TO 100000000 STEP 2PI = PI +S/CS= -SNEXT CPRINT X=”4*PI“

迭部县17517018116: VB(BASIC)算法中可以使用圆周率π吗?意思是直接用π(读作pai),算法中能识别吗? -
戏蒲甲氨:[答案] 不能 你得先指定π的值 比如Private Const PAI As Single = 3.14 那么以后你就可以使用 PAI 来代替3.14了

迭部县17517018116: VB编写代码,这是计算圆周率的代码,看不懂,谁能讲解一下.
戏蒲甲氨: <p>圆周率的计算公式如下:</p> <p></p> <p>上面的代码用 result记录和,用sign记录每一项的正负号,用 i 来计算每一项的分母. </p> <p>通过循环计算各项的和,当1/i &lt;0.0001时 不再计算.</p> <p>得出的结果乘4就是Pi</p>

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网