数学必修三算法的三种基本逻辑结构和框图表示
- 格式:ppt
- 大小:437.00 KB
- 文档页数:18
示范教案整体设计教学分析教材分别列举实例介绍了三种基本逻辑结构.值得注意的是教学中要先让学生自己体会实例,采取循序渐进方式学习,毕竟学生接受起来还是需要一个过程的.三维目标1.了解三种基本逻辑结构,提高识图和用图的能力.2.能够画出简单的程序框图,提高学生分析问题和解决问题的能力.重点难点教学重点:了解三种基本逻辑结构和画程序框图.教学难点:循环结构的理解和应用.课时安排2课时教学过程第1课时导入新课思路1(情境导入).我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的.鸟们喊道:你有翅膀是我们一伙的.蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习三种基本逻辑结构中的顺序结构和条件分支结构.思路2(直接导入).我们写出的算法或画出的程序框图,一定要使大家一步步地看得清楚、明白,容易阅读.不然,写的算法乱无头绪,就很难让人阅读和理解.这就要求算法或程序框图有一个良好的结构.通过对各种各样的算法和框图进行分析和研究,证明只须用顺序结构、条件分支结构和循环结构就可表示任何一个算法.用这三种基本结构表述的算法和画出的框图,整齐美观,容易阅读和理解.下面我们分别介绍这三种基本逻辑结构,本节课先学前两种.推进新课新知探究提出问题(1)阅读本节教材,什么是顺序结构?(2)画顺序结构的框图.(3)阅读教材,什么是条件分支结构?(4)画条件分支结构的框图.讨论结果:(1)顺序结构描述的是最简单的算法结构,语句与语句之间,框与框之间按从上到下的顺序进行,不能越步骤执行.(2)顺序结构对应的框图,如下图所示.(3)一些简单的算法可以用顺序结构来表示,但是这种结构无法描述要求进行逻辑判断,并根据判断结果进行不同处理的情况.因此,需要另一种逻辑结构来处理这类问题.这种结构叫做条件分支结构.它是依据指定条件选择执行不同指令的控制结构,又称为条件结构.(4)条件分支结构的框图如下图所示.执行过程如下:若条件成立,则执行A框;若不成立,则执行B框.应用示例思路1例1已知点P0(x0,y0)和直线l:Ax+By+C=0,求点P0到直线l的距离d.分析:利用点到直线距离公式写出算术步骤,再画出程序框图.只需顺序结构即可.解:(1)用数学语言来描述算法:S1输入点的坐标x0,y0,输入直线方程的系数A,B,C;S2计算z1=Ax0+By0+C;S3计算z2=A2+B2;S4计算d=|z1|z2;S5输出d.(2)用框图来描述算法,如下图所示.点评:解决此类问题要借助于其他方面知识.本题的解决过程中用到了点到直线的距离公式,弄清公式的结构特点,分步计算.的含义是什么?的含义是什么?的含义是什么?该程序框图解决的是怎样的一个问题?=-2.当x取5时输出的结果赋给变量x.的含义:该处理框在执行①的前提下,即当分析:该方程的根的个数由Δ=b 2-4ac 的符号来确定,则需用条件分支结构. 解:(1)用数学语言来描述算法: S1 计算Δ=b 2-4ac ;S2 如果Δ<0,则原方程无实数解; 否则(Δ≥0),x 1=-b +b 2-4ac 2a ,x 2=-b -b 2-4ac 2a;S3 输出解x 1,x 2或无实数解信息.(2)用程序框图来描述算法,如下图所示.点评:分类讨论思想是高中数学学习的重要思想方法,在画程序框图时,遇到需要分类讨论的问题时要用到条件分支结构.3设火车托运重量为P(kg)行李时,每千米的费用(单位:元)标准为Y =⎩⎪⎨⎪⎧ 0.3 P ,0.3×30+0.5(P -30),当P ≤30 kg 时当P>30 kg 时画出行李托运费用的程序框图.分析:由于对P 的大小需要进行分类讨论,则使用条件分支结构画出它的程序框图. 解:先输入托运的重量P 和里程D ,再分别用各自条件下的计算式子来进行计算处理,然后将结果与托运路程D 相乘,最后输出托运行李的费用M.程序框图如下:点评:对于分段函数的求值问题,往往需要先对输入的x 的值进行判断,根据其取值范围确定解析式,所以一般需要用条件分支结构进行算法设计.思路2例 已知一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图.(已知三角形三边边长分别为a ,b ,c ,则三角形的面积为S =p (p -a )(p -b )(p -c ),其中p =a +b +c2.这个公式被称为海伦—秦九韶公式)分析:只需先算出p 的值,再将它代入公式,最后输出结果.因此只用顺序结构应能表达出算法.解:算法步骤如下:S1 输入三角形三条边的边长a ,b ,c ;S2 计算p =a +b +c2;S3 计算S =p (p -a )(p -b )(p -c ); S4 输出S. 程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.,∴a2=11,即a2的值为0 (x=0), x+由于函数是一个分段函数,所以输入x的值后应根据解析式代入求出其函数值,故应用条件分支结构.知能训练1.如下给出的是计算12+14+16+…+110的值的一个程序框图,其中处理框内应填入的是______.答案:S =S +1102.设计算法求过两点P 1(3,5),P 2(-1,2)的直线斜率,并画出程序框图. 解:算法步骤如下:S1 x 1=3,y 1=5,x 2=-1,y 2=2; S2 K =y 2-y 1x 2-x 1;S3 输出K.该算法表示的程序框图如下图所示:3.设计算法,求ax +b =0的解,并画出程序框图.分析:对于方程ax +b =0来讲,应该分情况讨论方程的解.我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下: (1)当a ≠0时,方程有唯一的实数解是-ba;(2)当a =0,b =0时,全体实数都是方程的解; (3)当a =0,b ≠0时,方程无解.联想数学中的分类讨论的处理方式,可得如下算法步骤. 解:算法步骤:S1 判断a ≠0是否成立.若成立,输出解为-ba;S2 判断a =0,b =0是否同时成立.若成立,输出解集为R ; S3 判断a =0,b ≠0是否同时成立.若成立,输出方程无解. 程序框图如下图所示:拓展提升有一城市,市区为半径为15 km 的圆形区域,近郊区为距中心15~25 km 的范围内的环形地带,距中心25 km 以外的为远郊区,如下图所示.市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价为每公顷20万元,输入某一点的坐标为(x ,y),求该点的地价,并画出程序框图.分析:由该点坐标(x ,y),求其与市中心的距离r =x 2+y 2,确定是市区、近郊区,还是远郊区,进而确定地价p.由题意知,p =⎩⎪⎨⎪⎧100,0<r ≤15,60,15<r ≤25,20,r>25.解:程序框图如下:课堂小结1.理解顺序结构和条件分支结构的特点.2.能用条件分支结构解决常见的算法问题. 作业本节练习B 3、4.设计感想本节选用的例题难度适中,有的经典实用,有的新颖独特,每个例题都是很好的素材.条件分支结构是逻辑结构的核心,是培养学生逻辑推理的好素材,本节设计符合新课标精神,难度设计略高于教材.备课资料备选习题1.设计算法,尺规作图,确定线段AB 的一个5等分点,并画出程序框图.分析:确定线段AB 的一个5等分点,可在线段AB 上确定一点M ,使得AM =15AB.同学们都熟悉解决这个问题的方法:第一,从A 点出发作一条与原直线不重合的射线;第二,任取射线上一点C ,并在射线上作线段AD ,使AD =5AC ;第三,连接DB ,并过C 点作BD 的平行线交AB 于M ,M 就是要找的一个5等分点. 这个过程需要一步一步来实现. 解:算法如下:S1 如下图,从已知线段的左端点A 出发,作一条射线AP ;S2 在射线上任取一点C ,得线段AC ; S3 在射线上作线段CE =AC ; S4 在射线上作线段EF =AC ; S5 在射线上作线段FG =AC ;S6 在射线上作线段GD =AC ,那么线段AD =5AC ; S7 连接DB ;S8 过C 作BD 的平行线,交线段AB 于M ,这样点M 就是线段AB 的一个5等分点. 程序框图如下:2.“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f =⎩⎪⎨⎪⎧0.53ω,ω≤50,50×0.53+(ω-50)×0.85,ω>50. 其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克). 试画出计算费用f 的程序框图.分析:这是一个实际问题,根据数学模型可知,求费用f 的计算公式随物品重量ω的变化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件分支结构的运用. 其中,物品的重量通过输入的方式给出.解:程序框图如下:第2课时循环结构导入新课思路1(情境导入).我们都想生活在一个优美的环境中,希望看到的是碧水蓝天,大家知道工厂的污水是怎样处理的吗?污水进入处理装置后进行第一次处理,如果达不到排放标准,则需要再进入处理装置进行处理,直到达到排放标准.污水处理装置是一个循环系统,对于处理需要反复操作的事情有很大的优势.我们数学中有很多问题需要反复操作,今天我们学习能够反复操作的逻辑结构——循环结构.思路2(直接导入).前面我们学习了顺序结构,顺序结构像一条没有分支的河流,奔流到海不复回;还学习了条件分支结构,条件分支结构像有分支的河流最后归入大海.事实上,很多水系是循环往复的,今天我们学习循环往复的逻辑结构——循环结构.推进新课新知探究提出问题(1)在科学计算中,会遇到许多有规律的重复运算.例如:人口预测.已经知道现有的人口总数是P,人口的年增长率是R,预测第T年后人口总数将是多少?设计算法,写出算法步骤.(2)当T=10时,乘(1+R)的运算重复多少次?(3)阅读本节教材,如何设计程序框图求T年后人口总数?(4)画出循环结构的程序框图.讨论结果:(1)算法步骤:①第一年后的人口总数是P+P×R=P(1+R);②第二年后的人口总数是P(1+R)+P(1+R)×R=P(1+R)2;……以此类推,得第T年后的人口总数是P(1+R)T.(2)如果要计算第10年后的人口总数,乘(1+R)的运算要重复10次.(3)如果一个计算过程,要重复一系列的计算步骤若干次,每次重复的计算步骤完全相同,则这种算法过程称为循环过程.循环过程非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确.由此引出算法的第三种结构:根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构.通过以上的分析,预测人口的算法中包含循环结构,它可用下图中的程序框图来描述.画出这张框图的关键,是要理解“计算增量I=P×R”,“P=P+I”及“t=t+1”这三个处理框的工作.每重复(循环)一次,I,P,t三个变量都发生变化,这三步要重复计算T次.它是如何工作的,大家一定要清楚.在计算增量这个处理框中,第一次算出的是第一年的人口增量,第二年人口计算的基数发生了变化,它已不是初始值P,它应是P +I,因此在下一个处理框中,用P+I代替P,这时输出的应是P+I,可输出框中仍写的是P,这可能使你有点糊涂,但只要你想到P是一个变化着的量也就容易理解了.开始是初始值,每年后都用新的人口值替代上一年的人口值,再送回“计算增量”的处理框,计算新的一年的人口增量.你不妨把“P=P+I”这个处理框看成一个储存数据的单元,新的数据进入就把旧的数据“赶走”.增长时间变量t的变化类似,每循环一次增长1,用它来对循环次数进行计数.(4)循环结构的程序框图如下图所示:其执行方式是:首先判断条件P是否满足,当条件P不满足时,结束循环;当条件P 满足时,执行步骤A,再判断条件P是否满足,…,依次执行下去.应用示例思路1已知n个正整数排成一行如下:a1,a2,a3,…,a n-1,a n.其中下脚码表示n个数的排列位置.这一行数满足条件:a1=1,a2=1,a n=a n-2+a n-1.(n≥3,n∈N)画出计算第n项的程序框图.分析:表达式a n=a n-2+a n-1的意义是表示在这个数序列中的第n个数,可由它前面的两个数计算出来,如果给出这个数序列的第一和第二个数,则这个数序列的所有项都可计算出来.即由a1=1,a2=1,可求出a3=a1+a2=1+1=2,a4=a2+a3=1+2=3,a5=a3+a4=2+3=5,……a k=a k-2+a k-1.(*)解:由(*)式,我们可看到,a k,a k-2,a k-1都是k的函数,数值随k而变,(*)式中的计算要反复进行,因此在框图中要引入三个变量,分别用C,A,B表示a k,a k-2,a k-1.框图中首先要输入正整数n(n≥3)及给A与B分别输入值1,1,然后循环计算.它的程序框图如下图所示.点评:在这张框图中,除引入变量A,B,C外,又引入了一个变量“k”,在进行循环操作前,用这个变量控制是否达到给定的正整数n.该程序框图的运行过程是:思路2执行如下图所示的程序框图,若p=0.8,则输出的n=________.解析:该程序框图的运行过程是:p=0.8;n=1;S=0;S=0<p=0.8,是;S=0+121=0.5;n=1+1=2;S=0.5<p=0.8,是;S=0.5+122=0.75;n=2+1=3;S=0.75<p=0.8,是;S=0.75+123=0.875;n=3+1=4;S=0.875<p=0.8,否;输出n=4.答案:4按流程线依次执行,观察每次循环后结果s发生的变化.99项相加,该算法是求11×知能训练1.由相应的程序框图(如下图),补充完整一个计算1+2+3+…+100的值的算法.S1设i的值为________;S2设sum的值为________;S3如果i≤100执行第________步,否则,转去执行第________步;S4计算sum+i并将结果代替______;S5计算________并将结果代替i;S6转去执行第________步;S7输出________的值.分析:程序框图各图框的内容(语言和符号)要与算法步骤相对应,在程序框图中算法执行的顺序应按箭头方向进行.解:S1设i的值为1;S2设sum的值为0;S3如果i≤100,执行第四步,否则,转去执行第7步;S4计算sum+i并将结果代替sum;S5计算i+1并将结果代替i;S6转去执行第3步;S7输出sum的值.2.设计程序框图,求1+3+5+7+…+131的值.分析:由于需加的数较多,所以要引入循环结构来实现累加.观察所加的数是一组有规律的数(每相邻两数相差2),那么可考虑在循环过程中,设一个变量i,用i=i+2来实现这些有规律的数,设一个累加器sum,用来实现数的累加,在执行时,每循环一次,就产生一个需加的数,然后加到累加器sum中.解:算法如下:S1赋初值i=1,sum=0;S2sum=sum+i,i=i+2;S3如果i≤131,则反复执行第2步,否则,执行下一步;S4输出sum.程序框图如下图.拓展提升高中某班一共有40名学生,设计算法程序框图,统计班级数学成绩良好(分数>80)和优秀(分数>90)的人数.分析:用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s,然后对s的值进行判断.设两个计数器m,n,如果s>90,则m=m+1,如果80<s≤90,则n=n+1.设计数器i,用来控制40个成绩的输入,注意循环条件的确定.解:程序框图如下:课堂小结1.循环结构的特点及功能.2.能用循环结构画出求和等实际问题的程序框图.作业本节练习A 2、3.设计感想本节的引入抓住了本节的特点,利用计算机进行循环往复运算,解决累加、累乘等问题.循环结构是逻辑结构中的难点,它一定包含一个条件分支结构,它能解决很多有趣的问题.本节选用了大量精彩的例题,对我们系统掌握程序框图有很大的帮助.备课资料备选习题1.设计一个用有理数幂逼近无理指数幂52的算法,画出算法的程序框图.解:算法步骤:S1给定精确度d,令i=1;S2取出2的到小数点后第i位的不足近似值,记为a;取出2的到小数点后第i位的过剩近似值,记为b;S3计算m=5b-5a;S4若m≥d,则将i的值增加1,返回第二步;否则,执行下一步;S5得到52的近似值为5a.程序框图如下:分析:如果采用逐步计算的方法,利用顺序结构来实现,则非常麻烦,由于前后的运算需重复多次相同的运算,所以应采用循环结构,可用循环结构来实现其中的规律.观察原式中的变化的部分及不变项,找出总体的规律是4+1x,要实现这个规律,需设初值x =4.解:程序框图如下:。
1.1.2程序框图与算法的基本逻辑结构(1)教学目标:1.知识与技能:(1)掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的两个基本逻辑结构;(2)掌握画程序框图的基本规则,能正确画出程序框图;(3)通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.2.过程与方法:在我们描述算法或画程序框图时,必须遵循一定的逻辑结构,事实证明,无论如何复杂的问题,我们在设计它们的算法时,只需用顺序结构、条件结构和循环结构这三种基本逻辑就可以,因此我们必须掌握并正确地运用这三种基本逻辑结构.3.情态与价值:通过本节的学习,使我们对程序框图有一个基本的了解;掌握算法语言的两种基本逻辑结构,明确程序框图的基本要求;认识到学习程序框图是我们学习计算机的一个基本步骤,也是我们学习计算机语言的必经之路.培养学生独立思考、合作交流的意识;增强学生算法意识,理解算法思想.教学重点:程序框图的基本概念、基本图形符号和两种种基本逻辑结构.教学难点:能综合运用这些知识正确地画出程序框图.教学过程:一.复习引入1.什么是算法?有哪些特点?2.“判断整数n(n>2)是否为质数”的算法步骤如何?有别的形式表示吗?一张旅游导向图引入新课.用框图表示.上述表示算法的图形称为算法的程序框图又称流程图,其中的多边形叫做程序框,带方向箭头的线叫做流程线.思考:通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点? 二.新课讲解1.程序框图的概念程序框图是一种用程序框、流程线及文字说明来表示算法的图形. (简称框图)程序框图是算法的一种表现形式,也就是说,一个算法可以用算法的步骤表示,也可以用程序框图表示,所以,通常是先写出算法的步骤,然后再转化为对应的程序框图.2.算法的表示(自然语言和框图)3.基本的程序框和它们各自表示的功能(表格)画程序框图的规则如下:(1)使用标准的图形符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框具有超过一个退出点的唯一符号;(4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.(5)在图形符号内描述的语言要非常简练清楚.根据图形分析程序框图的结构特点:三种基本逻辑结构4.算法的三种基本逻辑结构顺序结构、条件结构、循环结构.(1)顺序结构顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的一种基本算法结构.顺序结构可以用程序框图表示为如图示例3:已知一个三角形的三边边长分别为a,b,c,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.解答略(2)条件结构在算法中,通过对某个条件的判断,根据条件是否成立选择不同流向的算法结构称为条件结构.图示略思考:对于条件结构的理解?想一想:条件结构中的判断框有两个出口,由此说明条件结构执行的结果不唯一,对吗?不对.判断框虽然有两个出口,但根据条件是否成立,选择的出口是确定的,故执行结果也是唯一的.练习:观察所给程序框图,说出它所表示的函数.例4任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,并画出这个算法的程序框图.解答略小结:设计一个算法的程序框图的基本思路三.课堂练习1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.2.设计一个求任意数的绝对值的算法,并画出程序框图.四.课堂小结 1.理解程序框图的含义;2.掌握各种程序框的画法和功能;3.能够读懂顺序结构、条件结构的程序框图.五.课后作业1.学习课本P11例5;2.习题1.1A组1,3题写在作业本上;3.预习循环结构,并总结出三种结构的区别与联系.六.课后反思。
算法与程序框图知识集结知识元算法的概念知识讲解算法的概念算法是做一件事情的方法和步骤.在生活中做一件事情的方法和步骤有多种,我们设计的算法应本着简捷方便的原则.要正确地设计一个算法就需要了解算法的特征:有限性:一个算法当运行完有限个步骤后必须结束,而不能是无限地运行确定性:算法的每一步计算,都必须有确定的结果,不能模棱两可,即算法的每一步只有唯一的执行路径,对于相同的输入只能得到相同的输出结果可行性:算法中的每一步骤必须能用实现算法的工具精确表达,并能在有限步内完成有序性算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,只有执行完前一步才能执行后一步普遍性:算法一般要适用于输入值集合中不同形式的输入值,而不是局限于某些特殊的值,即算法具有一般性,一个算法总是针对某类问题设计的,所以对于求解这类问题中的任意一个问题都应该是有效的不唯一性:解决一个或一类问题,可以有不同的方法和步骤,也就是说,解决这个或这类问题的算法不一定是唯一的例题精讲算法的概念与程序语句例1.下列叙述中,不能称为算法的是()A.植树需要运苗、挖坑、栽苗、浇水这些步骤B.按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100 C.从济南到北京旅游,先坐火车,再坐飞机抵达D.3x>x+1例2.下列各式中S的值不可以用算法求解的是()A.S=1+2+3+4B.S=1+2+3+4+…C.S=1+++…+D.S=12+22+32+…+1002例3.程序框图中,表示处理框的是()A.B.C.D.程序框图知识讲解1.程序框图的三种基本逻辑结构的应用【知识点的认识】三种基本逻辑结构:1.顺序结构:往往从上到下的顺序进行,常用于直接应用公式的题型.如图,算法执行完A 后才执行B.2.条件结构:执行具有选择性.如图,当算法执行到条件P时,若P成立,则执行A,否则执行B.无论条件P是否成立,A和B只能选择其一执行,不能同时执行或同时不执行.A和B中可以有一个为空,即不执行任何操作.3.循环结构:有“当型”和“直到型”两种循环结构.①当型:先判断再执行.如图,当算法执行到条件P时,先判断P是否成立,若不成立,执行A,再判断P,若P依然不成立,继续执行A,再判断…,如此循环直到P成立退出循环.②直到型:先执行再判断.如图,算法先执行A,然后判断条件P是否成立,若P不成立,继续执行A,直到P成立推出循环.例题精讲程序框图例1.程序框图符号“”可用于()A.赋值a=6 B.输出a=5 C.输入a=5 D.判断a=6例2.如图的框图是一古代数学家的一个算法的程序框图,它输出的结果S表示()A.a0+a1+a2+a3的值B.a3+a2x0+a1x02+a0x03的值C.a0+a1x0+a2x02+a3x03的值D.以上都不对例3.某程序框图如图所示,若运行该程序后输出S=()A.B.C.D.当堂练习单选题练习1.算法的三种基本结构是()A.逻辑结构,模块结构,条件分支结构B.顺序结构,条件结构,循环结构C.矩形结构,菱形结构,平行四边形结构D.顺序结构,重复结构,分支结构练习2.用秦九韶算法求多项式f(x)=1+2x+x2-3x3+2x4在x=-1时的值,v2的结果是()A.-4 B.-1 C.5 D.6练习3.《九章算术》卷5《商功》记载一个问题“今有圆堡瑽,周四丈八尺,高一丈一尺.问积几何?答曰:二千一百一十二尺.术曰:周自相乘,以高乘之,十二而一”.这里所说的圆堡瑽就是圆柱体,它的体积为“周自相乘,以高乘之,十二而一、”就是说:圆堡瑽(圆柱体)的体积为:V=×(底面的圆周长的平方×高).则由此可推得圆周率π的取值为()A.3 B.3.14 C.3.2 D.3.3练习4.程序框图符号“”可用于()A.赋值a=6 B.输出a=5 C.输入a=5 D.判断a=6填空题练习1.将“杨辉三角”中的数从左到右、从上到下排成一数列:1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,…,如图所示程序框图用来输出此数列的前若干项并求其和,若输入m=4则相应最后的输出S的值是____。
数学人教B必修3第一章1.1.3 算法的三种基本逻辑结构和框图表示(1)——顺序结构、条件分支结构1.了解程序框图的概念,掌握各种程序框和流程线的功能,掌握画程序框图的基本规则.2.理解算法中的顺序结构、条件分支结构,并能选用这两种结构解决有关问题.1.程序框图通常用一些通用图形符号构成一张图来表示算法.这种图称做__________(简称框图).流程线是带箭头的线,它从一个程序框指向另一个程序框,表示程序执行的顺序或者方向.它可以不具有从上到下的特点,它是根据箭头的指向而执行相应的程序.【做一做1】如图所示的程序框中,判断框是().2.画程序框图的规则(1)使用标准的框图的符号.(2)框图一般按______________的方向画.(3)除________外,其他框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.(4)________分两大类,一类判断框为“是”与“否”两分支的判断,而且有且仅有两个可能结果;另一类是多分支判断,可能有几种不同的结果.(5)在图形符号内描述的语言要非常简练清楚.如果一个框图需要分开来画,要在断开处画上连接点,并标出连接的号码,如下图,在图中有两个以○为标志的连接点(在连接点图中写上“1”),它表示这两个点是互相连接在一起的.实际上它们是同一个点,只是画不下才分开来画.用连接点,可以避免流程线的交叉或过长,使框图清晰.【做一做2】以下对程序框图画法的描述正确的有________. ①不一定要使用标准的框图符号;②框图一般按从上到下、从左到右的方向画; ③除判断框外,大多数程序框图符号只有一个进入点和一个退出点;判断框是具有超过一个退出点的唯一符号;④在图形符号内描述的语言要非常简练清楚. 3.顺序结构、条件分支结构 (1)________:描述的是最简单的算法结构,语句与语句之间,框与框之间按__________的顺序进行.(2)________________:要对描述对象进行逻辑判断,并根据判断结果进行不同的处理的逻辑结构叫做条件分支结构.它是根据指定条件选择执行不同指令的控制结构.【做一做3-1】如图所示,图中运行结果为________.【做一做3-2】已知函数y =⎩⎪⎨⎪⎧log 2x ,x ≥2,2-x ,x <2.图中表示的是给定x 的值,求其对应的函数值y 的程序框图.①处应填写________;②处应填写________.1.解读画程序框图的“三要素”剖析:组成任何一个程序框图的三要素是“四框”、“一线”、“文字说明”,所以首先要抓住它们各自的特征与意义.“四框”的特征与意义:①起、止框的特征是圆角矩形,表示框图的开始或结束,是任何流程不可缺少的;②输入、输出框的特征是平行四边形,表示算法中输入和输出的信息,可放在任何需输入、输出的位置;③处理框的特征是方角矩形,表示赋值和计算等,算法中要处理的数据或计算可分别写在不同的处理框内;④判断框的特征是菱形,用在当算法要求对两个不同的结果进行判断时.“一线”的特征与意义:流程线的特征是带有方向箭头的线,用以连接程序框,直观地表示算法的流程,任意两个程序框之间都存在流程线.“文字说明”的特征与意义:在图框内加以说明的文字、算式等,也是每个图框不可缺少的内容.程序框图的画法规则是:①用标准,即使用标准的图框符号;②按顺序,即图框一般按从上到下、从左到右的顺序画;③看出入,即大多数框图的图形符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号,条件分支结构中要在出口处标明“是”或“否”;④辨流向,即流程线的箭头表示执行的方向,不可缺少;⑤简说明,即在图形符号内的描述语言要简练清晰.画程序框图的总体步骤是:第一步,先设计算法,因为算法的设计是画程序框图的基础,所以在画程序框图前,首先写出相应的算法步骤;第二步,再把算法步骤转化为对应的框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.记忆口诀:抓特征,明规则,依步骤.2.条件分支结构的特点及表现形式剖析:(1)条件分支结构的特点如下图所示的虚线框表示条件分支结构的示意图,此结构中包含一个判断框,根据给定的条件p是否成立而选择执行A框或B框.无论条件p是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能出现A框与B框都不执行的情形,无论走哪一条路径,在执行完A或B后,都要脱离本条件分支结构.但A或B中可以有一个是空的,即不执行任何操作.条件分支结构中的判断只有“是”和“否”两种情况,不会出现第三种情况,因此对于两种以上的情况判断,必须采用条件分支结构与条件分支结构的嵌套来完成.另外虽然判断框有两个退出点,但整个条件分支结构只有一个退出点,所以我们认为条件分支结构只有一个退出点.(2)常见条件分支结构的形式①单条件分支结构在上述结构中,如果A和B中有一个为空时称为单条件分支结构,即不对称的条件分支结构,该结构是按着某个条件是否成立来决定某语句是否执行的,用框图来表示如图a 所示.②双条件分支结构在上述结构中,如果A和B中都不为空时称为双条件分支结构,即对称的条件分支结构,该结构是按照某个条件是否成立,从两语句中选择一语句执行,用框图来表示如图b 所示.③多条件分支(嵌套的)结构用框图来表示如图c所示.题型一程序框图的概念【例1】关于程序框图,有以下说法:①程序框图只有一个入口,也只有一个出口;②输入框只能在开始框之后,输出框只能在结束框之前;③判断框内的条件是唯一的;④一种判断框是“是”与“否”两分支的判断,而且有且仅有两个结果,另一种是多分支判断,有几种不同的结果.其中正确说法的个数为().A.1 B.2 C.3 D.4反思:算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更加直观,我们经常用图形来表示它,用一些通用的图形符号构成一张图来表示算法,这种图称做程序框图.表示算法必须使用通用的标准的图形符号,按规定的流向(从上到下,从左到右)画.在图形符号内描述的语言要简练清楚,这样大家才能彼此之间读懂对方画出的框图.题型二顺序结构框图【例2】已知f(x)=x2-2x-3,求f(3),f(-5),f(5),并计算f(3)+f(-5)+f(5)的值.设计出解决该问题的一个算法,并画出程序框图.分析:该题是求函数值的问题,代入计算即可,求出值后再去求和.反思:该算法是先输入一个自变量的值,然后求相应的函数值,最后求各函数值的和,此题要明确求值的先后顺序.题型三 条件分支结构框图【例3】写出解方程px +q =0(其中p ,q 为常数)的一个算法,并画出该算法的程序框图.分析:方程px +q =0的根与p ,q 的值关系密切.此问题考查的是一元一次方程根的情况,需对p ,q 为0与不为0进行讨论,当p ≠0时,方程的根为x =-qp ;当p =0时,若q=0,则方程有无数多个根,若q ≠0,则方程无实数根.由此可知,算法中会多次应用判断框引入条件分支结构.反思:解决此类关于方程根的问题需对参数的情况作全面的讨论.又如,求方程ax 2+bx +c =0(a ≠0)中根的情况时需分Δ>0,Δ=0,Δ<0三种情况讨论.题型四易错辨析【例4】如图所示的程序框图,其作用是:输入x 的值,输出相应的y 值.若要使输入的x 的值与输出的y 值相等,则这样的x 值有( ).A .1个B .2个C .3个D .4个错解:要使输入的x 值与输出的y 值相等,只需x 2=x 或2x -3=x 或1x =x ,解得x =1或0或3或-1,共4个值.故选D.错因分析:错解中只注重了框图中输出的结果,而对整个框图的功能理解仍不透彻.1下列框图符号中,表示处理框的是( ).2阅读下面的程序框图,则输出的结果是( ).A.4 B.5 C.6 D.133如图所示的程序框图中,若f(x)=2x,g(x)=x2,则h(3)的值等于________.4下图所示的算法的功能是________.5求过两点P1(x1,y1),P2(x2,y2)的直线的斜率,设计该问题的算法,并画出程序框图.答案:基础知识·梳理1.程序框图起、止框输入、输出框处理框判断框流程线连接点注释框【做一做1】 B2.(2)从上到下、从左到右(3)判断框(4)判断框【做一做2】②③④3.(1)顺序结构从上到下(2)条件分支结构【做一做3-1】 4【做一做3-2】x<2y=log2x框图中的①就是分段函数解析式两种形式的判断条件,故填写x <2,②就是函数的另一段表达式y =log 2x .典型例题·领悟【例1】 B 输入、输出框可以在程序中需要的任何位置.判断框内的条件不是唯一的,如a ≤b ,可以改为a >b ,所以②③错误.【例2】 解:算法: S1 x =3;S2 y 1=x 2-2x -3; S3 x =-5;S4 y 2=x 2-2x -3; S5 x =5;S6 y 3=x 2-2x -3; S7 y =y 1+y 2+y 3; S8 输出y 1,y 2,y 3,y .该算法对应的程序框图如图所示.【例3】 解:算法如下: S1 输入p ,q ;S2 若p ≠0,则x =-qp,并执行S3,否则,执行S4;S3 输出x ;S4 如果q ≠0,则输出“方程无实根”,否则,输出“方程的解为全体实数”. 程序框图如图所示.【例4】 C 正解:易知算法的功能是求分段函数:y =⎩⎪⎨⎪⎧x 2,x ≤2,2x -3,2<x ≤5,1x ,x >5的函数值.欲满足题意,则⎩⎪⎨⎪⎧ x ≤2,x 2=x ,或⎩⎪⎨⎪⎧2<x ≤5,2x -3=x ,或⎩⎪⎨⎪⎧x >5,1x=x .解得x =0或1或3,共3个值.故选C.随堂练习·巩固 1.A2.D 在题中所给的程序框图中,使用了变量的赋值,首先给x 赋初始值2,再把2x +1的结果赋给变量y ,又把3y -2的结果赋给变量b ,最后输出b 的值.所以最后结果为13.3.94.求a ,b 中的最大数并输出 5.解:算法如下:S1 输入x 1,y 1,x 2,y 2;S2 若x 1=x 2,输出“斜率不存在”;否则k =y 2-y 1x 2-x 1,输出k .程序框图如下图所示.。
1.1.2 程序框图1.1.3 算法的三种基本逻辑结构和框图表示自主整理1.程序框图通常用一些通用图形符号构成一张图来表示算法.这种图称做程序框图(简称框图).(1)起、止框:是任何流程都不可缺少的.(2)输入、输出框:表示数据的输入或结果的输出,它可用在算法中的任何需要输入、输出的位置.(3)处理框:它是用来赋值、执行计算语句、传送运算结果的图形符号.(4)判断框:根据给定条件判断的框.2.画程序框图的规则(1)使用标准的框图的符号.(2)框图一般按从上到下、从左到右的方向画.(3)除判断框外,其他框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.(4)判断框分两大类,一类判断框为“是”与“否”两分支的判断,而且有且仅有两个可能结果;另一类是多分支判断,可能有几种不同的结果.(5)在图形符号内描述的语言要非常简练清楚.3.算法的三种基本逻辑结构(1)顺序结构:是最简单的算法结构,语句与语句之间,框与框之间按从上到下的顺序进行.(2)条件分支结构:要对描述对象进行逻辑判断,并根据判断结果进行不同的处理的逻辑结构叫做条件分支结构.它是根据指定条件选择执行不同指令的控制结构.(3)循环结构:根据指定条件决定是否重复执行一条或多条指令的控制结构.高手笔记1.一个框图表达的就是一个算法.程序框图是表达算法的方法之一,其他表达算法的方法还有自然语言、数学语言等.用框图表达算法,直观,形象,容易理解.2.画流程线时不要忘记画上箭头.如果一个框图要分开来画,要在断开处画上连结点,并标出连结的号码.3.三种结构都只有一个入口和一个出口,一个判断框有两个出口,而一个条件分支结构只有一个出口,要区分开.4.循环结构中不能有死循环(即无终止的循环).在画循环结构的流程图之前,需要确定三件事:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环体的终止条件.5.循环结构必然包含条件分支结构.注释框不是框图的一部分,而是帮助我们理解框图的注释.在处理框中,x=1的含义是将数值1赋给x.名师解惑1.条件分支结构如何执行?剖析:先根据条件作出判断,再决定执行哪一种操作,如图1所示,执行过程如下:条件P 成立,则执行A框;不成立,则执行B框.注:无论P条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.图1 图22.怎样才能正确地认识循环结构呢?剖析:在循环结构中,结构内的每一部分都应该有机会被执行到,也就是说对循环结构每一个程序框来说都应当有一条从入口到出口的路径通过它.如图1中的执行体A,没有一条从入口到出口的路径通过它,在整个程序的运行中,它是始终不会被执行的,所以这是一个不符合要求的程序框图.同时,在循环结构中至少有一个判断框,作为程序的终止框,用来终止循环的运行.没有终止框的循环结构是死循环,即无终止的循环.如图2就是一个死循环,在程序框图中是绝不允许有死循环出现的.图1 图2用来终止循环的通常有一个起着循环计数作用的变量,这个变量一般都包含在循环体中,随着循环的次数增加而发生变化.在上面这个程序框图中,由于计数变量放置的位置不准确,放在了循环体外面,使得计数变量n值永远是2,没有起到计数的作用,所以这是一个无终止的循环,失去了循环的意义.由于计数变量的取值直接限制了程序运行的次数,所以计数变量的位置、运行方式和控制条件都直接影响到循环结构的准确性.下面的三个程序框图中由于改变了计数变量的运行方式和判断条件,所得出的结果完全不一样.图1 图2图3在图1中,计数变量n每进行一次循环计数变量加1,然后打印计数变量n的值,根据框图分析,打印的结果应该是:1 2 3 4 5 6 7 8 9 10;在图2中,循环体是计数变量n每进行一次循环计数变量加3,然后打印计数变量n的值,根据框图分析,打印的结果应该是:1 4 7 10;在图3中,循环体是计数变量n每进行一次循环计数变量加1,然后打印计数变量n的值,但终止条件由n≤10变为n<10,根据程序框图分析,打印的结果应该是:1 2 3 4 5 6 7 8 9.3.循环结构中如何记数?循环结构中如何完成数据的累加和累乘?剖析:(1)利用计数器:即计数变量,用来记录某个事件发生的次数,如i=i+1,每执行一次i就增加1,事件发生的次数就记录一次.在程序开始,一般要先赋初值,可根据实际问题合理选择初始值,一般情况下,计数器可设初值为0或1.(2)数据的累加利用累加器:即累加变量,用来计算数据之和,如sum=sum+i中sum就是累加变量,i是数据变量;数据的累乘利用累乘器:即累乘变量,用来计算数据之积,如n=2n 每执行一次n就变为原来的2倍.在程序开始,也要先赋初值,一般情况下,累加器初值为0,累乘器初值为1.讲练互动【例1】下面五个说法正确的是( )①任何一个算法都离不开顺序结构②算法程序框图中,根据条件是否成立有不同的流向③任何一个算法都必须同时含有三种基本逻辑结构④算法执行过程中,三种基本逻辑结构都只有一个入口,一个出口⑤循环结构中必须有条件分支结构,条件分支结构中也一定有循环结构解析:本例可从程序框图及三种基本逻辑结构的结构形式、特点着手,仔细分析每一句话,并注意概念叙述的异同点.对于③,一个算法要根据需要合理选择三种基本逻辑结构,并非必须全部包含;对于⑤,前半部分是正确的,后半部分条件分支结构中不一定必须有循环结构.答案:①②④黑色陷阱容易将判断框的出口和条件分支结构的出口混为一谈.要注意:一个判断框不止一个出口,而一个条件分支结构只有一个出口.变式训练1.任何一个算法都离不开的基本结构为( )A.逻辑结构B.条件分支结构C.循环结构D.顺序结构解析:任何一个算法都要由开始到结束,故应当都有顺序结构. 答案:D【例2】画出求a,b 中的较大数的程序框图.分析:给a,b 输入两个数,然后比较a,b 的大小,若a >b ,则a 为较大数,若a <b ,则b 为较大数.解:程序框图如图:绿色通道本题目是找出两个数中的较大数,只要找出来即可,而不用管最后两个变量的值到底是谁,因此亦可按如下图所示的设计.变式训练2.如图,该框图实现的是求方程ax+b=0(a 、b 为常数)的解.问:该框图正确吗?若不正确,请问它是哪一个问题的程序框图?应怎样修改?写出正确的算法及程序框图.分析:当a=0时,显然x=ab-无意义,故该框图无法实现所求方程的解.方程ax+b=0的解与a,b 的取值关系密切,当a≠0时,x=ab-;当a=0时,若b≠0,此时方程无解,若b=0,方程的解为全体实数.因此,要进行讨论,需不止一次应用判断框,引入条件分支结构. 解:不正确,该程序框图是求方程ax+b=0(a≠0)的解. 正确的算法: S1 输入a,b ; S2 若a≠0,则x=ab-,并输出x ,执行S4,否则,执行S3; S3 如果b≠0,则输出“方程无实数解”,否则,输出“方程的解是全体实数”; S4 结束.程序框图如图:【例3】 函数y=⎪⎩⎪⎨⎧<+=>+-,0,3,0,0,0,1x x x x x 写出求该函数值的算法及程序框图.分析:该函数是分段函数,当x 取不同范围内的值时,函数表达式不同,因此当给出一个自变量x 的值时,必须先判断x 的范围,然后确定利用哪一段的解析式求对应的函数值.因为解析式分了三段,所以判断框需要两个,即进行两次判断. 解:算法如下: S1 输入x ;S2 如果x >0,则使y=-x+1,并转到S4,否则执行S3; S3 如果x=0,则使y=0,否则y=x+3; S4 输出y.程序框图如图:绿色通道求分段函数的函数值的程序框图的画法:如果是分两段的函数,只需引入一个判断框,如果分三段,则引入两个判断框,以此类推.至于判断框内的内容是没有顺序的,但如果要改变,则相应的下一步操作内容也相应地进行变化,如图所示.变式训练 3.已知算法: S1 输入x ;S2 若x <0,执行S3,否则,执行S6; S3 y=x+1; S4 输出y ; S5 结束;S6 若x=0,执行S7,否则执行S10; S7 y=0; S8 输出y ; S9 结束; S10 y=x ; S11 输出y ; S12 结束.将该算法用程序框图来描述.分析:这是一个输入x 的值,求y 值的函数的算法.其中y=⎪⎩⎪⎨⎧>=<+.0,,0,0,0,1x x x x x解:其程序框图如右图:【例4】设计框图实现1+3+5+7+…+131的算法.分析:由于需加的数较多,所以要引入循环结构来实现累加.观察所加的数是一组有规律的数(每相邻两数相差2),那么可考虑在循环过程中,设一个变量i ,用i=i+2来实现这些有规律的数;设一个累加器sum ,用来实现数的累加.在执行时,每循环一次,就产生一个需加的数,然后加到累加器sum 中. 解:算法如下: S1 i=1,sum=0;S2 sum=sum+i ,i=i+2;S3 如果i≤131,则反复执行S2,否则执行S4; S4 输出sum ; S5 结束.程序框图如图所示:绿色通道该程序具有通用性、灵活性,把i≤131改为i≤1 001,可适用于1+3+5+7+…+1 001;把i=i+2改为i=i+1,可实现1+2+3+4+…+131;把sum=sum+i 改为sum=sum×i ,则可实现1×3×5×7×…×131.本例还可作其他的改动,而得到许多不同的结果. 变式训练 4.已知有一列数21,32,43,…,1+n n ,设计框图实现求该列数前20项的和. 分析:该列数中每一项的分母是分子数加1,单独观察分子,恰好是1,2,3,4,…,n ,因此可用循环结构实现,设计数器i ,用i=i+1实现分子;设累加器s ,用s=s+1+i i,可实现累加,注意i只能加到20.解:程序框图如图1或图2.图1 图2。