4.3
运用选择结构描述问题求解过程
教学设计
1总体分析
生活中问题逻辑往往不是线性的,有时可能存在多条执行路径,这种情况如何处理,我们需要通过例子将选择结构的内容层层展现,进而进行对比、分析、总结。
2.
教学目标
(1)能够掌握程序的选择结构设计的基本流程;
(2)能够掌握Python程序设计语言的选择结构的单分支if语句、双分支if语句、if
语句的嵌套以及if···elif···else
语句的一般格式及使用方法;
(3)能够运用选择结构描述问题的求解过程;
教学重点:
(1)程序的选择结构设计的基本流程;
(2)Python
程序设计语言的选择结构的单分支
if
语句、双分支
if
语句、if
语句的嵌套以及if···elif···else语句的一般格式及使用方法;
教学难点:
(1)Python
程序设计语言的选择结构的单分支
if
语句、双分支
if
语句、if
语句的嵌套以及if···elif···else语句的一般格式及使用方法;
3
教学过程
思考:请回顾上节课的问题,如果我们将问题做如下调整又该如何处理?根据两种笔记本同时购买的数量,设定不同的折扣区间。如都购买5本以上,打8折;都购买10本以上打7折等...
单分支案例:
项目小组成员在某购物网站上了解到某种笔记本搞优惠活动,规定一次购买6本以上(含6本)10本以下(含10本)打9折,一次购买11本以上(包含11本)打8折。怎样根据笔记本的单价和购买数量编写程序计算总费用?
解决上述问题的方法有多种,其中一种步骤如下:
(1)分析问题。
设项目小组购买笔记本的数量为s本,笔记本的单价为p元,折扣系数为j,总费用为t。根据题意,有:
如果s<6,则j=1.0;
如果s≥6而且s≤10,则j=0.9;
如果s≥11,则j=0.8;
又t=s×p×j,求出t的值即为所求的总费用。
(2)设计算法。
根据上面对问题的分析,解决问题的算法描述如下:
①输入s,p的值;
②如果s<6,则j=1.0;
③如果s≥6而且s≤10,则j=0.9;
④如果s≥11,则j=0.8;
⑤t=s×p×j;
⑥输出t的值;
⑦结束。
算法的流程图如右图所示。
(3)编写程序。
根据上面设计的算法,编写出解决该问题的程序如下图所示:
提示:请同学们思考单分支选择结构有什么问题
双分支案例:
对于读入的三个数a、b、c,设其中的最大数为m,先找出a和b中最大的数赋给m,然后再将m与c比较,从而找了三个数中最大的数。
设计算法:
根据上面的分析,解决问题的算法描述如下:
①
输入三个数a、b、c;
②
如果a>b,则m=a;否则m=b;
③
如果c>m,则m=c;
④
输出m的值;
⑤
结束。
程序实现:
多分支结构案例: