2023年沪科教版高一信息技术必修一《项目七-用计算机计算圆周率》-课时同步课件_第1页
2023年沪科教版高一信息技术必修一《项目七-用计算机计算圆周率》-课时同步课件_第2页
2023年沪科教版高一信息技术必修一《项目七-用计算机计算圆周率》-课时同步课件_第3页
2023年沪科教版高一信息技术必修一《项目七-用计算机计算圆周率》-课时同步课件_第4页
2023年沪科教版高一信息技术必修一《项目七-用计算机计算圆周率》-课时同步课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

用计算机计算圆周率——设计简单数值数据算法授课教师:xxx项目七【2023沪科教版高中信息技术:必修一数据与计算】项目七:用计算机计算圆周率-设计简单数值数据算法学习目标Learningobjectives掌握数值数据的常用运算,并熟练运用运算规则。利用Python语言编程实现计算圆周率的算法,探究和理解程序的选择结构和循环结构。熟练应用选择结构和循环结构实现简单算法,并感受不同算法的效率。完成本项目学习,须回答以下问题:1、数值数据的常用运算有哪些?2、如何设计并实现选择结构算法?3、如何设计并实现循环结构算法?01PART设计算法实现数学公式计算数值数据及其运算

实现循环结构的语句1.分析问题项目七:用计算机计算圆周率-设计简单数值数据算法

欧拉公式1.设置累加器变量S的初始值为0;2.s=s+1/(1X1)3.s=s+1/(2X2)4.s=s+1/(3X3)……累加可以用一个公式来表示:s=s+itemitem=1/(iXi)第一步:累加item到S,即s=s+item第二步:构造item=1/(iXi),i=i+1重复执行以上步骤,直到满足某一个循环控制条件。循环控制变量赋初值终止条件判断循环控制变量赋初值循环控制变量赋初值2.设计算法,编写程序项目七:用计算机计算圆周率-设计简单数值数据算法如果以累加项item的值小于0.000001位循环终止条件。

算法frommathimportsqrti=1s=0item=1whileitem>0.0000001:s=s+itemi=i+1item=1/(i*i)pi=sqrt(6*s)print(“pi的值是”,pi)程序从数学库中导入用于求平方根运算的方法sqrt当需要引用一个外部模块中的一个特定函数时,使用from命令思考与讨论项目七:用计算机计算圆周率-设计简单数值数据算法1.循环开始前,item的值是多少?循环结束后,item的值是多少?2.如果将算法第2.1步调至循环体的最后一行,该如何调整算法的步骤来保证程序结果的正确?3、如果按累加N项的方法控制循环,该如何修改程序?如何分别用while语句和for语句实现?1.循环开始前item=1;循环结束后item=0.000001(因为i=1000时,1/i*i的值为0.000001)。2.frommathimportsqrti=0s=0;item=1whileitem>0.000001:i=i+1;item=1/(i*i);s=s+itempi=sqrt(6*s)print("pi的值是",pi)3.圆周率的精确度达到小数点后4位时,item=0.000001,i=1000,因此,把循环变量的终值设为1000即可。frommathimportsqrtS=0;n=1000foriinrange(1,n+1):item=1/(i*i);s=s+itempi=sqrt(6*s)print("pi的值是",pi)frommathimportsqrtS=0;n=1000;i=1whilei<=n:item=1/(i*i);s=s+item;i=i+1pi=sqrt(6*s)print("pi的值是",pi)数值数据及其运算项目七:用计算机计算圆周率-设计简单数值数据算法数值数据氛围整数(int)和浮点数(float)。浮点数是带小数的数值。运算符含义示例运算结果+加法53+2174-减法63.1-2.260.9*乘法300*1.5450.0/除法1/80.125//整除1//80**次幂2**38%求余数17%32循环结构的算法构建项目七:用计算机计算圆周率-设计简单数值数据算法要构建循环结构需要解决两个问题:一是重复要做什么事,二是如何控制循环。实现循环控制三个要素:①循环控制变量的初值;②循环控制变量的终值;③在循环体中使循环控制变量由初值变化的语句。For<循环控制变量>in<遍历结构>:<语句块>while<条件>:<语句块>例1项目七:用计算机计算圆周率-设计简单数值数据算法算法11.令s=1;2.s=sx1;3.s=sx2;……51.s=sx50。算法21.令s=1;2.令i=1;3.循环当i小于等于50;……3.1s=sxi;3.2i=i+1。开始S=1,i=1i<=50?S=Sxi,i=i+1输出S结束否是求50!50!=1X2X3X……X50确定次数循环项目七:用计算机计算圆周率-设计简单数值数据算法For<循环控制变量>in<遍历结构>:<语句块>s=1foriinrange(1,51):S=S*iprint(S)

确定次数循环指循环结构对循环次数有明确定义,循环次数采用遍历结构中元素的个数来体现。不确定次数循环while<条件>:<语句块>s=1i=1whilei<=50:s=s*ii=i+1print(S)

不确定循环次数循环会一直保持循环操作,直到特定循环条件不被满足时结束。例2项目七:用计算机计算圆周率-设计简单数值数据算法第一次726%10=60*10+6=6726//10=72输入一个任意正整数,求它的逆序数。第二次72%10=26*10+2=6272//10=7第三次7%10=762*10+7=6277//10=0算法设计设输入的数为num,逆序数为reversenum.1.输入一个正整数到num;2.令reversenum=0;3.循环当num>0;3.1reversenum=reversenum*10+num%10;3.2num=num//10;4.输出reversenum。

程序设计num=int(input(“请输入一个数:”))reversenum=0;while(num);reversenum=reversenum*10+num%10;num=num//10;print(“它的逆序数是:”,reversenum)

练一练项目七:用计算机计算圆周率-设计简单数值数据算法1.如果要计算1+2+3+……+100的结果2.计算1+3+5+7+……+99的结果,(100以内的所有奇数)s=0foriinrange(1,101):s=s+iprint(s)s=0foriinrange(1,100,2):s=s+iprint(s)活动7.1项目七:用计算机计算圆周率-设计简单数值数据算法

利用沃利斯公司计算圆周率。s=1num=1000foriinrange(1,num):s=s*(2*i)/(2*i-1)*(2*i+1)print(s*2)

02PART设计算法实现用随机投点计算条件表达式实现选择结构的语句1、关系运算符项目七:用计算机计算圆周率-设计简单数值数据算法条件表达式Python运算符数学符号名称示例(dist=0.87)结果<<小于Dist<1True<=≤小于等于Dist<=1True>>大于Dist>1False>=≥大于等于Dist>=1False===等于Dist==1False!=≠不等于Dist!=1true例如:判断一个数X是否为100到200之间的一个数。条件表达式为:100<=x<=200字符的比较对应字符ASCII码值的大小;字符串的比较则按照字典顺序进行。2、逻辑运算符与(and)或(or)非(not)项目七:用计算机计算圆周率-设计简单数值数据算法条件表达式例如:判断一个学生是否为体重(weight)大于50千克或者身高(height)小于155厘米的女生(gender:female),条件表达式可写为:(gender==“female”)and(weight>50orheight<155)例如:判断一个学生是否为体重(weight)大于50千克并且身高(height)大于160厘米的女生(gender:female),条件表达式可写为:(gender==“female”)andweight>50andheight<1551、单分支语句项目七:用计算机计算圆周率-设计简单数值数据算法实现选择结构的语句if条件表达式:语句块1条件语句块是否单分支结构例如:求x的绝对值的语句ifx<0:x=-x2、双分支语句项目七:用计算机计算圆周率-设计简单数值数据算法实现选择结构的语句if条件表达式:语句块1else:

语句块2条件语句块1是否双分支结构语句块23、多分支语句项目七:用计算机计算圆周率-设计简单数值数据算法实现选择结构的语句if条件表达式1:语句块1elif条件表达式2:

语句块2……else:

语句块n多分支结构条件1语句块是否条件n-1语句块n-1是否语句块n否……否随机投点法随机投点法是通过在正方形内随机投点,用随机模拟的方法来估算圆周率项目七:用计算机计算圆周率-设计简单数值数据算法

O11

算法设计开始令hits=0,i=0输入总的投点数darts获取x,y的随机值i<dartsi=i+1计算圆周率的近似值输出圆周率的近似值结束是是否否项目七:用计算机计算圆周率-设计简单数值数据算法hits=hits+1

fromrandomimportrandomdarts=int(input(“请输入总的投点数:”))hits=0foriinrange(darts):x,y=random(),random()if:

pi=4*(hits/darts)print(“pi的值是”,pi)项目七:用计算机计算圆周率-设计简单数值数据算法x*x+y*y<=1hits=hits+103PART课后作业使用Python编写程序练一练:活动7.2对比两种计算圆周率的算法。项目七:用计算机计算圆周率-设计简单数值数据算法fromrandomimportrandomdarts=int(input(“请输入总的投点数:”))hits=0foriinrange(darts):x,y=random(),random()ifx*x+y*y<1:hits=hits+1pi=4*(hits/darts)print(“pi的值是”,pi)fromrandomimportrandomfromtim

温馨提示

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

评论

0/150

提交评论