欢迎来到天天文库
浏览记录
ID:49080494
大小:394.00 KB
页数:28页
时间:2020-01-30
《《计算圆周率π的近似值》课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算圆周率π的近似值1.用迭代法求π的近似值。2.用蒙特卡洛法求π的值。3.设计一个算法计算1900年1月1日之后的任何一天是星期几?用VB程序实现这一算法。复习引入解析算法基本思想:用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。在设计解析算法时,必须注意保证计算过程描述的正确性。问题提出圆周率π=3.1415926……有无穷多位,历史上有很多科学家计算过这个数,古希腊学者阿基米德、我国杰出的数学家和天文学家祖冲之等,都提出许多求解的方法。公元前3世纪,古希腊学者阿基米德用圆内接或外切正多边形来近似代替
2、圆,得到近似圆周率。到了公元5世纪,我国杰出的数学家和天文学家祖冲之在刘徽“割圆术”的基础上,使用更加精密的方法,精确到小数点后七位,求出结果在3.1415926~3.1415927间,这个的圆周率,在当时是非常了不起的成就。直到16世纪,才由中亚人计算出精确度为小数16位。随着计算机的出现,π的计算取得了新的突破。利用计算机技术将π值计算到小数点后20多亿位,甚至到上千亿位。古今中外的数学家们计算π的近似值主要有三类方法:1.利用“正多边形逼近”的方法。2.使用迭代法。可利用下列式子计算π。3.使用蒙特卡洛法(Monte-Carlomethod)。蒙特卡
3、洛法是使用随机模拟实验结果进行统计来求得π的近似值的方法。实践活动用级数公式,计算圆周率π的近似值。1.算法分析 按照级数公式,由若干项求和得到,第1项为,第2项为,第3项为,第4项为分析可得第n项为an与前一项an-1的关系是。2.算法流程图:变量n:输入计算的项数变量pi:计算的结果变量an:第n项的值3.程序界面设计:控件属性值的设置参考如下表:对象名属性名属性值说明Form1Caption计算π的近似值说明程序的功能Text2Text空串输出计算的结果(π的近似值)BackColor蓝色Text1Text空串输入各个电阻的阻值(每次输入一个
4、)BackColor黄色Command1Caption计算说明命令按钮的作用Label1Caption输入项数n:说明文本框Text1的作用Label2Caption计算π的近似值说明文本框Text2的作用Image1Picturepi.jpg显示图片pi.jpg(级数公式)4.分析算法流程,编写代码PrivateSubCommand1_Click()DimPiAsDouble,anAsDoubleDimm,nAsIntegern=Val(Text1.Text)Pi=1an=1Form=2Tonan=an(m-1)/(2m-1)'计算第n项的值Pi=Pi+
5、an'进行累加NextText2.Text=Str(Pi2)EndSub5.运行调试程序;课堂练习1.使用蒙特卡洛法求π的近似值。 利用求单位正方形与内接圆面积的比例关系来求得π的近似值。单位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分。如果能求出扇形面积s1在正方形面积s中占的比例k=s1/s,它的值也等于π/4,从而就计算得到π的值。 怎样求出扇形面积在正方形面积中占的比例k呢?蒙特卡洛法是在正方形中随机投入很多点,使所投的点落在正方形中每一个位置的机会相等。有些点将落在扇形内,而另一些点将会落在扇形外,落在扇形内的点数m与所投点的
6、总数n之间比m/n即为k的近似值。蒙特卡洛(MonteCarlo)方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。这一方法源于美国在第二次世界大战时研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的MonteCarlo—来命名这种方法,为它蒙上了一层神秘色彩。使用随机函数Rnd随机产生两个小数x、y,可构成一个坐标点(x,y),判断是否落在扇形内的充要条件是x2+y2<=1,总计投放n次,根据条件判断统计得到落在扇形内的次数m,再根据两者的比例m/n,求得π=4m/n的近似值。1)参考程序代码:Priv
7、ateSubCommand1_Click()DimPiAsDouble,xAsDouble,yAsDoubleDimmAsLong,nAsLongRandomizeTimer'随机数初始化n=Val(Text1.Text)'读入投放次数nIfn=0ThenMsgBox"请输入投放次数n"ExitSubEndIfm=0ForI=1Tonx=Rnd()y=Rnd()Ifx^2+y^2<=1Thenm=m+1'判断是否在扇形内NextIPi=4m/n'计算出π的近似值Text2.Text=Str(Pi)EndSub1.用迭代法求π的近似值。 算法流程图程序代码设
8、计示例程序2.用蒙特卡洛法求π的近似值。算法流程图程序代码设计示例
此文档下载收益归作者所有