转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
用VB计算PI精确数值到30000位的程序代码。         ★★★★

用VB计算PI精确数值到30000位的程序代码。

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1691 更新时间:2009/4/23 16:39:59

 

代碼如下﹕另存為窗口﹐先申明不是我寫的

VERSION 5.00
Begin VB.Form Form1
  BackColor      =  &H80000016&
  BorderStyle    =  1  ''''Fixed Single
  Caption        =  "Pi Calculator"
  ClientHeight    =  5580
  ClientLeft      =  45
  ClientTop      =  330
  ClientWidth    =  7320
  Icon            =  "Pi.frx":0000
  LinkTopic      =  "Form1"
  MaxButton      =  0  ''''False
  MinButton      =  0  ''''False
  MouseIcon      =  "Pi.frx":030A
  MousePointer    =  99  ''''Custom
  ScaleHeight    =  5580
  ScaleWidth      =  7320
  StartUpPosition =  2  ''''CenterScreen
  Begin VB.TextBox OutputBox
      BeginProperty Font
        Name            =  "MS Sans Serif"
        Size            =  13.5
        Charset        =  0
        Weight          =  700
        Underline      =  0  ''''False
        Italic          =  0  ''''False
        Strikethrough  =  0  ''''False
      EndProperty
      ForeColor      =  &H0000FF00&
      Height          =  1575
      Left            =  0
      MultiLine      =  -1  ''''True
      ScrollBars      =  2  ''''Vertical
      TabIndex        =  2
      Top            =  675
      Width          =  7335
  End
  Begin VB.TextBox TextBox_LengthOfNumbers
      BackColor      =  &H80000014&
      BeginProperty Font
        Name            =  "Times New Roman"
        Size            =  18
        Charset        =  0
        Weight          =  400
        Underline      =  0  ''''False
        Italic          =  0  ''''False
        Strikethrough  =  0  ''''False
      EndProperty
      ForeColor      =  &H0000FF00&
      Height          =  480
      Left            =  45
      TabIndex        =  1
      Text            =  "10"
      Top            =  45
      Width          =  4335
  End
  Begin VB.CommandButton CalculateButton
      Caption        =  "Pi !"
      BeginProperty Font
        Name            =  "Times New Roman"
        Size            =  26.25
        Charset        =  0
        Weight          =  700
        Underline      =  0  ''''False
        Italic          =  0  ''''False
        Strikethrough  =  0  ''''False
      EndProperty
      Height          =  630
      Left            =  45
      TabIndex        =  0
      Top            =  4905
      Width          =  1785
  End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
   
    Dim CalculatingPi As Integer

Sub CalculateButton_Click()

    If CalculatingPi = False Then
        CalculatePi
    Else
        End
    End If

End Sub

Sub CalculatePi()
   
   
    Dim TimeSpent As Double
    TimeSpent = Timer
   
    OutputBox = "Initializing": DoEvents
    CalculatingPi = True
    CalculateButton.Caption = "Stop!"

    Dim X As Integer
    Dim CarryPosition As Integer
   
    Dim NumberOfLoops As Integer
    Dim LengthOfNumbers As Integer

    LengthOfNumbers = TextBox_LengthOfNumbers + 3

    NumberOfLoops = Int(2 / 3 * LengthOfNumbers)
 
 
    ReDim ArcTangent5(1 To LengthOfNumbers) As String * 1
    ReDim ArcTangent239(1 To LengthOfNumbers) As String * 1

    ReDim MultipliedArcTangent5(1 To LengthOfNumbers + 1) As String * 1
    ReDim MultipliedArcTangent239(1 To LengthOfNumbers + 1) As String * 1
 


    OutputBox = "Calculating ArcTangent of 1/5": DoEvents
    FindArcTangent 5, NumberOfLoops, LengthOfNumbers, ArcTangent5()
   
    OutputBox = "Calculating the ArcTangent of 1/239": DoEvents
    FindArcTangent 239, NumberOfLoops, LengthOfNumbers, ArcTangent239()
   
   
    OutputBox = "Multiplying ArcTan of 1/5 by 16": DoEvents
    MultiplyArray ArcTangent5(), 16, MultipliedArcTangent5()

    OutputBox = "Multiplying ArcTan of 1/239 by 4": DoEvents
    MultiplyArray ArcTangent239(), 4, MultipliedArcTangent239()

   
    OutputBox = "Subtracting the Multiplied Arctangents": DoEvents
    For X = LengthOfNumbers To 1 Step -1

        If MultipliedArcTangent5(X) < MultipliedArcTangent239(X) Then
                                           
            CarryPosition = X - 1
                 
            Do Until MultipliedArcTangent5(CarryPosition) <> "0"

                MultipliedArcTangent5(CarryPosition) = "9"
                CarryPosition = CarryPosition - 1
            Loop
            MultipliedArcTangent5(CarryPosition) = CStr(CInt(MultipliedArcTangent5(CarryPosition)) - 1)

            MultipliedArcTangent5(X) = CStr((CInt(MultipliedArcTangent5(X)) + 10) - CInt(MultipliedArcTangent239(X)))
       
        Else
       
            MultipliedArcTangent5(X) = CStr(CInt(MultipliedArcTangent5(X)) - CInt(MultipliedArcTangent239(X)))
         
        End If

    DoEvents
    Next X


    Dim PiValue As String
   

    OutputBox = ""
    For X = 1 To LengthOfNumbers - 3
       
        PiValue = PiValue & MultipliedArcTangent5(X)
        If X Mod 5 = 0 Then
   
            PiValue = PiValue & " "
        End If
   
    Next X

    OutputBox = PiValue
    MsgBox "Pi calculated to " & LengthOfNumbers - 3 & " decimal places." & Chr$(13) & "Completed " & NumberOfLoops & " iterations." & Chr$(13) & "Spent " & (Timer - TimeSpent) / 60 & " minutes calculating.", 64, "Calculations Complete"
    CalculatingPi = False
End Sub


Sub FindArcTangent(ArcTanToFind As Integer, NumberOfLoops As Integer, LengthOfNumbers As Integer, ArcTangent() As String * 1)
   
   
   
    Dim StartPos As Integer
    Dim Sum As Long
    Dim X As Integer
    Dim Divisor As Long
    Dim Remainder As Long
    D

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台