1、11.2程序框图与算法的基本逻辑结构第1课时顺序结构、条件结构1问题导航(1)什么是程序框图?(2)算法包含几种基本逻辑结构?(3)什么是顺序结构?(4)什么是条件结构?2例题导读通过对例3的学习,学会顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构;通过对例4的学习,学会在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构;通过对例5的学习,学会设计求解一元二次方程的算法及画程序框图1程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将
2、程序框连接起来,表示算法步骤的执行顺序2常见的程序框、流程线及各自表示的功能图形符号名称功能终端框(起止框)表示一个算法的起始和结束=输入、输出框表示一个算法输入和输出的信息处理框(执行框)赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”流程线连接程序框连接点连接程序框图的两部分3.一般算法是由三种基本逻辑结构组成的,它们是顺序结构、条件结构、循环结构4.顺序结构是任何一个算法都离不开的基本结构,它是由若干个依次执行的步骤组成的5.条件结构是指在一个算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构1判断下列各题(对的打“”,错的
3、打“”)(1)在程序框图中,一个判断框最多只能有一个退出点;()(2)一个算法最多可以包含两种基本结构;()(3)条件结构的程序框图中有两个入口和一个出口;()(4)无论条件结构中的条件是否满足,都只能执行两条路径之一()解析:(1)一个判断框可以有多个退出点(2)一个算法一定含有顺序结构,即一个算法可以只含有顺序结构或三种结构都有(3)条件结构只有一个入口答案:(1)(2)(3)(4)2具有判断条件是否成立功能的程序框是()解析:选C.只有判断框具有判断条件是否成立的功能,故选C.3如图所示,若输入m3,则输出的结果是_解析:由题图可知,pm5,np5,n35513.答案:134画程序框图需
4、要注意哪些问题?解:使用标准的框图符号;框图一般按从上到下、从左到右的方向画;除判断框外,大多数流程图符号只有一个进入点和一个退出点;终端框是任何算法框图中必不可少的,表示算法的起始和结束;在图形符号内描述的语言要非常简短清楚条件结构嵌套与条件结构叠加的区别(1)条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”都进行判断,只有遇到能满足的条件才执行该条件对应的操作(2)条件结构的嵌套中,“条件2”是“条件1”的一个分支,“条件3”是“条件2”的一个分支以此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行(3)条件结构嵌套所涉及的“条件2”“条件3”是在前面的
5、所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的操作,是多个条件同时成立的复合顺序结构程序框图的设计及应用已知点P0(x0,y0)和直线l:AxByC0,写出求点P0到直线l的距离d的算法,并画出程序框图(链接教材P9例3)解用数学语言描述算法:第一步,输入点P0的横、纵坐标x0、y0,输入直线方程的系数,即常数A、B、C.第二步,计算z1Ax0By0C.第三步,计算z2A2B2.第四步,计算d .第五步,输出d.程序框图:互动探究把本例中的直线l改为圆C:(xa)2(yb)2r2,写出求点P0到圆上的点的距离最大值的算法,并画出程序框图解:算法如下:第一步,输入点P0的横、纵坐标
6、x0、y0,输入圆心的横、纵坐标a、b,圆的半径r;第二步,计算z1;第三步,计算dz1r;第四步,输出d.程序框图:方法归纳利用公式求解问题,先写出公式,看公式中的条件是否满足,若不满足,先求出需要的量,看要求的量需根据哪些条件求解,需要的条件必须先输入或将已知条件全部输入,求出未知的量,然后将公式中涉及的量全部代入求值即可扫一扫进入91导学网()顺序结构1(1)写出解不等式2x10的一个算法,并画出程序框图解:第一步,将1移到不等式的右边;第二步,不等式的两端同乘;第三步,得到x.程序框图如图所示:(2)如图所示的程序框图,当输入的x的值为0和4时,输出的值相等,根据该图和下列各小题的条件
7、回答下面几个问题该程序框图解决的是一个什么问题?当输入的x的值为3时,输出的f(x)的值为多大?要想使输出的值最大,输入的x的值应为多大?按照这个程序框图输出的f(x)值,当x的值大于2时,x值大的输出的f(x)值反而小,为什么?要想使输出的值等于3,输入的x的值应为多大?要想使输入的值与输出的值相等,输入的x的值应为多大?解:该程序框图解决的是求二次函数f(x)x2mx的函数值的问题当输入的x的值为0和4时,输出的值相等,即f(0)f(4)因为f(0)0,f(4)164m,所以164m0,所以m4.所以f(x)x24x.因为f(3)32433,所以当输入的x的值为3时,输出的f(x)的值为3
8、.因为f(x)x24x(x2)24,当x2时,f(x)max4,所以要想使输出的值最大,输入的x的值应为2.因为f(x)(x2)24,所以函数f(x)在2,)上是减函数所以当输入的x的值大于2时,x值大的输出的f(x)值反而小令f(x)x24x3,解得x1或x3,所以要想使输出的值等于3,输入的x的值应为1或3.由f(x)x,即x24xx,得x0或x3,所以要想使输入的值和输出的值相等,输入的x的值应为0或3.简单的条件结构程序框图的设计及应用给定一个正整数n,若n为奇数,则把n乘3加1;若n为偶数,则把n除以2.写出算法,并画出程序框图解算法如下:第一步,输入n的值第二步,若n为奇数,则输出
9、3n1的值;若n为偶数,则输出的值程序框图如图所示方法归纳(1)设计程序框图时,首先设计算法步骤(自然语言),再将算法步骤转化为程序框图(图形语言)对于算法中含有分类讨论的步骤,在设计程序框图时,通常用条件结构来解决(2)本例中n是奇数和n是偶数时的计算方式不同,所以需对n的奇偶性加以判断,然后计算结果(3)注意该题判断框内的内容为“n为奇数”,所以当n为奇数时,则按“是”分支执行;否则,按“否”分支执行2(1)程序框图如图所示,它是算法中的()A条件结构 B顺序结构 C递归结构 D循环结构解析:选A.此题中的程序框图中有判断框,根据给定条件判断并根据判断结果进行不同处理的是条件结构(2)写出
10、求分段函数y的函数值的算法,并画出程序框图解:算法如下:第一步:输入x的值第二步:判断x的大小,若x0,则y2x1;若x0是否成立,若成立,计算y1x,否则,执行下一步第三步,判断x0是否成立,若成立,令y0,否则,计算yx3.第四步,输出y.程序框图如图所示:方法归纳(1)条件结构的嵌套是指在一个条件结构的分支内的步骤中又用到条件结构,就像一个条件结构镶嵌在另一个条件结构中一样(2)条件结构的并列是指一个条件结构执行完毕后,又执行下一个条件结构,它们之间无包含关系,是按顺序执行的扫一扫进入91导学网()条件结构3(1)画出求函数y的函数值的程序框图解:程序框图如图所示(2)给出程序框图如图回
11、答问题:若输入四个数5,3,7,2,则最终输出的结果是什么?你能说出该框图实现了一个什么样的算法吗?解:第一个判断框中ab,ac,ad如果同时成立,那么a为四个数中的最小数,否则a不是最小的,那么最小数在b,c,d中,第二个判断框中bc,bd如果同时成立,则b为最小数,以此类推,所以本题实质是求a,b,c,d中的最小值所以,最终输出结果是2.实现的算法是:求a,b,c,d四个数中的最小值规范解答解含参数的一元一次方程的算法与程序框图(本题满分12分)用程序框图表示解方程axb0(a,b为常数)的算法解算法步骤如下:第一步,输入a,b的值.2分第二步,判断a0 是否成立,若成立,则执行第三步;若
12、不成立,则令x,输出x,结束算法.4分第三步,判断b0 是否成立,若成立,则输出“方程的解集为R”,结束算法;若不成立,则输出“无解”,结束算法.6分程序框图为:规范与警示在解题过程中,若在第二步漏掉此处是否a0时的讨论而直接得出x,虽然答案中也有这种可能,但结果就错了,在实际考试中最多得2分处对b0的讨论也是如此通过本题,我们应该注意:(1)在解题过程中一定要准确应用等式(或不等式)的运算性质,必要时一定要分类讨论(2)思维一定要严谨,避免想当然的错误1一个完整的程序框图中,输入、输出框的最少个数是()A0 B1C2 D3解析:选B.输入、输出框的最少个数是1.2下列关于程序框的功能描述正确
13、的是()A(1)是处理框;(2)是判断框;(3)是终端框;(4)是输入、输出框B(1)是终端框;(2)是输入、输出框;(3)是处理框;(4)是判断框C(1)和(3)都是处理框;(2)是判断框;(4)是输入、输出框D(1)和(3)的功能相同;(2)和(4)的功能相同解析:选B.根据程序框图的规定,(1)是终端框,(2)是输入、输出框,(3)是处理框,(4)是判断框3下图为计算函数y|x|函数值的程序框图,则此程序框图中的判断框内应填_解析:显然当x0或x0时,yx,故判断框内应填x0?(或x0?)答案:x0?(或x0?)4若a0,b0,则如图所示的程序框图表示的算法的功能是_(尽量具有实际意义)
14、解析:本题为顺序结构的算法框图,注意各个程序框的先后顺序,依据各个字母之间的关系赋予各字母以实际意义,答案不唯一答案:求以a,b为直角边长的直角三角形的斜边的长度c(或求第一象限内的点P(a,b)到原点(0,0)的距离)A.基础达标1下列图形符号属于处理框(执行框)的是()解析:选D.处理框用矩形表示2下列关于程序框图的说法正确的有()用程序框图表示算法直观、形象,容易理解;程序框图能清楚地展现算法的逻辑结构,也就是通常所说的一图胜万言;在程序框图中,起止框是任何流程图不可少的;输入和输出框可用在算法中任何需要输入、输出的位置A1个B2个C3个 D4个解析:选D.由程序框图可知:都正确3(20
15、15东营高一检测)给出下面的程序框图:若输出的结果为2,则处的执行框内应填的是()Ax2 Bb2Cx1 Da5解析:选C.b2,2a3,即a5.2x35时,得x1.4(2015广州高一检测)如图是一个算法的程序框图,已知a13,输出的b7,则a2等于()A9 B10C11 D12解析:选C.由题意知该算法是计算的值7,得a211,故选C.5.如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的()Acx? Bxc?Ccb? Dbc?解析:选A.变量x的作用是保留3个数中的最大值,所以第二个判断框内语句为“cx?”,满足“是”
16、则交换两个变量的数值,输出x的值后结束程序,满足“否”直接输出x的值后结束程序,故选A.6如图所示程序框图表示的算法的运行结果是_解析:由题意P9,S6.答案:67写出如图所示程序框图的运行结果:S_解析:S2.5.答案:2.58(2015海口高一检测)如图所示的程序框图,若a5,则输出b_解析:根据题意a5,所以执行判断框后的“否”步骤,即ba21,所以输出26.答案:269已知函数f(x)请设计程序框图,要求输入自变量,输出函数值解:程序框图如图所示:10尺规作图,确定线段AB的一个5等分点,请你设计一个算法,并画出程序框图解:算法如下:第一步,如图,从已知线段的左端点A出发,作一条射线A
17、P;第二步,在射线上任取一点C,得线段AC;第三步,在射线上作线段CEAC;第四步,在射线上作线段EFAC;第五步,在射线上作线段FGAC;第六步,在射线上作线段GDAC,那么线段AD5AC;第七步,连接DB;第八步,过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点程序框图如图:B.能力提升1广东中山市的士收费办法如下:不超过2公里收7元(即起步价7元),超过2公里的里程每公里收2.6元,另每车次超过2公里收燃油附加费1元(不考虑其他因素)相应收费系统的程序框图如图所示,则处应填()Ay72.6x By82.6xCy72.6(x2) Dy82.6(x2)解析:选D.当x2
18、时,y72.6(x2)182.6(x2),所以处应填y82.6(x2)2若f(x)x2,g(x)log2x,则如图所示的程序框图中,输入x0.25,输出h(x)()A0.25 B2C2 D0.25解析:选C.h(x)取f(x)和g(x)中的较小者g(0.25)log20.252,f(0.25)0.252.3某算法的程序框图如图所示,则输出量y与输入量x满足的关系式为_解析:当x1时,有yx2,当x1时,则有y2x,所以有分段函数y.答案:y4定义运算ab,运算原理如图所示,则式子4125的值等于_解析:ab则41254(11)2(51)16.答案:165在新华书店里,某教辅材料每本售价14.8
19、0元,书店为促销,规定:如果顾客购买5本或5本以上,10本以下则按九折(即13.32元)出售;如果顾客购买10本或10本以上,则按八折(即11.84元)出售请设计一个完成计费工作的程序框图解:程序框图:6(选做题)通常说一年有365天,它表示地球围绕太阳转一周所需要的时间,但事实并不是这样简单根据天文资料,地球围绕太阳转一周所需要的精确时间是365.242 2天,称之为天文年这个误差看似不大,却引起季节和日历之间难以预料的大变动在历法上规定四年一闰,百年少一闰,每四百年又加一闰如何判断某一年是不是闰年呢?请设计一个算法,解决这个问题,并用框图描述这个算法解:算法步骤如下:第一步:输入年份y.第二步:若y能被4整除,则执行第三步,否则执行第六步第三步:若y能被100整除,则执行第四步,否则执行第五步第四步:若y能被400整除,则执行第五步,否则执行第六步第五步:输出“y是闰年”第六步:输出“y不是闰年”这个算法的框图为