分支结构的嵌套教案【教学目标】1.复习巩固分支结构的特点、执行流程、作用以及两种基本形式:单分支和双分支,能根据需要合理选用。
2.了解分支结构的嵌套。
3.理解使用分支结构解决最值问题的算法实现。
【教学重点和难点】4.设置正确的分支判断条件。
5.掌握使用分支结构解决最值问题的算法实现【教学过程】师:首先我们一起来了解一下本节课的学习目标(大家看一下)师:在上一节课我们学习了分支结构,在新课开始之前我们首先对前面学习的内容进行一个复习巩固,请大家完成学案上的一自我检测练习,一共5题,3分钟时间。
一.复习巩固(自我检测)——设计意图:复习巩固1.分支结构——根据情况的不同,在___两个______预定的处理步骤中,选择执行______其中的一个________处理步骤。
2.分支结构的特点:1)在两条可能的路径中,根据条件是否成立而选择其中一条执行.2)_有___(有/没有)不执行的语句,__没有___(有/没有)重复执行的语句.3.分支结构的两种基本形式:____单分支结构__和___双分支结构________4. 分支结构中:5. 流程图填空:1) Y=0 (x=0) 2)师:3分钟时间到了,我们现在请同学回答一下.二.想一想:以下分段函数使用一个分支结构能够解决问题吗? 师:那我再增加一个条件,三个条件还能使用一个分支结构实现吗?判断框有___1____个入口,__2___个出口 分支结构有__1__个入口,__1__个出口开始 输入xx=0 Y=0结束 TF输入Y开始 输入xX=0Y=0结束TF输入YY=1Y=0 X<=0生:不能师:那应该怎么办呢?生:用两个分支结构师:很好,我们可以用多个分支解决,今天我们就学习分支的嵌套。
三.读一读、填一填:请阅读以下【知识储备】和【实例说明】把相应的流程图填写完整:师:请同学们读一读学案上的知识储备以实例说明及部分,把相应的流程图填写完整以实现以上分段函数的算法描述。
注意:在独立完成的基础上,小组讨论统一答案展示,请学生介绍。
时间:4分钟【知识储备】:当需要讨论的情况在三种或者是三种以上时,我们就需要使用分支结构的嵌套来实现,分支结构的嵌套是非常灵活的,可以是分支结构的一条支路上嵌套一个分支结构,例如在左分支上嵌套一个分支结构,就叫做左分支嵌套(图1),也可以在右分支上嵌套一个分支结构,就叫做右分支嵌套(图2)。
还可以是两条支路上同时嵌套分支结构(图3),当然在嵌套的分支中还可以继续嵌套分支结构.实例说明图1图2图3开始10℃以上吗?结束TF起床穿衣服,准备上学穿冬装校服穿夏装校服出门穿春秋校服0℃以上吗TF意味着:10℃以下意味着:0℃以下意味着:0℃—10℃【填一填】:请把以下流程图填写完整0 -X<=0 X>=1001 0<x<1 Y=(右分支嵌套) (左分支嵌套)答案:1:y=0 2.x<100 3.y=-1 4.x>0师:完成的小组请派代表在黑板上写出1,2,3,4空格内所需填写的答案。
师:有没有同学能够指出问题,能够指正问题的同学小组加分。
师:可能存在的问题解答:2.0<x<100。
问题剖析:1。
是0<x<100在程序表达中是错误的,正确的表达方式为x>0 and x<100.2。
是X<=0的F 隐含的条件是X>0,在2中还需要多此一举吗?显然是不需要的,只要填x<100即可。
四.练一练:购买地铁车票实行不同的费率,乘1~4站票价为3元/人,5~9站票价为4元/人,9站以上票价为5元/人。
站数n ,输出应付款pay(假设输入的站数n 大于0)师:接下来我们进行一个练习,这个练习需要同学们独立完成,首先请同学们根据题目的含义用分段函数表示出来。
请同学们一起回答。
Y=0Y=1X<100TFTFY=-1Y=1X<=0TFT F分析问题:(分段函数表示)Pay=师:接下来,请同学们根据分段函数把流程图填写完整,需要大家独立完成。
答案:一个同学投影展示答案并进行说明,是否有不同意的,做对的同学请举手。
____3 ___ ___(n<=4)_______4__________5______ ____4<n<=9______n>9_______ 开始输入站数nn<=4Pay=4 输出应付款payT T F F五.思考题: 从键盘输入三个不相等的自然数a,b,c,输出其中的最大数max。
师:请同学们以小组的形式讨论实现求三个数的最大值的方法。
时间是7分钟。
师:巡视了解各组答案。
(关键)师:4分钟后看看情况如何?如果不行,给出提示。
师: 7分钟到了,请各组展示,组内同学看看如果有补充可以直接上来改,也可以看看其他小组有没有问题,能够纠正出其他小组问题的加分。
第一种情况讨论说明:单个条件法问题:a>b后的左分支中条件为b>c这种情况这种情况不能分辨是a大还是c 大。
单个条件法适合抓大放小,都是大的再与第三个数进行比较,不然不能确定第一对数中大的和第二对数中大的哪个大。
第二种情况讨论说明:复合条件法问题:1.a>b and b>c 这样的话,遗漏了3,1,2这种情况,3,1,2还是a大。
2.右分支的条件为:b>a and b>c可以的,只是b>a多余了。
不满足a>b and a>c,a不可能是最大的了,最大值只有可能是b或者c,所以只要b和c比较即可。
3.A>b or a>c :只要满足一个即可,所以满足a>b,那么我给出的c最大。
如果满足a〉c的话,那么我给出b最大。
第三种情况讨论:单分支串联师:虽然这个方法没有使用分支嵌套,使用的是单分支的串联,但是能够解决问题,我们一起来看一下,如果满足a>b and a>c,a最大,其余两个单分支都是F;如果满足b>a and b>c,则b最大,其余两个单分支也都是F;如果满足c>a and c>b则c最大,其余两个单分支也都是F。
第四种情况讨论:打擂法师:首先我们先假设a是最大的赋值给max,然后max与b进行比较,如果max<b,说明max的值不是最大的,需要把b的值赋给max,保证max中保存的是当前最大的值。
然后max再与c进行比较,如果max<c,则说明max的值不是最大的,需要把c的值赋给max,使得max中保存的是三种数中的最大值。
第五种情况讨论:函数法师:iif函数有3个参数,第一个是一个表达式,如果表达式成立则返回truepart 也就是第二个参数的值,否则返回falsepart,也就是第二个参数的值。
师:我们来看一下首先比较a>b,如果成立的话就返回a的值赋值给max,否则返回b的值赋值给max。
max是a和b中的较大数。
然后max再与c进行比较,如果max〉c,则返回max的值为max,否则返回c的值给max,从而使得max 中保存的是a,b,c三个数中的最大值。
师:学生的答案都可以归为抓大放小法(单个条件法),复合条件法,单分支串联法。
当学生出来单分支串联法的时候说明,虽然不属于分支的嵌套但是确实能解决问题。
说明一个问题的算法是不唯一的。
如果出来打擂法,不要出现这个词,因为从严格意义上来说打擂法这个词应该出现在循环结构中。
主要说明是正确的,说明算法是不唯一的即可。
师:学生存在问题时,则教师给出提示:单个条件法给出相应的框架以及第一个条件:a>b复合条件法给出框架以及第一个条件可以是_____ and _____,max=a.师:当然还可以使用单分支的串联解决问题,虽然不属于分支的嵌套,但是还是解决了问题,很好。
——我们大致了解一下。
(如果本班级没有想到单分支的方法,则说是其他班级还有这样的方法,虽然不属于分支的嵌套但是也解决了问题,我们一起来看一下)师:还有函数法,iif函数有3个参数,第一个是一个表达式,如果表达式成立则返回truepart也就是第二个参数的值,否则返回falsepart,也就是第二个参数的值。
师:我们来看一下首先比较a>b,如果成立的话就返回a的值赋值给max,否则返回b的值赋值给max。
提示:如果使用了打擂法单分支解决问题,课堂很有可能无法把控,所以,还是现定于两个方案。
注意:各种答案的汇总:抓大放小法(单个条件法),复合条件法以外:还有六.拓展知识❖当我们学好了多分支结构及其语句,就可以实现很多有趣的问题,感兴趣的同学可以探究一下。
❖例如:猜生肖七.课堂小结1、什么时候需要使用分支结构的嵌套?当需要判断3种或以上的情况时需要使用分支结构的嵌套2、什么是分支结构的嵌套?分支结构的嵌套是非常灵活的,可以是分支结构的一条支路上嵌套一个分支结构,例如在左分支上嵌套一个分支结构,就叫做左分支嵌套,也可以在右分支上嵌套一个分支结构,就叫做右分支嵌套。
还可以是两条支路上同时嵌套分支结构,当然在嵌套的分支中还可以继续嵌套分支结构.注意:分支结构的判断条件划分清晰,要注意分支嵌套中的条件所隐含的条件,既不重复判断又要考虑到各个可能情况,不有所遗漏3.从求最大值的问题中我们了解到解决问题的方法是不唯一。
我们要勤思敢想贵创新,善于多角度地去寻找解决问题的方法。
七.课后检测练习:1、若执行时依次输入12、34,以下流程图描述的算法执行结果是_34______。
2、若执行时依次输入8、9,以下流程图描述的算法执行结果是___32_____。
3.下面流程图所表示的算法的功能是____B______。
A. 判断a是否大于-5B. 判断a是否在(-5,10]的区间内C. 判断a是否小于等于10D. 判断a是否在(-5,10)的区间内4.以下流程图的功能是(D)5.流程图改错: 从键盘输入三个不相等的自然数a,b,c ,输出其中的最大数max 。
以下流程图有一处错误,请指出并改正。
开始 输入三个不相等的数a,b,c a>b and b>c b>c 输出最大数max结束T F T F Max=aMax=b Max=c感谢您的阅读,祝您生活愉快。