(共20张PPT)
4.3 运用选择结构描述问题求解过程
条件
代码段1
代码段2
True
False
1
单分支if语句
双分支if语句
选择结构
2
3
多分支if语句
单分支if语句
格式:
if (条件表达式):
语句A
if 满足条件:
做点什么
注意:
(1)if(条件表达式)后面加冒号“:”;
(2)当语句A是由多个语句构成的复合语句时,
所有语句严格遵循相同的缩进。
条件表达式
语句A
N
Y
执行过程:
(1)条件表达式为真,执行语句A,再往下执行。
(2)条件表达式为假,不 执行语句A,再往下执行。
实践探究:
某宝网站上进行促销活动,某种笔记本一次购买6本以上(含6本)10本以下(含10本)打9折,一次购买11本以上(包含11本)打8折。怎样编写程序计算总费用?
分析问题
设计算法
编写程序
调试程序
(1)分析问题
设购买笔记本的数量为s本,笔记本的单价为p元,折扣系数为j,总费用为t。根据题意,有:
如果s<6,则j=1.0;
如果6≤ s≤10,则j=0.9;
如果s≥11,则j=0.8;
又t=s×p×j,求出t的值即为所求的总费用。
(2)设计算法(小组探究)
根据上面对问题的分析,解决问题的算法描述如下:
①输入s,p的值;
②如果s<6,则j=1.0;
③如果6≤ s≤10,则j=0.9;
④如果s≥11,则j=0.8;
⑤t=s×p×j;
⑥输出t的值;
⑦结束。
(3)编写程序
s=input("请输入购买的笔记本的数量:")
s=int(s)
p=float(input("请输入笔记本的单价:"))
if s <6:
j=1.0
if s>=6 and s<=10:
j=0.9
if s>=11:
j=0.8
t=s*p*j
print("总费用为:","%.1f"%t,"元")
(4)调试程序
运行结果:
双分支if语句
格式:
if (条件表达式):
语句A
else:
语句B
if 满足条件:
做点什么
Else:
做点其它的
①if(条件表达式)后面加冒号“:”
②当语句A和语句B是由多个语句构成的复合语句时,所有语句严格遵循相同的缩进。
条件表达式
语句B
N
Y
语句A
执行过程:
(1)如果条件表达式为真,则执行语句A,然后继续往下执行。
(2)如果条件表达式为假,则执行语句B,然后继续往下执行。
实践探究:
某宝网站上进行促销活动,笔记本1、笔记本2和笔记本3每本分别优惠为a元、b元和c元,编程输出其优惠价的最大值。
分析问题
设计算法
编写程序
调试程序
(1)分析问题
输入三个数a、b和c,设其中最大数为m,先找出a和b中较大的数给m,然后将m与c比较,从而找出三个数中最大的数。
(2)设计算法
根据上面的分析,设计出如下算法:
①输入三个数a,b,c;
②如果a>b,则m=a;否则m=b;
③如果c>m,则m=c;
④输出m的值;
⑤结束。
(3)编写程序
print ("请输入三种笔记本的优惠价(元):")
a,b,c=input().split()
a=float(a)
b=float(b)
c=float(c)
if a>b:
m=a
else:
m=b
if c>m:
m=c
print("优惠价最大的为:",m,"元")
(4)调试程序
if...elif...else语句的应用
格式:
if (表达式1):
语句1
elif(表达式2):
语句2
......
elif(表达式n):
语句n
else:
语句n+1
if 满足条件1:
做事情1
elif满足条件2:
做事情2
……
else:
做点其它的
执行过程:
if s<6:
j=1.0
elif s>=6 and s<=10:
j=0.9
else:
j=0.8
拓展实践:
运用if…elif…else 改写下面的程序。
if s <6:
j=1.0
if s>=6 and s<=10:
j=0.9
if s>=11:
j=0.8
作业:
画出三种选择结构(单分支、双分支、多分支结构)的流程图。课题 4.3 运用选择结构描述问题求解过程 课型 新授课 课时安排 2
教 学 目 标 1.掌握选择结构的基本流程。 2.掌握单分支if、双分支if和多分支if语句的格式和使用方法。 3.能利用选择结构程序思想解决实际问题。 4.提高学生用计算机解决问题的能力,培养编程思维。
教 学 重难 点 重点:掌握顺序结构的基本流程;单分支if、双分支if和多分支if语句的格式和使用方法。难点:能利用选择结构程序思想解决实际问题。
教 学 方 法 任务驱动法、讲授法、实践探究法、演示法等
教 学 过 程 复习导入 提问:上节课我们学习了顺序结构,请同学们画出顺序结构的流程图。(一名同学到黑板上操作),由顺序结构的执行过程,导出本节课题。 新知探索 单分支if语句: 格式: if (条件表达式): 语句A 适用场景: if 满足条件: 做点什么 注意: (1)if(条件表达式)后面加冒号“:”; (2)当语句A是由多个语句构成的复合语句时,所有语句严格遵循相同的缩进。 执行过程: (1)条件表达式为真,执行语句A,再往下执行。 (2)条件表达式为假,不执行语句A,再往下执行。 二、实践探究: 问题: 某宝网站上进行促销活动,某种笔记本一次购买6本以上(含6本)10本以下(含10本)打9折,一次购买11本以上(包含11本)打8折。怎样编写程序计算总费用? 分析问题→设计算法→编写程序→调试程序 分析问题: 设购买笔记本的数量为s本,笔记本的单价为p元,折扣系数为j,总费用为t。根据题意,有: 如果s<6,则j=1.0; 如果6≤ s≤10,则j=0.9; 如果s≥11,则j=0.8; 又t=s×p×j,求出t的值即为所求的总费用。 设计算法: 根据上面对问题的分析,解决问题的算法描述如下: ①输入s,p的值; ②如果s<6,则j=1.0; ③如果6≤ s≤10,则j=0.9; ④如果s≥11,则j=0.8; ⑤t=s×p×j; ⑥输出t的值; ⑦结束。 3.编写程序: s=input("请输入购买的笔记本的数量:") s=int(s) p=float(input("请输入笔记本的单价:")) if s <6: j=1.0 if s>=6 and s<=10: j=0.9 if s>=11: j=0.8 t=s*p*j print("总费用为:","%.1f"%t,"元") 4.调试程序: 学生将程序代码复制并调试,直至程序运行,得出结果。 三、双分支if语句 1.格式: if (条件表达式): 语句A else: 语句B 2.适用场景: if 满足条件: 做点什么 Else: 做点其它的 注意: (1)if(条件表达式)后面加冒号“:” (2)当语句A和语句B是由多个语句构成的复合语句时,所有语句严格遵循相同的缩进。 4.执行过程: (1)如果条件表达式为真,则执行语句A,然后继续往下执行。 (2)如果条件表达式为假,则执行语句B,然后继续往下执行。 四、实践探究: 问题: 某宝网站上进行促销活动,笔记本1、笔记本2和笔记本3每本分别优惠为a元、b元和c元,编程输出其优惠价的最大值。 分析问题→设计算法→编写程序→调试程序 1.分析问题: 输入三个数a、b和c,设其中最大数为m,先找出a和b中较大的数给m,然后将m与c比较,从而找出三个数中最大的数。 2.设计算法: 根据上面的分析,设计出如下算法: ①输入三个数a,b,c; ②如果a>b,则m=a;否则m=b; ③如果c>m,则m=c; ④输出m的值; ⑤结束。 3.编写程序: print ("请输入三种笔记本的优惠价(元):") a,b,c=input().split() a=float(a) b=float(b) c=float(c) if a>b: m=a else: m=b if c>m: m=c print("优惠价最大的为:",m,"元") 4.调试程序: 学生将程序代码复制并调试,直至程序运行,得出结果。 五、if...elif...else语句的应用 1. 格式: if (表达式1): 语句1 elif(表达式2): 语句2 ...... elif(表达式n): 语句n else: 语句n+1 2.适用场景: if 满足条件1: 做事情1 elif满足条件2: 做事情2 …… else: 做点其它的 六、拓展实践: 运用if…elif…else 改写下面的程序。 即: 作业: 画出三种选择结构(单分支、双分支、多分支结构)的流程图。