4.4.1-4.4.2 运用循环结构描述问题求解过程之for和while循环 ppt课件+2课时+练习(含答案)-2023新粤教版《高中信息技术》必修第一册.rar

相关 举报
  • 4.4.1-4.4.2 运用循环结构描述问题求解过程之for和while循环 ppt课件+2课时+练习(含答案)_2023新粤教版《高中信息技术》必修第一册
    • 4.4.1运用循环结构描述问题求解过程之for循环-【新教材】粤教版(2019)高中信息技术必修一课件.pptx--点击预览
    • 4.4.2while循环的应用-【新教材】粤教版(2019)高中信息技术必修一课件.pptx--点击预览
    • 4.4运用循环结构描述问题求解过程之for 和while循环-【新教材】粤教版(2019)高中信息技术必修一练习.docx--点击预览

文件预览区

资源描述
4.4运用循环结构描述问题求解过程导入问题:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只。问鸡翁母雏各几何?【故事】相传在南北朝时期(公元 386 年公元 589 年),我国北方出了一个“神童”,他反映敏捷,计算能力超群,许多连大人一时也难以解答的问题,他一下子就给算出来了。远远近近的人都喜欢找他计算数学问题。“神童”的名气越来越大,传到当时宰相的耳中。有一天,宰相为了弄清“神童”是真是假,特地把“神童”的父亲叫了去,给了他 100 文钱,让第二天带 100 只鸡来。并规定 100 只鸡中公鸡、母鸡和小鸡都要有,而且不准多,也不准少,一定要刚好百钱百鸡。当时,买 1 只公鸡 5 文钱,买 1 只母鸡 3 文钱,买 3 只小鸡才 1 文钱。怎样才能凑成百钱百鸡呢?“神童”想了一会,告诉父亲说,只要送 4 只公鸡、18 只母鸡和 78 只小鸡就行了。第二天,宰相见到送来的鸡正好满足百钱百鸡,大为惊奇。他想了一下,又给了 100 文钱,让明天再送 100 只鸡来,还规定不准只有 4 只公鸡。这个问题也没有难住“神童”。他想了一会,叫父亲送 8 只公鸡、11 只母鸡和 81 只小鸡去。还告诉父亲说,遇到类似问题,只要怎样怎样就行了。第二天,宰相见到了送来的 100 只鸡,赞叹不已。他又给了 100 文钱,要求下次再送 100 只鸡来。岂料才一会儿,“神童”的父亲就送来了 100 只鸡。宰相一数:公鸡 12 只、母鸡 4 只、小鸡 84 只,正好又满足百钱百鸡。这个“神童”就是张丘建。他继续勤奋学习,终于成为一个著名的数学家。他的名著张丘建算经里,最后一个题目就是这个有趣的“百鸡问题”。分析问题变量变量(几个?几个?)变化范围变化范围验证条件验证条件(几个几个?)3个,设公鸡为x,母鸡为y,小鸡为zx:1-100?y:1-100?z:1-100?x+y+z=1005x+3y+z/3=100设计算法算法描述:算法描述:令令a=0令令b=0令令c=3如果如果a+b+c=100且且5a+3b+c/3=100,那,那么输出么输出a,b,c,若不是则转,若不是则转如果如果c100,则,则c+1 返返如果如果b33,则,则b+1返返如果如果a20,则,则a+1返返结束结束问问1:我们:我们可以用什可以用什么程序结么程序结构来解决构来解决这个问题这个问题呢?呢?for循环的应用 for循环语句的一般格式:for 循环变量 in 列表:语句或语句组for循环依次把列表中的每个元素逐个迭代出来。冒号“:”代表下一行是循环的第一行,但是循环体在书写时需要缩进。在for循环中,从for语句末尾的冒号开始到其下面没有缩进代码之间都是其包含的需要重复执行的部分。因此,for循环所包含的语句是以缩进为标志的。自主探究:课本86页表4-9 缩进循环示例(有缩进与无缩进),感受for循环内外缩进体的不同问题:编程求 1-10的和?(参考课本86:列表的几种表达方式)方法一:列表直接罗列sum=0for i in 1,2,3,4,5,6,7,8,9,10:sum=sum+iprint(sum)方法二:列表先定义后使用a=1,2,3,4,5,6,7,8,9,10sum=0for i in a:sum=sum+iprint(sum)小试牛刀小试牛刀方法三:使用range()函数s=0for i in range(1,11):sum=sum+iprint(sum)方法四:使用range()函数,数值列表降序且定义步长s=0for i in range(10,0,-1):sum=sum+iprint(sum)练习:有以下程序段:sum=1for i in range(1,5)sum=sum*iprint(sum,i)程序的运行结果为().24 5 B.120 5 C.24 4 D.120 4指出下面程序中的错误并解释:(1 1)求)求1+2+3+4+51+2+3+4+5的和。的和。s=1 s=1 for i in 1,2,3,4,5 for i in 1,2,3,4,5 s=s+i s=s+i print s print s (2 2)求)求5*4*3*2*15*4*3*2*1的值。的值。s=s=0 0 for i for i in range(1,5):in range(1,5):s=s*i s=s*i print print(s s)(3 3)求)求7*5*3*17*5*3*1的值的值 s=1 s=1 for i in range(7,0,-for i in range(7,0,-2)2)s=s*i s=s*i print(s=,s)print(s=,s)暑假里假日小队的同学帮助计算居民楼内每户的电费,楼内共有10户居民,每度电0.7元,编一个程序,输入每一户的用电量,然后计算应缴纳的电费输出,再输入下一户的用电量,计算应缴纳的电费一直重复下去直到全部用户计算完毕。问题:编程计算出以下每户居民的电费?问题:编程计算出以下每户居民的电费?学以致用1户户3986度度2户户5477度度3户户6561度度4户户8796度度5户户3668度度6户户4712度度7户户8631度度8户户9164度度9户户8157度度10户户1661度度for i in range(1,11):A=eval(input()S=0.7*A print(电费 S=,S)小结:1.for循环的一般格式2.for循环的缩进3.for循环的列表表达方式谢谢谢谢4.4运用循环结构描述问题求解过程之while循环lfor 循环变量 in 列表:语句或语句组说明:(1)重复循环次数由列表决定。(2)语句或语句组(含两个以上语句)必需缩进。原理:把列表中第一个元素赋值给循环变量,循环体(循环语句或语句组)执行一次,执行完成后,把列表下一个元素赋值给循环变量,再次执行循环体 直到所有列表元素遍历结束为止。循环次数循环体复习:一、问题导入:陈婷今年17岁了,她的生日正好是3月12日植树节。今年植树节老师带同学们到公园里去植树。陈婷很高兴,一个人就栽了3棵树,过了一个很有意义的生日。她想,如果从明年开始每年过生日的时候都去植树,并且每一年都要比前一年多栽一棵树,这样下去,到多少岁时才能累计种到或超过100棵树呢?用for循环可以解决吗?分析问题:设年龄为age,种树的总数为tree,则tree可以用如下的式子表示:tree=3+4+5+6+.(相应的age=17,18,19.)于是这个问题就可以转化为:当tree=100时,求age的值。设计算法:令age=17;令tree=3;age=age+1;tree=tree+age-14;如果tree100,则返回第步;输出age的值;结束编写程序:用for循环无处下手,因为for是知道循环次数的循环。这时我们可以选择while循环,while循环不用知道循环次数。while循环:当型循环,只要条件满足,就不断循环;否则,退出循环。格式:while(表达式):语句或语句组(循环体)表达式一般是一个关系表达式或一个逻辑表达式,表达式的值应该是一个逻辑值(True)或假(False)。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算机表达式的值。一旦表达式的值为假就退出循环,为真时就断续执行循环体语句。循环体中必须有改变条件表达式值的语句,否则将成为死循环。while循环可以用流程图来演示执行过程循环语句表达式?NY下条语句上条语句age=17tree=3while tree100:age=age+1 tree=tree+age-14print(当陈婷岁时种到棵树.format(age,tree)令age=17;令tree=3;age=age+1;tree=tree+age-14;如果tree1:print(k)k=k/2A.9 B.12 C.25 D.6练习编程题:一张白纸的厚度大约为0.05毫米,对折1次的厚度为多少?对折多少次白纸的厚度超过1米?算法:设厚度为s,折叠次数为is=0.05,i=0i=i+1s=s*2,如果s=100,那么转到,否则转到i=i+1输出i结束s=0.05i=0while s=100:i=i+1 s=2*sprint(i,s)思考题:能用while循环求1-100的和吗?先看for循环:for i in range(1,101):s=s+iprint(s)i=100?s=s+ii=i+1S=0i=1YNprint ss=0i=1while i=100:s=s+i i=i+1print(s)i=100s=s+ii=i+1print si=1s=0NY编程:1.求1-100的和仔细观察,你发现什么秘密了吗?2已知已知S=1+2+.+N,找出一个最大的整数,找出一个最大的整数N,使得,使得S30000。编写。编写程序解决这个问题。程序解决这个问题。令S=0令N=1S=S+NN+=1如果S3000,那么转到,否则转到输出S,N结束S=0N=1while S3000:S=S+N N+=1print(“当N=时,S的值为”.format(N,S)思考:我们得到的这个N的值是正确的吗?2已知已知S=1+2+.+N,找出一个最,找出一个最大的整数大的整数N,使,使得得S30000。编写程序解决编写程序解决这个问题。这个问题。i=0while i7:if i=3:i+=1 break print(i)i+=1 运行结果是:A.0 1 2 B.0 1 2 3C.0 1 2 3 4 5 6D.0 1 2 4 5 6i=0while i7:if i=3:i+=1 continue print(i)i+=1 运行结果是:A.0 1 2 B.0 1 2 3C.0 1 2 3 4 5 6D.0 1 2 4 5 6谢 谢4.4 运用循环结构描述问题求解过程之 for 和 while 循环1.列表 range(7,10)中元素的个数是(C)A.7 B.3 C.4 D.102.在 Python 中表示“x 属于区间a,b)”的正确表达式是(A )。A、a=x And xb B、a=x Or xb C、ax And xb D、a=xb3.在 Python 语言中,如果 a 是一个集合,以下哪个语句可以添加一个元素?A.a.append(1)B.a.extend(1)C.a1=3 D.a.add(1)4.阅读程序,写出运行结果:s=0for i in range(1,10,4):print(#)s=s+iprint(s)上述程序运行后,输出“#”的个数是_3_;输出 s 的值是_15_。5.程序阅读题:执行下列程序后的结果是(C)s=0for i in range(1,5):i=i+2s=s+iprint(s).3 B.8 C.18 D.106.阅读程序,写出运行结果a=98b=63r=a%bwhile r!=0:a=b b=r r=a%bprint(b)程序运行后,输出结果为:_7_。6.程序实现:猴子吃桃问题:一天,小猴子从树上摘下若干个桃子,当即吃了一半,仍觉得不过瘾,又吃了一个。第二天小猴子接着吃剩下的一半,还觉得不过瘾,又吃了一个。第三天也是第二天剩下的一半,就再多吃一个。到第四天,只剩下一个桃子。试设计一算法并编写程序,求小猴子第一天摘下多少个桃子。d=1for i in(2,3,4):d=2*(d+1)print(小猴子第一天摘下了%d 个桃子%d)7.编写一个程序,将任一个正整数 N 的立方分解为 N 个连续的奇数之和。例如:输入4,输出 13,15,17,19.即 43=13+15+17+19.N=int(input()i=N*N-N+1print(N,3=,i,end=+)for j in range(1,N):i=i+2 if j=N-1:print(i)else:print(i,end=+)
展开阅读全文
相关搜索
资源标签
版权提示 | 免责声明

1,本文(4.4.1-4.4.2 运用循环结构描述问题求解过程之for和while循环 ppt课件+2课时+练习(含答案)-2023新粤教版《高中信息技术》必修第一册.rar)为本站会员(Q123)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


当前位置:首页 > 高中 > 信息 > 粤教版(2019) > 必修1 数据与计算


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|