人教A版数学必修三1-1-2程序框图与算法的基本逻辑结构(2)

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

人教A版数学必修三1-1-2程序框图与算法的基本逻辑结构(2)

第 2 课时 条件结构 (一)导入新课 思路 1(情境导入) 我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有 牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙 蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了 分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑 结构——条件结构. 思路 2(直接导入) 前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实 上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构. (二)推进新课、新知探究、提出问题 (1)举例说明什么是分类讨论思想? (2)什么是条件结构? (3)试用程序框图表示条件结构. (4)指出条件结构的两种形式的区别. 讨论结果: (1)例如解不等式 ax>8 (a≠0),不等式两边需要同除 a,需要明确知道 a 的符号,但条件没有 给出,因此需要进行分类讨论,这就是分类讨论思想. (2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的 流向.条件结构就是处理这种过程的结构. (3)用程序框图表示条件结构如下. 条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分 支结构),如图 1 所示.执行过程如下:条件成立,则执行 A 框;不成立,则执行 B 框. 图 1 图 2 注:无论条件是否成立,只能执行 A、B 之一,不可能两个框都执行.A、B 两个框中,可 以有一个是空的,即不执行任何操作,如图 2. (4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤 A”,否则执行“步骤 B”;另一种是在一个“分支”中均包含算法的步骤 A,而在另一个“分支”上不包含算法的任何 步骤,符合条件就执行“步骤 A”,否则执行这个条件结构后的步骤. (三)应用示例 例 1 任意给定 3 个正实数,设计一个算法,判断以这 3 个正实数为三边边长的三角形是否 存在,并画出这个算法的程序框图. 算法分析:判断以 3 个任意给定的正实数为三条边边长的三角形是否存在,只需验证这 3 个数中任意两个数的和是否大于第 3 个数.这个验证需要用到条件结构. 算法步骤如下: 第一步,输入 3 个正实数 a,b,c. 第二步,判断 a+b>c,b+c>a,c+a>b 是否同时成立.若是,则存在这样的三角形;否则,不 存在这样的三角形. 程序框图如右图: 点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存 在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在 画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构. 例 2 设计一个求解一元二次方程 ax2+bx+c=0 的算法,并画出程序框图表示. 算法分析:我们知道,若判别式Δ=b2-4ac>0,则原方程有两个不相等的实数根 x1= a b 2  ,x2= a b 2  ; 若Δ=0,则原方程有两个相等的实数根 x1=x2= a b 2  ; 若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据 判断的结果执行不同的步骤,这个过程可以用条件结构实现. 又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算 x1 和 x2 之前,先计算 p= a b 2  ,q= a2  . 解决这一问题的算法步骤如下: 第一步,输入 3 个系数 a,b,c. 第二步,计算Δ=b2-4ac. 第三步,判断Δ≥0 是否成立.若是,则计算 p= a b 2  ,q= a2  ;否则,输出“方程没有实数根”, 结束算法. 第四步,判断Δ=0 是否成立.若是,则输出 x1=x2=p;否则,计算 x1=p+q, x2=p-q,并输出 x1,x2. 程序框图如下: 例 3 设计算法判断一元二次方程 ax2+bx+c=0 是否有实数根,并画出相应的程序框图. 解:算法步骤如下: 第一步,输入 3 个系数:a,b,c. 第二步,计算Δ=b2-4ac. 第三步,判断Δ≥0 是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算 法. 相应的程序框图如右: 点评:根据一元二次方程的意义,需要计算判别式Δ=b2-4ac 的值.再分成两种情况处理: (1)当Δ≥0 时,一元二次方程有实数根; (2)当Δ<0 时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二 次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判 别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到 的,要对判别式的值进行判断,需要用到条件结构. 例 4 (1)设计算法,求 ax+b=0 的解,并画出流程图. 解:对于方程 ax+b=0 来讲,应该分情况讨论方程的解. 我们要对一次项系数 a 和常数项 b 的取值情况进行分类,分类如下: (1)当 a≠0 时,方程有唯一的实数解是 a b ; (2)当 a=0,b=0 时,全体实数都是方程的解; (3)当 a=0,b≠0 时,方程无解. 联想数学中的分类讨论的处理方式,可得如下算法步骤: 第一步,判断 a≠0 是否成立.若成立,输出结果“解为 a b ”. 第二步,判断 a=0,b=0 是否同时成立.若成立,输出结果“解集为 R”. 第三步,判断 a=0,b≠0 是否同时成立.若成立,输出结果“方程无解”,结束算法. 程序框图如下: 点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件 1”“条件 2”“条 件 3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作. (四)知能训练 设计算法,找出输入的三个不相等实数 a、b、c 中的最大值,并画出流程图. 解:算法步骤: 第一步,输入 a,b,c 的值. 第二步,判断 a>b 是否成立,若成立,则执行第三步;否则执行第四步. 第三步,判断 a>c 是否成立,若成立,则输出 a,并结束;否则输出 c,并结束. 第四步,判断 b>c 是否成立,若成立,则输出 b,并结束;否则输出 c,并结束. 程序框图如下: 点评:条件结构嵌套与条件结构叠加的区别: (1)条件结构叠加,程序执行时需依次对“条件 1”“条件 2”“条件 3”……都进行判断,只有 遇到能满足的条件才执行该条件对应的操作. (2)条件结构的嵌套中,“条件 2”是“条件 1”的一个分支,“条件 3”是“条件 2”的一个分支…… 依此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行. (3)条件结构嵌套所涉及的“条件 2”“条件 3”……是在前面的所有条件依次一个一个的满足 “分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合. 例 5 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递 公司规定甲、乙两地之间物品的托运费用根据下列方法计算: f=      ).50(,85.0)50(53.050 ),50(,53.0   其中 f(单位:元)为托运费,ω为托运物品的重量(单位:千克). 试画出计算费用 f 的程序框图. 分析:这是一个实际问题,根据数学模型可知,求费用 f 的计算公式随物品重量ω的变 化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件 结构的运用,是二分支条件结构.其中,物品的重量通过输入的方式给出. 解:算法程序框图如右图: (五)拓展提升 有一城市,市区为半径为 15 km 的圆形区域,近郊区为距中心 15—25 km 的范围内的 环形地带,距中心 25 km 以外的为远郊区,如右图所示.市区地价每公顷 100 万元,近郊区 地价每公顷 60 万元,远郊区地价为每公顷 20 万元,输入某一点的坐标为(x,y),求该点的地 价. 分析:由该点坐标(x,y),求其与市中心的距离 r= 22 yx  ,确定是市区、近郊区, 还是远郊区,进而确定地价 p.由题意知,p=       .25,20 ,2515,60 ,150,100 r r r 解:程序框图如下: (六)课堂小结 (1)理解两种条件结构的特点和区别. (2)能用学过的两种条件结构解决常见的算法问题. (七)作业 习题 1.1A 组 3.
查看更多

相关文章

您可能关注的文档