1、2.2.1顺序结构与选择结构本节教材分析一、三维目标1、知识与技能(1)理解流程图的顺序结构和选择结构;(2)能用文字语言表示算法,并能将算法用顺序结构和选择结构表示简单的流程图.2、过程与方法学生通过模仿、操作、探索、经历设计流程图表达解决问题的过程,理解流程图的结构3、情感、态度与价值观学生通过动手作图,用自然语言表示算法,用图表示算法进一步体会算法的基本思想程序化思想,在归纳概括中培养学生的逻辑思维能力二、教学重点:算法的顺序结构与选择结构三、教学难点:用含有选择结构的流程图表示算法四、教学建议我们在学习这部分内容时,首先要弄清各种图形符号的意义,明确每个图形符号的使用环境,图形符号间的
2、联结方式例如“起止框”只能出现在整个流程图的首尾,它表示程序的开始或结束,其他图形符号也是如此,它们都有各自的使用环境和作用,这是我们在学习这部分知识时必须要注意的一个方面另外,在我们描述算法或画程序框图时,必须遵循一定的逻辑结构,事实证明,无论如何复杂的问题,我们在设计它们的算法时,只需用顺序结构、条件结构和循环结构这三种基本逻辑就可以了,因此我们必须掌握并正确地运用这三种基本逻辑结构 卉98 新课导入设计导入一如果你向全班同学介绍一下你心中偶像的形象,你认为用语言描述好还是拿出偶像的照片给同学们看好?说明一下你的理由.算法除了用自然语言表示外,还可用程序框图表示导入二问题:右面的“框图”可
3、以表示一个算法吗?按照这一程序操作时,输出的结果是多少?若第一个“输入框”中输入的是77,则输出的结果又是多少?答:这个框图表示的是一个算法,按照这一程序操作时,输出的结果是0;若第一个“输入框”中输入的是77,则输出的结果是5在这个“框图”中包含了算法的两种基本结构顺序结构和选择结构,这就是我们这一节要学习的第一课时导入新课 思路1(情境导入) 我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.
4、 思路2(直接导入) 用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图.新知探究提出问题(1)什么是程序框图?(2)说出终端框(起止框)的图形符号与功能.(3)说出输入、输出框的图形符号与功能.(4)说出处理框(执行框)的图形符号与功能.(5)说出判断框的图形符号与功能.(6)说出流程线的图形符号与功能.(7)说出连接点的图形符号与功能.(8)总结几个基本的程序框、流程线和它们表示的功能.(9)什么是顺序结构?
5、讨论结果:(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框)表示开始时只有一个出口;表示结束时只有一个入口(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口(6
6、)流程线:表示程序的流向(7)圆圈:连接点表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起(8)总结如下表.图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”流程线连接程序框连接点连接程序框图的两部分(9)顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.步骤甲步骤乙 顺序结构可以用如下程序框图表示: 应用示例例1 请用程序框图表示前面讲过的“判断整数n(n2)是否为质数”的算法.解:程序框图如下:
7、点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法.变式训练 观察下面的程序框图,指出该算法解决的问题.解:这是一个累加求和问题,共99项相加,该算法是求的值.例2 已知一个三角形三条边的边长分别为a,b,c,利用海伦秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c,则三角形的面积为S=),其中p=.这个公式被称为海伦秦九韶公式)算法分析:这是一个简单的问题,只需先算出p的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法.算法步骤
8、如下:第一步,输入三角形三条边的边长a,b,c.第二步,计算p=.第三步,计算S=.第四步,输出S.程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.变式训练 下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.解:根据题意=7,a1=3,a2=11.即a2的值为11.例3 写出通过尺轨作图确定线段AB的一个5等分点的程序框图.解:利用我们学过的顺序结构得程序框图如下:点评:这个算法步骤具有一般性,对于任意自然数n,都可以按照这个算法的思想,设计出确定线段的n等分点的步骤,解决问题,通过本题学习可以巩
9、固顺序结构的应用.知能训练 有关专家建议,在未来几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情况下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情况,并输出四年后的价格.解:用P表示钢琴的价格,不难看出如下算法步骤:2005年P=10 000(1+3%)=10 300;2006年P=10 300(1+3%)=10 609;2007年P=10 609(1+3%)=10 927.27;2008年P=10 927.27(1+3%)=11 255.09;因此,价格的变化
10、情况表为:年份20042005200620072008钢琴的价格10 00010 30010 60910 927.2711 255.09程序框图如下:点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图.拓展提升 如下给出的是计算的值的一个流程图,其中判断框内应填入的条件是_.答案:i10.课堂小结(1)掌握程序框的画法和功能.(2)了解什么是程序框图,知道学习程序框图的意义.(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.第二课时导入新课 思路1(情境导入) 我们以前听过这样一个故事,
11、野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构条件结构. 思路2(直接导入) 前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构条件结构.新知探究提出问题(1)举例说明什么是分类讨论思想?(2)什么是条件结构?(3)试用程序框图表示条件结构.(4)指出条件结构的两种形式的
12、区别.讨论结果:(1)例如解不等式ax8(a0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.(3)用程序框图表示条件结构如下条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框 图1 图2注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.(4)一种是在
13、两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.应用示例 例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+bc,b+ca,c+ab是否同时成立.若是,则存在这
14、样的三角形;否则,不存在这样的三角形.程序框图如右图:点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.算法分析:我们知道,若判别式=b2-4ac0,则原方程有两个不相等的实数根x1=,x2=;若=0,则原方程有两个相等的实数根x1=x2=;若b是否成立,若成立,则执行第三步;否则执行第四步.第三步,判断ac是否成立,若成立,则输出a,并结束;否则输出c,
15、并结束.第四步,判断bc是否成立,若成立,则输出b,并结束;否则输出c,并结束.程序框图如下:点评:条件结构嵌套与条件结构叠加的区别:(1)条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”都进行判断,只有遇到能满足的条件才执行该条件对应的操作.(2)条件结构的嵌套中,“条件2”是“条件1”的一个分支,“条件3”是“条件2”的一个分支依此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行.(3)条件结构嵌套所涉及的“条件2”“条件3”是在前面的所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合.例5 “特快专递”是
16、目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f=其中f(单位:元)为托运费,为托运物品的重量(单位:千克).试画出计算费用f的程序框图.分析:这是一个实际问题,根据数学模型可知,求费用f的计算公式随物品重量的变化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件结构的运用,是二分支条件结构.其中,物品的重量通过输入的方式给出.解:算法程序框图如右图:拓展提升 有一城市,市区为半径为15 km的圆形区域,近郊区为距中心1525 km的范围内的环形地带,距中心25 km以外的为远郊区,如右图所示市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价为每公顷20万元,输入某一点的坐标为(x,y),求该点的地价分析:由该点坐标(x,y),求其与市中心的距离r=,确定是市区、近郊区,还是远郊区,进而确定地价p由题意知,p=解:程序框图如下:课堂小结(1)理解两种条件结构的特点和区别.(2)能用学过的两种条件结构解决常见的算法问题.11