内容正文:
4.3运用选择结构描述问题求解过程
页面统一为16:9宽幅画面比例尺寸;PPT统一格式为PPT或PPTX。
中文:
1. 课名:微软雅黑48号字;
2.(第一课时):微软雅黑32号字;
3.学校名称:请填写全称;
4.学科、年级、主讲人、学校:华文楷体28号字(具体根据文字量可适当调整)。
英文
1.课名:字体以Times New Roman为主,字号一般使用32—36号,特别强调可以用40号;
2.(Period 1):字体使用Arial,字号为28;
3.正文一般用24—28号,特别强调可用32号。
注意标点的规范(例如:中文省略号为……,可用Shift+数字键6打出中文省略号,英文省略号为…)
1
复习:顺序结构
顺序结构
语句2
语句1
语句3
分支结构的程序实现
情境导入
目前,国内很多高速公路都启用了区间测速,所谓区间测速就是在同一路段上布设两个监测点,基于车辆通过前后两个监测点的时间来计算车辆在该路段上的平均行驶速度,并依据该路段上的限速标准判定车辆是否超速。
情境导入
现有一段长为25千米的测速区间,小车的限速是100千米/时。数据中心需要编写一段程序,用来判断某辆小车在此测速路段是否超速,若超速则显示“超速” 。
输入时间t(秒)
计算平均速度
v=25*3600/t
v>100?
输出“超速”
是
否
输入时间t(秒)
v=25*3600/t
v>100?
输出“超速”
是
否
根据条件成立与否从而执行不同的程序语句,这样的结构我们称之为分支结构
单分支结构
if <条件>:
<语句块>
输入时间t(秒)
v=25*3600/t
v>100?
输出“超速”
是
否
单分支结构
t=int(input())
v=25*3600/t
if v>100:
print("超速")
情境导入
试运行了一段时间以后,数据中心觉得对于没有超过规定速度的车辆也要显示状态,若没有超过100千米/时则显示“正常”。
计算平均速度
v=25*3600/t
v>100?
输出“超速”
是
否
输入时间t(秒)
输出“正常”
输入时间t(秒)
v=25*3600/t
v>100?
输出“超速”
是
否
输出“正常”
双分支结构
if <条件>:
<语句块1>
else:
<语句块2>
t=int(input())
v=25*3600/t
if v>100:
print("超速")
else:
print("正常")
输入时间t(秒)
v=25*3600/t
v>100?
输出“超速”
是
否
输出“正常”
区间测速
在上述“区间测速”的基础上,如果某辆小车超速,数据中心能同步显示超速的程度,如“超速且不足20%”“超速20%以上且不足50%”“超速50%以上且不足70%”“超速70%以上”。如何用程序来实现这个目标?
v=25*3600/t
v<=100?
v<120?
v<150?
v<170?
输出正常
输出超速且不足20%
输出超速20%以上且不足50%
超速70%以上
输出超速50%以上且不足70%
是
否
是
是
是
否
否
否
条件1
语句2
语句N
语句1
是
否
是
否
否
语句2
语句N
语句N+1
是
是
多分支结构
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
……
elif <条件N>:
<语句块N>
else:
<语句块N+1>
v=25*3600/t
v<=100?
v<120?
v<150?
v<170?
输出正常
输出超速且不足20%
输出超速20%以上且不足50%
输出超速70%以上
输出超速50%以上且不足70%
是
否
是
是
是
否
否
否
t=int(input())
v=25*3600/t
if v<=100:
print("正常")
elif v<120:
print("超速且不足20%")
elif v<150:
print("超速20%以上且不足50%")
elif v<170:
print("超速50%以上且不足70%")
else:
print("超速70%以上")
课堂练习
身体质量指数(BMI),是利用体重(千克)除以身高(米)的平方得出的数字,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。BMI值是一个中立而可靠的指标,它是《国家学生体质健康标准》规定的测试项目。完善BMI.py,实现输入某个高二男生的体重(单位:千克)和身高(单位:米)信息,利用体质计算公式=(体重/身高^2),输出其等级。
等级 高二男生体质指数 高二女生体质指数
低体重 BMI≤16.7 BMI<=16.8
正常 16.8≤BMI≤23.7 16.9≤BMI≤23.2
超重 23.8≤BMI≤26.5 23.3≤BMI≤25.4
肥胖 BMI≥26.6 BMI≥25.5
w=float(input("请输入体重(千克): "))
h=float(input("请输入身高(米): "))
BMI=w/h**2
__________________
grade="低体重"
__________________
grade="正常"
__________________
grade="超重"
__________________
grade="肥胖"
print(grade)
if BMI<=16.7:
elif BMI<=23.7:
elif BMI<=26.5:
else:
等级 高二男生体质指数
低体重 BMI≤16.7
正常 16.8≤BMI≤23.7
超重 23.8≤BMI≤26.5
肥胖 BMI≥26.6
课堂小结
分支结构:根据条件判断的结果分别执行不同处理语句的控制结构
单分支结构
if <条件>:
<语句块>
双分支结构
if <条件>:
<语句块1>
else:
<语句块1>
多分支结构
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
……
elif <条件N>:
<语句块N>
else:
<语句块N+1>
课后作业
编写一个程序,输入a、b、c三个值,输出其中最大值。
提示:设置最大值变量max,首先比较a、b的大小,并把大数存入max;然后最大值变量max与c比较,若c>max,则max变量值更新为c变量的值,否则保持不变,最后输出max的值。
谢谢
$$