祖冲之与圆周率的计算.doc_第1页
祖冲之与圆周率的计算.doc_第2页
祖冲之与圆周率的计算.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

祖冲之和圆周率的计算所谓“圆周率”是指一个圆的周长与其直径的比值。古今中外,许多人致力于圆周率的研究与计算。为了计算出圆周率的越来越好的近似值,一代代的数学家为这个神秘的数贡献了无数的时间与心血。一、计算圆周率的各种方法早在我国的三国时代,数学家刘徽就用“割圆术”求出了比较精确的圆周率。他发现:当圆内接正多边形的边数不断增加后,多边形的周长会越来越逼近圆周长,而多边形的面积也会越来越逼近圆面积。于是,刘徽利用正多边形面积和圆面积之间的关系,从正六边形开始,逐步把边数加倍:正十二边形、正二十四边形,正四十八边形,一直到正三七二边形,算出圆周率等于三点一四一六,将圆周率的精度提高到小数点后第四位。祖冲之(公元429500年),是中国南北朝时期著名的数学家、天文学家。他在刘徽研究的基础上,进一步地发展,经过既漫长又烦琐的计算,一直算到圆内接正二四五七六边形,而得到一个结论:圆周率的值介于三点一四一五九二六和三点一四一五九二七之间,成为世界上最早把圆周率推算出七位数字的科学家,直到一千年以后,才有西方的数学家达到和超过祖冲之的成就。同时,他还找到了圆周率的约率:227、密率:355113。以前人们计算圆周率,是要探究圆周率是否循环小数。自从1761年Lambert证明了圆周率是无理数,1882年Lindemann证明了圆周率是超越数后,圆周率的神秘面纱就被揭开了。现在人们计算圆周率,多是为了验证计算机的计算能力。古人计算圆周率,一般是用割圆法。但这种基于几何的算法计算量大,速度慢,吃力不讨好。随着数学的发展,数学家们在进行数学研究时有意无意地发现了许多计算圆周率的公式。我们选取其中的一个公式,用VB编程来实现这个公式。英国天文学教授John Machin于1706年发现了一个计算圆周率的公式,称为Machin公式,他利用这个公式计算到了100位的圆周率。还有很多类似于Machin公式的反正切公式。以下即为Machin公式:活动建议你能直接画出这个算法的流程图吗?分析其中的arctgx公式可以知道,这是一个级数公式,而在程序设计中则可以用一个“累加器”算法来实现。用流程图来表现,则在流程图中,必定有判别框,并根据判别条件成立与否分别设置了重复部分操作内容的分支流程。二、算法的程序实现为了实现这个算法,则需要编制相应的程序,在程序中除了需要用到赋值语句、输入输出语句、其它计算语句外,还必须用到循环语句。范例:我使用VB来编写程序实现这个算法。算法中用到了一条输入语句、两个循环语句、一个输出语句以及多个赋值语句。(1)建立窗体和输入、输出、命令按钮组件对象。(2)编写“Command1”触发的程序代码。在“Private Sub command1_click()”和“End Sub”之间输入以下的程序代码。Dim i As Integer, n As Integer, pi As Double, arc1 As Double, arc2 As Double, x As Singlei = Text1.Textx = 1 / 5arc1 = 0For n = 1 To Iarc1 = arc1 + (-1) (n - 1) * x (2 * n - 1) / (2 * n - 1)Nextx = 1 / 239arc2 = 0For n = 1 To Iarc2 = arc2 + (-1) (n - 1) * x (2 * n - 1) / (2 * n - 1)Nextpi = 16 * arc1 - 4 * arc2Label1.Caption = pi第一行,定义了两个整数类型的数值变量I和n,一个单精度浮点数变量x,以及三个双精度浮点数变量pi、arc1和arc2。其中pi用于表示圆周率的值。第二行,将text1文本框中的数据转换为整型数值并赋值给整型变量i.。第三行,将x赋值为“1/5”。第四行,将arc1赋值为“0”。因为arc1是一个乘加器,所以其初值应该是0。活动建议想一想:能否根据VB源程序,画出相对应的实现machin公式流程图呢?第五行,表示开始一个循环,循环变量n从1开始,步长为1,依次取值到I,一共循环I次。第六行,arc1 = arc1 + (-1) (n - 1) * x (2 * n - 1) / (2 * n - 1),这是一个累加器的算法,它将变量arc1的原值加上表达式的值,然后将加法运算的结果重新赋值给变量arc1作为arc1的新值。Machin公式中的级数代数式,转换成表达式则为:(-1) (n - 1) * x (2 * n - 1) / (2 * n - 1)第七行。NEXT,表示循环变量n增加一个步长的值1,然后判断“n=I”是否成立,如果成立则继续循环,否则不再循环直接执行下一个语句。第八行,将x赋值为“1/239”。“Loop While I=n”表示当I=n成立时继续循环,从第五行“Do”的下面一行继续执行。如果I=n不成立,即I比n大时,则不再循环,直接执行下一行即第九行的语句,从而结束循环。第九行,将arc2赋值为“0”。Arc2也是一个乘加器。第十十二行,通过循环计算arc2的值。第十三行,pi = 16 * arc1 - 4 * arc2。通过Machin公式计算圆周率的值。活动建议寻找更多的计算圆周率的公式?选择其中一个画出流程图。第十四行,将表示圆周率的变量pi的值赋值给“Label1”组件对象的“Caption”属性,输出圆周率。(3)运行程序。将第一个文本框中的“Text1”删除,重新输入“9”;然后单击“Command1”,就能在原来“Label1”的位置上输出pi的值“31415926998682”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论