项目七第二课时设计算法实现用随机投点法计算教案高中信息技术沪科版必修1_第1页
项目七第二课时设计算法实现用随机投点法计算教案高中信息技术沪科版必修1_第2页
项目七第二课时设计算法实现用随机投点法计算教案高中信息技术沪科版必修1_第3页
项目七第二课时设计算法实现用随机投点法计算教案高中信息技术沪科版必修1_第4页
项目七第二课时设计算法实现用随机投点法计算教案高中信息技术沪科版必修1_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

项目七用计算机计算圆周率———设计简单数值数据算法第二课时 设计算法实现用随机投点法计算■教材分析forwhile环语句实现算法,并总结forwhile语句的使用方法,分析其使用条件,让学生熟练掌握循环结7.2是对本项目内容的总结和升华,通过让学生比较、感受不同算法的效率,帮助学生更加熟练地应用选择结构和循环结构实现简单算法。■教学目标1、知识和技能for和while2、过程与方法3、情感态度与价值观体验程序设计和内涵及魅力,产生对程序设计的求知欲,形成积极主动地学习态度;的程序设计作风。■教学重点:for和while循环语句的使用。■教学难点:for和while循环语句的选择。■教学准备计算机教室,Python,投影机。■教学素材教材案例的源代码.■教学过程:在选择结构中需要根据判断条件是否被满足来执行不同的分支语句True或False.关系运算符Tue为False。Python6种常用的关系运算符如下表所示。Python运算符数学符号名称示例(dist=0.87)结果<<小于dist<1True<=≤小于等于dist<=1True>>大于dist>1False>=≥大于等于dist>=1False===等于dist==1False!=≠不等于dist!=1True特别要注意的是,Python语言使用“”表示赋值语句,使用“=”表示“等于”。此外,Python语言支持连续比较,例如,判断一个数x否为100到200之间的一个数,其条件表达式为:100<=x<=200。>>>"Python">>>"Python"=="Python"True>>>"Python">"Python"False>>>"C"<"Python"True个关系达运算。常

辑运算符际问题中,对一些复杂的条件,需要用几式组合起来表示,这种组合操作就是逻辑用的逻辑运算符包括与(and)或(or)、非(notnot,再andor,但可以使用括号来调整运算的先后顺序。例如,判断一个学生是否为体重(weight)大于50千克或者身高(height)小于155(gender:Femaleheight<155)orand运算。如果不用括号,使用了如下的条件表达式gender=="Female"andweight>50orheight<155那么表达先执行and运算,再执行or运算,其含义改变为判断一个学生是否为体重大于50千克的女生,或者身高小于155厘米的学生(不论男女)二、实现选择结构的语句Python语言用if语句实现选择结构,它包括以下三种基本形式(表3-8):单分支语句

双分支语句

多分支语句If条件表达式:语句块1If条件表达式:语句块1Else:语句块2If条件表达式:语句块1Elif条件表达式2:语句块2……Else:语句块nif语句的条件被满足时执行的一个或多个语句序列ifelseelif等关键字所在行形成缩进格式来表示包含关系。单分支语句if语句首先运算条件表达式,如果结果为True,则执行语句块里的语句序列;如果结果为False,则语句块里的语句会被跳过。单分支结构流程图如右图所示。例如,求x的绝对值的语句如下。双分

Ifx<0:支语句X=-XPython语言用if-else语句来实现双分支结构,语句块1是if2ifTrueFalse如下图所示。100xy学生提问类似“92-14=”这样的问题,学生回答问题后,程序显示答案是否正确。x和y,应满足x≥y才能得到非负整数的结y-x。第二次,要将学生输入的答案与正确答案进行比较,给[a,b]中的整数。具体语句如下。Pythonif-elif-else支结构,多分结的扩展。程if是否被满足,则执行该条件块执行结束后

语句importrandomx,y=random.randint(1,100),random.randint(1,100)if(x>=y):print(“%d-%d=”%(x,y))answer=x-yelse:print(“%d-%d=”%(y,x))answer=y-xyouranswer=int(input())ifimportrandomx,y=random.randint(1,100),random.randint(1,100)if(x>=y):print(“%d-%d=”%(x,y))answer=x-yelse:print(“%d-%d=”%(y,x))answer=y-xyouranswer=int(input())ifyouranswer==answer:print(“正确”)else:print(“错误”)if-elif-elseFalseelseelse子句是可选的。多分支结构流程图如下图所示。height=height=height=height=eval(input(“请输入身高(米):”))eval(input(“请输入身高(米):”))weight=weight=eval(input((千克eval(input(“请输入体重(千克):”))bmi=weight/pow(height,2)bmi=weight/pow(height,2)print(“BMI数值为:%.2f”%bmi)print(“BMI数值为:%.2f”%bmi)ifbmi<18.5:Ifbmi<18.5:#<18.5print(“BMI指标为:偏瘦”)print(“BMI指标为:偏瘦”)if18.5<=bmi<25:elifbmi<25:#18.5<=bmi<25print(“BMI指标为:正常”)print(“BMI指标为:正常”)if25<=bmi<30:elifbmi<30:#25<=bmi<30print(“BMI指标为:偏胖”)print(“BMI指标为:偏胖”)ifbmi>=30:else:print(“BMI指标为:肥胖”)print(“BMI指标为:肥胖”)eval串参式,具体入的符据。是相

上面程序中函数的作用是将字符数转化为有效的表达到此处为自动识别输身高字符串和体重字串,并转化为数值数两个程序的运行结果BMI值为18时,对比它们的执行过程:若执行多分支语句,进入ifif语句,并运算条件表达式的值。所以多分支语句的算法效率更高。三、设计算法实现用随机投点法计算随机投点法是通过在正方形内随机投点,用随机模拟的方法来估算圆周率。随机在正方形里撒一把豆子,每一颗豆子落在正方形内任何一点的可能性都是相等的,落在每个hitsdarts,则:由圆周率等于圆的面积与半径平方之比可知:S 1 圆R20 1观察图可知,单位圆的面 积等于第一 象限中扇形面积的4倍,单位圆半径的方正好是图中单位正方形的面积。因此,π(1)分析问题使用计算机模拟随机投豆(也就是投点)的整个过程如下。首先,确定总的投点数darts。然后,在边长为y[0,1x2+y2<1,则判断该点投在扇形区最后,在所有点投完后,计算圆周率的近似值pi。darts,xyhitspi。设计算法,编写程序用随机投点法计算圆周率的算法如下该算法的PythonPython块提供

输入总的投点数2.令hits=0;i从到dars-1,step1;输出圆周率的近似值x,yfromrandomimportrandomx2+y2<1,则hits1;darts=int(input(“请输入总的投点数:”))

流程图和用标准库random的系统函数random,个重复执

hits=0foriinrange(darts):x,y=random(),ra

温馨提示

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

评论

0/150

提交评论