4.4运用循环结构描述问题求解过程之for循环-【新教材】粤教版(2019)高中信息技术必修一课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)求5*4*3*2*1的值。 s =0 for i in range(1,5): s = s*i print (s)
(3)求7*5*3*1的值 s=1 for i in range(7,0,-2) s = s*i print ("s=",s )
暑假里假日小队的同学帮助计算居民楼内每户的电费,楼内共有10户居民, 每度电0.7元,编一个程序,输入每一户的用电量,然后计算应缴纳的电费输出, 再输入下一户的用电量,计算应缴纳的电费……一直重复下去直到全部用户计 算完毕。
问1:我们 可以用什 么程序结 构来解决 这个问题 呢?
Βιβλιοθήκη Baidu
for循环的应用
for循环语句的一般格式 :
for 循环变量 in 列表: 语句或语句组
for循环依次把列表中的每个元素逐个迭代出来。冒号“:”代表下一行是循环的第 一行,但是循环体在书写时需要缩进。在for循环中,从for语句末尾的冒号开始到 其下面没有缩进代码之间都是其包含的需要重复执行的部分。因此,for循环所包含 的语句是以缩进为标志的。
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 只,正好又满足 百钱百鸡……。 这个“神童”就是张丘建。他继续勤奋学习,终于成为一个著名的数学家。他的名著《张丘建算经》里,最后一个 题目就是这个有趣的“百鸡问题”。
问题:编程计算出以下每户居民的电费?
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循环的列表表达方式
谢谢
sum=sum+i print(sum)
练习:
有以下程序段: sum=1 for i in range(1,5)
sum=sum*i print(sum,i) 程序的运行结果为( ) A. 24 5 B. 120 5 C. 24 4
D. 120 4
指出下面程序中的错误并解释:
(1)求1+2+3+4+5的和。 s =1 for i in [ 1,2,3,4, 5] s=s+i print s
方法二:列表先定义后使用 a=[1,2,3,4,5,6,7,8,9,10] sum=0 for i in a:
sum=sum+i print(sum)
小试牛刀
方法三:使用range()函数 s=0 for i in range(1,11):
sum=sum+i print(sum)
方法四:使用range()函数, 数值列表降序且定义步长 s=0 for i in range(10,0,-1):
自主探究:
课本86页表4----9 缩进循环示例(有缩进 与无缩进),感受for循环内外缩进体的不 同
小试牛刀
问题:编程求 1-10的和?(参考课本86:列表的几种表达方式)
方法一:列表直接罗列 sum=0 for i in [1,2,3,4,5,6,7,8,9,10]:
sum=sum+i print(sum)
分析问题
变量(几个?) 3个,设公鸡为x,母鸡为y,小鸡为z
变化范围
x:1----100? y:1----100? z:1----100?
验证条件(几 个?)
x+y+z=100 5x+3y+z/3=100
设计算法
算法描述: ①令a=0 ②令b=0 ③令c=3 ④如果a+b+c=100且5a+3b+c/3=100,那 么输出a,b,c,若不是则转⑤ ⑤如果c<100,则c+1 返④ ⑥如果b<33,则b+1返③ ⑦如果a<20 ,则a+1返② ⑧结束
相关文档
最新文档