3.2.4for循环while循环结构复习课件-浙教版高中信息技术必修一_第1页
3.2.4for循环while循环结构复习课件-浙教版高中信息技术必修一_第2页
3.2.4for循环while循环结构复习课件-浙教版高中信息技术必修一_第3页
3.2.4for循环while循环结构复习课件-浙教版高中信息技术必修一_第4页
3.2.4for循环while循环结构复习课件-浙教版高中信息技术必修一_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

循环结构复习

用计算机计算圆周率随机投点法

蒙特卡洛方法(MonteCarlo,简称MC)是冯·诺依曼等人于二十世纪四十年代中期提出的一种统计模拟方法,以概率和统计理论方法为基础的一种计算方法。蒙特卡洛是摩洛哥境内的赌场,提出者可能觉得算法的不确定性原理与赌博类似所以命名为蒙特卡洛方法。蒙特卡洛方法

S正=1

随机在正方形里撒一把黄豆,每一个黄豆落在正方形内任何一点的可能性都是相等的,落在扇形区域中的豆子数与正方形的面积近似成正比。记扇形内的豆子数为count,总豆子数为n随机投点法011

在边长为1的正方形中投豆子,并判断这个豆子是否在扇形区域内,如果是,则扇形区域的豆子数count增加1。③

在所有豆子判断完后,计算圆周率的近似值pi。011随机投点法抽象建模①

确定总的豆子数nyx(x,y)若x2+y2<1,则判断该点投在扇形区域内。(每个投点的x坐标和y坐标都是[0,1)中的随机数)思考:怎样判断这个豆子是否在扇形区域呢?流程图描述随机投点法设计算法①产生[0,1)范围内的随机点,获取x,y的随机值②

如果x2+y2<1,那么这个点在扇形内③

扇形内的点count=count+1开始count=0,i=1输入n获取x,y的随机值i<n+1i=i+1计算pi输出pi结束count=count+1

TTFF循环结构复习for<循环变量>in<序列>:<循环体>foriinrange(4):print(i)0123s=0foriinrange(1,4):s=s+iprint(s)136range(起始值,终值,步长值)三个参数决定序列中元素的个数和范围起始值:计数从起始值开始。若缺省,则默认为0终值:计数到终值结束,不包括终值步长值:若缺省,则默认为1循环结构复习while<条件>:<循环体>i=0whilei<3:i=i+1print(i)123s=0i=1whilei<4:s=s+ii=i+1print(s)6随机投点法编写程序fromrandomimportrandomn=int(input(“请输入总豆子数:”))count=0#计数扇形内的豆子foriinrange(________): x,y=random(),random()#生成(0,1)范围内的随机点 if________________________#判断该点是否在扇形区域内

_________________________#扇形内的豆子数加1

pi=4*(count/n)#计算率的近似值print(“pi的值是”,pi)随机投点法1.不断增大输入的豆子数,观察圆周率可以精确到第几位。2.多次输入同样的总数10000,得到的结果如何?这是为什么?如何减少这种不确定性?思考欧拉公式

s

怎样求和s?欧拉公式1+2+3+······+100

s=0i=1whilei<=100:____________print(s)s=0i=1whilei<=100:

_____________print(s)

s=s+i

s=s+(1/i)

s=s+1/(i*i)

抽象建模欧拉公式到底要累加到第几项呢?欧拉公式算不出来真实圆周率,只能减少误差,提高精确度,逐渐逼近真实值②产生的误差值计算真实圆周率-欧拉公式算出的圆周率①期望达到的精确度limitmath.pi

math.pi**2/6-s—设计算法欧拉公式

流程图描述开始i=1,s=0输入limit

输出npi结束Tmath.pi**2/6-s>=limitFs=s+1/(i*i)i=i+1

importmathlimit=float(input(“请输入精确度:”))s=0i=1while(math.pi**2/6-s)>=limit:_______________#累加求和si=i+1npi=math.sqrt(6*s)print(“npi的值是”,npi)编写程序欧拉公式如果控制欧拉公式只能累加到n项,程序又该怎样来写呢?frommathimportsqrtn=int(input())s=0foriinrange(___________): s=s+1/(i*i)pi=sqrt(6*s)print("pi的值是",pi)frommathimportsqrtn=int(input())s=0i=1while____________:

s=s+1/(i*i)i=i+

温馨提示

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

评论

0/150

提交评论