授课人:杨鹏第24课计算圆周率π的近似值高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏1.用迭代法求π的近似值。2.用蒙特卡洛法求π的值。3.设计一个算法计算1900年1月1日之后的任何一天是星期几?用VB程序实现这一算法。高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏复习引入解析算法基本思想:用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。在设计解析算法时,必须注意保证计算过程描述的正确性。高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏问题提出圆周率π=3.1415926……有无穷多位,历史上有很多科学家计算过这个数,古希腊学者阿基米德、我国杰出的数学家和天文学家祖冲之等,都提出许多求解的方法。公元前3世纪,古希腊学者阿基米德用圆内接或外切正多边形来近似代替圆,得到近似圆周率。到了公元5世纪,我国杰出的数学家和天文学家祖冲之在刘徽“割圆术”的基础上,使用更加精密的方法,精确到小数点后七位,求出结果在3.1415926~3.1415927间,这个的圆周率,在当时是非常了不起的成就。直到16世纪,才由中亚人计算出精确度为小数16位。随着计算机的出现,π的计算取得了新的突破。利用计算机技术将π值计算到小数点后20多亿位,甚至到上千亿位。高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏古今中外的数学家们计算π的近似值主要有三类方法:1.利用“正多边形逼近”的方法。2.使用迭代法。可利用下列式子计算π。3.使用蒙特卡洛法(Monte-Carlomethod)。蒙特卡洛法是使用随机模拟实验结果进行统计来求得π的近似值的方法。高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏实践活动用级数公式,计算圆周率π的近似值。高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏1.算法分析按照级数公式,由若干项求和得到,第1项为,第2项为,第3项为,第4项为分析可得第n项为an与前一项an-1的关系是。2S11a312a52313a,7352314a1211nnaann高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏2.算法流程图:变量n:输入计算的项数变量pi:计算的结果变量an:第n项的值高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏3.程序界面设计:高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏控件属性值的设置参考如下表:对象名属性名属性值说明Form1Caption计算π的近似值说明程序的功能Text2Text空串输出计算的结果(π的近似值)BackColor蓝色Text1Text空串输入各个电阻的阻值(每次输入一个)BackColor黄色Command1Caption计算说明命令按钮的作用Label1Caption输入项数n:说明文本框Text1的作用Label2Caption计算π的近似值说明文本框Text2的作用Image1Picturepi.jpg显示图片pi.jpg(级数公式)高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏4.分析算法流程,编写代码PrivateSubCommand1_Click()DimPiAsDouble,anAsDoubleDimm,nAsIntegern=Val(Text1.Text)Pi=1an=1Form=2Tonan=an*(m-1)/(2*m-1)'计算第n项的值Pi=Pi+an'进行累加NextText2.Text=Str(Pi*2)EndSub高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏5.运行调试程序;高中信息技术必修高中信息技术必修22:算法与程序设计:算法与程序设计授课人:杨鹏课堂练习1.使用蒙特卡洛法求π的近似值。利用求单位正方形与内接圆面积的比例关系来求得π的近似值。单位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分。如果能求出扇形面积s1在正方形面积s中占的比例k=s1/s,它的值也等于π/4,从而就计算得到π的值。怎样求出扇形面积在正方形面积中占的比例k呢?蒙特卡洛法是在正方形中随机投入很多点,使所投的点落在正方形中每一个位置...