(共17张PPT)
作业讲解
某市出租车起步价为3公里12元,超过3公里部分每公里2.6元,将右侧4个选线填充到流程图中,并编程软件编写一个出租车计算程序。
A、输出此次行程未超过3公里,只需支付12元。
B、s<=3
C、price=12+(s-3)*2.6
D、输出此次行程您需要支付price元
航天器
从嫦娥奔月的神话想象,到万户飞天的身体力行,人类自古就有飞天梦,我国从1970年发射第一颗人造地球卫星“东方红一号”开始,“神舟”载人飞船、“嫦娥”探月卫星、“天宫”空间实验室等航天奇迹接踵而至,航天时代已经到来!
“天宫二号”(左)与“神舟十一号”对接
嫦娥奔月
要使航天器进入天空,必须达到一定的发射速度。发射速度不同,运行状态不一样。如何根据发射速度判断航天器能否进入太空及其进入太空后的运行状态呢?
三大宇宙速度
我的飞天梦
——多分支语句的应用
一、分析问题
发射速度v(km/s) 所属宇宙速度 运行状态
v<7.9 未达到宇宙速度 不能进去太空
v=7.9 第一宇宙速度 进入太空,绕地球做圆周运动
7.911.2≤v<16.7 第二宇宙速度 进入太空,摆脱地球引力,环绕太阳运动
v≥16.7 第三宇宙速度 进入太空,拜托太阳引力,飞向星际空
从上表可以看出,当发射速度处于不同的速度范围时,发射后的航天器将进入不同的运行状态。因此,只要判断输入的发射速度处于哪一个范围,就可以确定航天器达到哪一个宇宙速度,从而判断出航天器的运行转台
一、分析问题
1、已知条件
2、要求解的答案
航天器发射速度:v
判断运行状态
二、设计算法
A、v<16.7
B、v<7.9
C、v<11.2
D、v==7.9
E、输出:不能进入太空
G、输出:进入太空,绕地球做圆周运动
I、输出:进入太空,绕地球做椭圆运动
F、输出:进入太空,将摆脱太阳引力,飞向星际空间
H、输出:进入太空,摆脱地球引力,环绕太阳运动
三、编写程序
(一)输入航天器的发射速度
(二)判断航天器的运行状态
根据算法 ,程序需要对发射速度进行4个层级的条件判断,并根据判断结果显示航天器对应的运行状态。
程序?
(二)判断航天器的运行状态
像这种需要对多个条件范围进行判断的多分支问题,除了使用多个并列的if语句进行判断外,还可以使用多个分支语句来逐级判断。
多分支语句
if <条件1>:
语句组1
elif <条件2>:
语句组2
elif <条件3>:
语句组3
......
else:
语句组N
使用说明:
在多分支语句中,if后面可以有一条或多条elif子语句,但else语句只能有一个,也可省略不写
(二)判断航天器的运行状态
使用多分支语句实现航天器运行状态判断的代码如下,请补充完整:
v=float(input('请输入航天器发射速度(km/s):'))
if v<7.9:
print('不能进入太空')
___________________
print('进入太空,绕地球做圆周运动')
___________________
print('进入太空,绕地球做椭圆运动')
___________________
print('进入太空,摆脱地球引力,绕太阳运行')
else:
print('进入太空,摆脱地球引力,飞向星际空间')
elif v==7.9:
elif v<11.2:
elif v<16.7:
三、编写程序
(四)合成程序
监测与评估
1、多分支if语句后可以有______个elif语句,else语句最多可以有______个。
2、以下关于if语句的说法,正确的是( )
A、if语句的执行是按程序的先后顺序逐行代码执行的
B、if语句后的else不能少
C、if语句后的elif不能少
D、if语句下的语句组要向右缩进
3、下列需要用多分支语句来解决的问题是( )
A、求a,b两个数的较大数
B、求面积为36的正方形的周长
C、判断一个数是否为偶数
D、根据BMI数值判断身体属于四种体型中的哪一种
多
1
监测与评估
4、某商城促销活动,一次性购物满200元打八折,一次性购物满400元打七折,一次性购物满500元打六折,下列程序用来根据输入的购物金额,计算应付金额,请补充完整:
#sale.py
cost=float(input('请输入购物金额(元):'))
if cost>=500:
pay=cost*0.6
_________________
pay=cost*0.7
_________________
pay=cost*0.8
else:
___________
print('您应该支付金额(元)是:',pay)
elif cost>=400:
elif cost>=300:
pay=cost
监测与评估
4、以下是学生成绩等级判断程序,需要根据成绩评定出等级。90分以上,优秀:80~89,良好;60~79,及格;60分以下,不及格。程序中有两处错误,请修改正确。
#score.py
score=int(input('请输入100以内的分数:'))
if score<0:
print('错误数据')
elif score<60:
print('不及格')
elif score<80:
print('及格')
else score<90:
print('良好')
else:
print('优秀')
if score<0 or score>100
elif score<90
探究任务(编写程序)
某市居民用电采用阶梯电价收费,第一档为每户每月0~260度的用电量,电价0.64元/度;第二档为每户每月261~600度的用电量,电价0.69元/度;第三档为每户每月601度以上的用电量,电价0.94元/度。