2021—2022学年粤教版(2019)信息技术必修一 数据与计算4.4 运用循环结构描述问题求解过程 课件 (21张PPT)

资源下载
  1. 二一教育资源

2021—2022学年粤教版(2019)信息技术必修一 数据与计算4.4 运用循环结构描述问题求解过程 课件 (21张PPT)

资源简介

(共21张PPT)
4.4
运用循环结构描述
问题求解过程


For循环的应用
While循环的应用
循环嵌套的应用
循环控制的应用
4.4.1
4.4.2
4.4.3
4.4.4
循环结构
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
循环结构可以简化编程结构,提高代码编写的效率。
for 循环语句的一般格式
for 循环变量 in 列表:
语句1
语句2
语句3
……
遍历
4.4.1 for循环的应用
for语句通过遍历序列中的元素实现循环,序列中的元素会被依次赋值给变量,然后执行一次循环体,当序列中的元素全部遍历完时,程序会自动退出循环。
for 循环变量 in 列表:
语句1
语句2
语句3
……
遍历
4.4.1 for循环的应用
注意:
for循环依次把列表中的每个元素逐个迭代出来
冒号“:”代表下一行是循环的第一行,循环体在书写时需要缩进
循环输出列表中的每个数
示例:2021年奥运会正在举行,小张同学想输出中国奥运军团历届奥运会获得金牌数量,使用for循环能帮他快速完成这一任务。
medal=[15,5,16,6,5,16,18,28,32,51,38,26]
for i in medal:
print(i)
range()函数
range()函数是让循环变量从指定的第一个值开始计数,并在到达所指的第二个值后停止计数,因此不包含第二个值。
range([start],[stop],[step]),若没有步长值,默认为1
range函数实际上返回的是一个整数列表
for循环是将循环变量依次赋值为循环对象中的每一个元素
range(1,6) → [1,2,3,4,5]
range(1,6,2) → [1,3,5]
问题1
如何利用循环结构求解1到100的累加和?
要计算从1到100内的奇数和,就是计算1+3+5+…+99,可以用for循环和range函数编程来解决这个问题。
分析问题
问题1
如何利用循环结构求解100以内的奇数和?
sum = 0
for i in range(1,100,2):
sum = sum + i
print(sum)
解决问题
while循环/条件循环
while循环是当型循环,即将while翻译为“当……时”,只要条件满足,就不断循环;否则,跳出循环。
格式
while 表达式:
语句1
语句2
语句3
……
每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦为假就跳出循环,为真时继续执行循环体语句。
循环体中必须有改变条件表达式值的语句,否则将变成死循环
一般是一个关系表达式或一个逻辑表达式,值为True或False
while循环/条件循环
上条语句
表达式?
循环语句
下条语句
N
Y
执行过程:
当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。
注意缩进格式!
问题2
某班同学为河南暴雨灾害组织捐款,恰巧该班同学的捐款金额构成了一个等差数列,第一位同学捐款20元,第二位同学捐款30元……后一位比前一位多捐款10元,依次下去,请问第几个人捐款后募集到的总金额累计超过500元?
捐款人数num
个人捐赠money
累计金额sum
sum=20+30+40+……
即:当sum>500时,求num的值
分析问题
设计算法
开始
num=1
money=20
sum=20
num=num+1
money=money+10
sum=sum+money
如果sum<=500,则返回步骤④
输出num的值
结束
编写程序
num=1 #捐款人数
money=20 #个人捐赠钱数
sum=20 #累积捐款金额
while sum<=500: #当不超过500时
num=num+1
money=money+10 #money+=10
sum=sum+money #sum+=money
print(num) #输出捐款人数
画出流程图
num=1
sum<=500
num=num=1
Money=money+10
Y
money=20
sum=20
sum=sum+money
输出num
1
2
循环嵌套
for循环嵌套for/while循环
while循环嵌套for/while循环
如果某一种循环语句中包含着其他循环语句,就称为循环“嵌套”。
注意:
for循环通过遍历循环对象进行计数循环;
while循环通过判定条件进入循环;
循环嵌套的作用:解决复杂的问题。
循环嵌套
外层循环
内层循环
注意:
外层循环每一次循环计数,内层循环会完整地执行到循环结束;
外层循环执行完时,整个嵌套循环才算结束。
示例:
for a in range(1,3):
for b in range(1,3):
print(a,b)
运行结果:
1 1
1 2
2 1
2 2
问题3
利用嵌套循环实现九九乘法表。
分析问题
外层循环的循环条件应该如何编写
内层循环的循环条件应该如何编写
内层循环的循环体包含哪些内容
第一个乘数从1到9
第二个乘数从1到第一个乘数
打印乘法结果
#for循环的嵌套
for row in range(1,10):
for col in range(1,row+1):
print(row,"*",col,"=",row*col,end=" ")
print()#换行
设计算法、编写程序
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
循环控制continue和break
continue语句
continue语句是当条件符合需要跳转的时候,跳过该次循环结束前的语句,回到循环开头的条件判断部分,重新开始执行循环。
break语句
在循环结构中,可以用break语句跳出当前循环体,从而跳出当前循环,执行当前循环外的下一条语句。
循环控制continue和break
求解一下程序的输出结果
(1)
sum = 0
for i in range(0, 10) :
sum = sum + i
if i == 5 :
break
print(sum)
1到5的累加和
(2)
sum = 0
for i in range(0, 10) :
if i %2== 0 :
continue
sum = sum + i
print(sum)
10以内的奇数和
总结
for循环:通过遍历序列中的元素以实现循环,常搭配range函数使用。
while循环:又叫条件循环。只要条件满足,就不断循环;否则,退出循环。
循环嵌套:某一种循环中包含另一种循环,就称为循环的嵌套。
循环控制:break语句→跳出循环;
continue语句→跳过本次循环,回到开头。

展开更多......

收起↑

资源预览