粤教版(2019) 高中信息技术 必修1 4.4.2 while循环的应用 课件(共38张PPT)

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

粤教版(2019) 高中信息技术 必修1 4.4.2 while循环的应用 课件(共38张PPT)

资源简介

(共38张PPT)
BIG DATA
4.4.2
while循环的应用
第四章
授课人:XXX
TWO
while循环的应用
02
while循环——条件循环
for循环的作用原理:基于条件
只要条件满足,就不断循环;
否则,就退出循环。
执行过程
循环语句
表达式?
Y
N
注意:
表达式的值为真(True)或者假(False)
while循环——条件循环
while (表达式):
语句或语句组
语句格式
语法注意:
①英文状态下冒号“:”
②循环体的缩进
循环控制条件
循环体
实践
(1)该流程图中,循环控制条件是什么?循环体包含了哪些语句?
阅读流程图,完成以下问题
开始
i<=3
输出
“重要的事情说三遍”
结束
输出“输出完毕”
Y
N
i=1
i=i+1
实践
(1)该流程图中,循环控制条件是什么?循环体包含了哪些语句?
阅读流程图,完成以下问题
开始
i<=3
输出
“重要的事情说三遍”
结束
输出“输出完毕”
Y
N
i=1
i=i+1
循环控制条件: i<=3
循环体: 输出“重要的事情说三遍”
i=i+1
实践
(2)用Python实现该流程图,代码如下:
阅读流程图,完成以下问题
开始
i<=3
输出
“重要的事情说三遍”
结束
输出“输出完毕”
Y
N
i=1
i=i+1
i=1
while ① :
print(“重要的事情说三遍”)

print(“输出完毕”)
实践
(2)用Python实现该流程图,代码如下:
阅读流程图,完成以下问题
开始
i<=3
输出
“重要的事情说三遍”
结束
输出“输出完毕”
Y
N
i=1
i=i+1
i=1
while :
print(“重要的事情说三遍”)
print(“输出完毕”)
i<=3
i=i+1
实践
i=1
while :
print(“重要的事情说三遍”)
print(“输出完毕”)
i<=3
i=i+1
程序
执行过程
① i=1 1<=3 输出(“重要的事情说三遍”) i=2
② i=2 2<=3 输出(“重要的事情说三遍”) i=3
③ i=3 3<=3 输出(“重要的事情说三遍”) i=4
④ i=4 4<=3 结束循环
实践
(3)如果缺失语句 i=i+1,程序的运行结果将会怎样?请上机验证:
阅读流程图,完成以下问题
开始
i<=3
输出
“重要的事情说三遍”
结束
输出“输出完毕”
Y
N
i=1
i=i+1
i=1
while :
print(“重要的事情说三遍”)
print(“输出完毕”)
i<=3
i=i+1
死循环
缺少改变条件表达式值的语句
实践
注意
从键盘分别输入体重、身高,请你编写程序计算BMI指数,并根据BMI指数判断属于哪一体重状态。
轻体重:BMI<18.5
正常体重:18.5<=BMI<24
超重:24<=BMI<28
肥胖:BMI>=28
实例:根据BMI指数判断体重状态4.0
优化功能:可实现重复5次输入体重、身高并判断体重状态
实例:根据BMI指数判断体重状态4.0
w=float(input("请输入体重:"))
h=float(input("请输入身高:"))
bmi=w/h**2
print("BMI指数为:",bmi)
if bmi<18.5:
print(“轻体重”)
elif bmi<24:
print(“体重正常”)
elif bmi<28:
print(“超重”)
else:
print(“肥胖”)
①循环条件:需要重复执行5次
②循环体:输入体重、身高、判断身体状态
for i in range(5):
修改程序:将for循环改为使用while循环
实例:根据BMI指数判断体重状态4.0
w=float(input("请输入体重:"))
h=float(input("请输入身高:"))
bmi=w/h**2
print("BMI指数为:",bmi)
if bmi<18.5:
print(“轻体重”)
elif bmi<24:
print(“体重正常”)
elif bmi<28:
print(“超重”)
else:
print(“肥胖”)
i=1
while i<=5:
i=i+1
①循环条件:需要重复执行5次
②循环体:输入体重、身高、判断身体状态
修改程序:将for循环改为使用while循环
实例:根据BMI指数判断体重状态4.0
实例:根据BMI指数判断体重状态5.0
w=float(input("请输入体重:"))
h=float(input("请输入身高:"))
bmi=w/h**2
print("BMI指数为:",bmi)
if bmi<18.5:
print(“轻体重”)
elif bmi<24:
print(“体重正常”)
elif bmi<28:
print(“超重”)
else:
print(“肥胖”)
a=int(input("请输入1或0:"))
while a==1:
a=int(input("请输入1或0:"))
能力提升
实现可反复执行输入体重、身高、判断体重状态
(注意要避免死循环)
程序对比
w=float(input("请输入体重:"))
h=float(input("请输入身高:"))
bmi=w/h**2
print("BMI指数为:",bmi)
if bmi<18.5:
print(“轻体重”)
elif bmi<24:
print(“体重正常”)
elif bmi<28:
print(“超重”)
else:
print(“肥胖”)
i=1
while i<=5:
i=i+1
w=float(input("请输入体重:"))
h=float(input("请输入身高:"))
bmi=w/h**2
print("BMI指数为:",bmi)
if bmi<18.5:
print(“轻体重”)
elif bmi<24:
print(“体重正常”)
elif bmi<28:
print(“超重”)
else:
print(“肥胖”)
for i in range(5):
for循环和while循环
for循环:也叫计数循环,循环指定次数,达到次数后结束循环
while循环:也叫条件循环,满足某个条件时可以循环, 条件不满足时则结束循环。循环次数不确定
注意:
for循环可以被改写为while循环
思考
编写一个程序判断1加到多少的和会超过100。
1.分析问题
这个问题相当于:1+2+3+4+……+ >= 100
从1加到多少的和其实也是个累加的过程,即是在循环,应该选择for循环还是while循环呢?
次数不确定,选择while循环
思考
编写一个程序判断1加到多少的和会超过100。
2.设计算法
①需要有一个变量从1开始变化,设该变量为i
给i赋初值为1:i=0 过程中i要逐次变化: i=i+1
②需要有一个临时变量存储累加的结果,设该变量为sum
给sum赋初值为0:sum=0
过程中sum逐次与i进行加法运算:sum=sum+i
思考
编写一个程序判断1加到多少的和会超过100。
3.编写程序
i=0
sum=0
while ① :

sum=sum+i
print(“1加到”,i,”的和会超过100”)
开始

结束
输出 i
Y
N
i=0,sum=0
sum=sum+i
i=i+1
思考
编写一个程序判断1加到多少的和会超过100。
3.编写程序
i=0
sum=0
while :
sum=sum+i
print(“1加到”,i,”的和会超过100”)
开始
sum<=100?
结束
输出 i
Y
N
i=0,sum=0
sum=sum+i
i=i+1
sum<=100
i=i+1
练习
项目小组为了筹集购买奖品和纪念品的费用,准备开展一次募捐活动,计划向第一个赞助人募集20元,向第二个赞助人募集25元……后一个比前一个多募捐5元,依次下去,第几个人募捐后募集到的总费用累计超过500元?
1.分析问题
相当于要去计算:20+25+30+…+ >500
需要几个变量:募捐的人数num,每次募集的费用money,
每次募集后的总费用sum
练习
2.设计算法
①给num、money、sum赋初值
num=1;money=20;sum=20
② num、money、sum每次募捐后的变化
num=num+1
money=money+5
sum=sum+money
③如果sum<500,则返回第②步
④输出num的值
⑤结束
3.编程程序
练习
2.设计算法
①给num、money、sum赋初值
num=1;money=20;sum=20
② num、money、sum每次募捐后的变化
num=num+1
money=money+5
sum=sum+money
③如果sum<500,则返回第②步
④输出num的值
⑤结束
3.编程程序
num=1
money=20
sum=20
while sum<500:
num=num+1
money=money+5
sum=sum+money
print(num)
练习
4.调试运行程序
练习
1.下列有while循环结构的说法不正确的是( )
A.执行过程中表达式一般是一个关系表达式或逻辑表达式 B.while循环格式一般为:while(表达式):
语句或者语句组
C.表达式为真执行循环体;为假退出循环
D.表达式为假执行循环体;为真退出循环
D
D.表达式为假执行循环体;为真退出循环
练习
2.下列流程图中不包含循环结构的是( )。
D
练习
3.下列Python程序段执行后,语句s=s+1执行的次数是
( )
s=0
while s<4:
s=s+1
print (s)
A.1次 B.2次 C.3次 D.4次
D
D.4次
练习
4. 输入345,输出结果正确的是( )
n=int(input("请输入一个整数:"))
s=0
while n != 0:
s=s+n%10
n=n//10
print (s)
A. 14 B. 13 C. 12 D. 11
C
C. 12
练习
练习
5.已知小周有一些压岁钱,他想通过银行储蓄增值。问:存多少年,才能达到预期的数额?
储蓄规则:
(1)存期以一年为单位,存款以元为单位:
(2)一年期的存款利率均为3%(不考虑利率调整)。
打开文件夹中的“P2.py”文件,编写正确的代码、完善该程序,
实现输入本金金额p、预期数额q,输出需要储蓄年数n的功能,调试完成后保存“P2.py”文件。
练习
例子:
输入输出样例如下:
练习
#注释:在注释下方编写代码实现功能:输入本金p和预期数额q,计算需要储蓄的年数n
n=0 #储蓄年数n置初值0
p=float(input("请输入本金金额:"))
q=float(input("请输入预期数额:"))
#请在以下区域编程
#以下是输出语句、不能更改
print("需要储蓄(年数):",n)
练习
#注释:在注释下方编写代码实现功能:输入本金p和预期数额q,计算需要储蓄的年数n
n=0 #储蓄年数n置初值0
p=float(input("请输入本金金额:"))
q=float(input("请输入预期数额:"))
#请在以下区域编程
#以下是输出语句、不能更改
print("需要储蓄(年数):",n)
while pn=n+1
p=p*(1+0.03)
练习
BIG DATA
那就下次再聊吧~
第四章
授课人:XXX

展开更多......

收起↑

资源预览