您好,欢迎访问三七文档
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=0foriin[1,2,3,4,5,6,7,8,9,10]:sum=sum+iprint(sum)方法二:列表先定义后使用a=[1,2,3,4,5,6,7,8,9,10]sum=0foriina:sum=sum+iprint(sum)小试牛刀小试牛刀方法三:使用range()函数s=0foriinrange(1,11):sum=sum+iprint(sum)方法四:使用range()函数,数值列表降序且定义步长s=0foriinrange(10,0,-1):sum=sum+iprint(sum)练习:有以下程序段:sum=1foriinrange(1,5)sum=sum*iprint(sum,i)程序的运行结果为()A.245B.1205C.244D.1204指出下面程序中的错误并解释:(1)求1+2+3+4+5的和。s=1foriin[1,2,3,4,5]s=s+iprints(2)求5*4*3*2*1的值。s=0foriinrange(1,5):s=s*iprint(s)(3)求7*5*3*1的值s=1foriinrange(7,0,-2)s=s*iprint(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度foriinrange(1,11):A=eval(input())S=0.7*Aprint('电费S=',S)小结:1.for循环的一般格式2.for循环的缩进3.for循环的列表表达方式谢谢
本文标题:4.4运用循环结构描述问题求解过程之for循环-【新教材】粤教版(2019)高中信息技术必修一课件
链接地址:https://www.777doc.com/doc-8062600 .html