第24课 计算圆周率的近似值_第1页
第24课 计算圆周率的近似值_第2页
第24课 计算圆周率的近似值_第3页
第24课 计算圆周率的近似值_第4页
第24课 计算圆周率的近似值_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、第24课 计算圆周率的近似值第1页,共28页,2022年,5月20日,19点31分,星期五1.用迭代法 求的近似值。2.用蒙特卡洛法求的值。3.设计一个算法计算1900年1月1日之后的任何一天是星期几?用VB程序实现这一算法。第2页,共28页,2022年,5月20日,19点31分,星期五复习引入 解析算法基本思想: 用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。 在设计解析算法时,必须注意保证计算过程描述的正确性。第3页,共28页,2022年,5月20日,19点31分,星期五问题提出 圆周率=3.1415926有无穷多位,历史上 有很多科学

2、家计算过这个数,古希腊学者阿基米德、我国杰出的数学家和天文学家祖冲之等,都提出许多求解的方法。 公元前3世纪,古希腊学者阿基米德用圆内接或外切正多边形来近似代替圆,得到近似圆周率。到了公元5世纪,我国杰出的数学家和天文学家祖冲之在刘徽“割圆术”的基础上,使用更加精密的方法,精确到小数点后七位,求出结果在3.14159263.1415927间,这个的圆周率,在当时是非常了不起的成就。直到16世纪,才由中亚人计算出精确度为小数16位。随着计算机的出现,的计算取得了新的突破。利用计算机技术将值计算到小数点后20多亿位,甚至到上千亿位。第4页,共28页,2022年,5月20日,19点31分,星期五古今

3、中外的数学家们计算的近似值主要有三类方法: 1.利用“正多边形逼近”的方法。 2.使用迭代法。可利用下列式子计算。 3.使用蒙特卡洛法(Monte-Carlo method)。蒙特卡洛法是使用随机模拟实验结果进行统计来求得的近似值的方法。第5页,共28页,2022年,5月20日,19点31分,星期五实践活动用级数公式 ,计算圆周率的近似值。第6页,共28页,2022年,5月20日,19点31分,星期五1.算法分析 按照级数公式, 由若干项 求和得到,第1项为 ,第2项为 ,第3项为 ,第4项为 分析可得第n项为an与前一项an-1的关系是 。第7页,共28页,2022年,5月20日,19点31

4、分,星期五2.算法流程图:变量n: 输入计算的项数变量pi: 计算的结果变量an: 第n项的值第8页,共28页,2022年,5月20日,19点31分,星期五3.程序界面设计: 第9页,共28页,2022年,5月20日,19点31分,星期五控件属性值的设置参考如下表: 对象名属性名属性值说明Form1Caption计算的近似值说明程序的功能Text2Text空串输出计算的结果(的近似值)BackColor蓝色Text1Text空串输入各个电阻的阻值(每次输入一个)BackColor黄色Command1Caption计算说明命令按钮的作用Label1Caption输入项数n:说明文本框Text1的

5、作用Label2Caption计算的近似值说明文本框Text2的作用Image1Picturepi.jpg显示图片pi.jpg(级数公式)第10页,共28页,2022年,5月20日,19点31分,星期五4.分析算法流程,编写代码 Private Sub Command1_Click() Dim Pi As Double, an As Double Dim m, n As Integer n = Val(Text1.Text) Pi = 1 an = 1 For m = 2 To n an = an * (m - 1) / (2 * m - 1) 计算第n项的值 Pi = Pi + an 进行累

6、加Next Text2.Text = Str(Pi * 2) End Sub第11页,共28页,2022年,5月20日,19点31分,星期五5.运行调试程序; 第12页,共28页,2022年,5月20日,19点31分,星期五课堂练习 1.使用蒙特卡洛法求的近似值。 利用求单位正方形与内接圆面积的比例关系来求得的近似值 。单位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分。 如果能求出扇形面积s1在正方形面积s中占的比例k=s1/s,它的值也等于/4,从而就计算得到的值。 怎样求出扇形面积在正方形面积中占的比例k呢?蒙特卡洛法是在正方形中随机投入很多点,使所投的点落在正方形中每一个位置

7、的机会相等。有些点将落在扇形内,而另一些点将会落在扇形外,落在扇形内的点数m与所投点的总数n之间比m/n即为k的近似值。蒙特卡洛(Monte Carlo)方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。这一方法源于美国在第二次世界大战时研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯诺伊曼用驰名世界的赌城摩纳哥的Monte Carlo来命名这种方法,为它蒙上了一层神秘色彩。 第13页,共28页,2022年,5月20日,19点31分,星期五 使用随机函数Rnd随机产生两个小数x、y,可构成一个坐标点(x,y),判断是否落在扇形内的充要条件是x2+y2=1,总计投放n次,根据

8、条件判断统计得到落在扇形内的次数m,再根据两者的比例m/n,求得=4*m/n的近似值。 第14页,共28页,2022年,5月20日,19点31分,星期五1)参考程序代码:Private Sub Command1_Click() Dim Pi As Double, x As Double, y As Double Dim m As Long, n As Long Randomize Timer 随机数初始化 n = Val(Text1.Text) 读入投放次数n If n = 0 Then MsgBox 请输入投放次数n Exit Sub End If m = 0 For I = 1 To n

9、x = Rnd() y = Rnd() If x 2 + y 2 = 1 And day = 1 Or day = 1 And day = 1 And day = 28) Then ok = 1 If ok = 0 Then Text4.Text = 输入日期有错误第25页,共28页,2022年,5月20日,19点31分,星期五Else If month = 1 Or month = 2 Then year = year - 1 month = month + 12 End If c = year 100 y = year Mod 100 m = month d = day w = Int(c

10、 / 4) - 2 * c + y + Int(y / 4) + Int(13 * (m + 1) / 5) + d 1 蔡勒公式 Text4.Text = Str(c) + Str(y) + Str(m) + Str(d) + Str(w) w = (w + 700) Mod 7 + 1 求除以7的余数,w加上700保证余数一定是整数 Text4.Text = WeekdayName(w) 转换为星期形式 End IfEnd Sub第26页,共28页,2022年,5月20日,19点31分,星期五Private Sub Text1_Click() Text1.Text = Text2.Text = Text3.Text = “利用WeekdayName 函数可将值转换成星期形式:值1234567返回值星期日星期一星期二星期三星期四星期五星期六第27页,共28页,2022年,5月20日,19点31分,星期五

温馨提示

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

评论

0/150

提交评论