1.1.2程序框图与算法的基本逻辑结构第1课时程序框图、顺序结构1.掌握程序框图的概念.2.熟悉各种程序框及流程线的功能和作用.3.能用程序框图表示顺序结构的算法.1.程序框图(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.(2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(3)常见的程序框、流程线及各自表示的功能(4)算法的逻辑结构顺序结构、条件结构和循环结构是算法的基本逻辑结构,所有算法都是由这三种基本结构构成的.2.顺序结构(1)顺序结构的定义由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构.(2)结构形式判断正误.(正确的打“√”,错误的打“×”)(1)有的程序框可以不用流程线连接.()(2)程序框只有一个进入点和一个退出点.()(3)流程线是直线或折线,可以不带箭头.()[提示](1)×各程序框必须用流程线依次连接.(2)×判断框有一个进入点,两个退出点.(3)×流程线必须带箭头.题型一程序框图的认识和理解【典例1】下列关于程序框图中图形符号的理解正确的有()①任何一个流程图必须有起止框;②输入框只能放在开始框后,输出框只能放在结束框前;③判断框是唯一的具有超过一个退出点的图形符号;④对于一个程序框图来说,判断框内的条件是唯一的.A.1个B.2个C.3个D.4个[思路导引]根据程序框图的概念,逐一验证每个选项是否正确.[解析]①任何一个程序必须有开始和结束,从而流程图必须有起止框,正确.②输入、输出框可以用在算法中任何需要输入、输出的位置,错误.③正确.④判断框内的条件不是唯一的,错误.故选B.[★答案★] B(1)理解程序框图中各框图的功能是解此类题的关键,用程序框图表示算法更直观、清晰、易懂.(2)起止框用“”表示,是任何流程不可少的,表明程序的开始和结束.(3)输入、输出框用“”表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内.(4)处理框用“”表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内,另外,对变量进行赋值时,也用到处理框.(5)判断框用“”表示,是唯一具有超过一个退出点的图形符号.[针对训练1]下列说法正确的是()A.程序框图中的图形符号可以由个人来确定B.也可以用来执行计算语句C.程序框图中可以没有输出框,但必须要有输入框D.用程序框图表达算法,其优点是算法的基本逻辑结构展现得非常直接[解析]一个完整的程序框图至少要有起止框和输入、输出框,输入、输出框只能用来输入、输出信息,不能用来执行计算.[★答案★] D题型二利用顺序结构表示算法【典例2】已知P0(x0,y0)和直线l:Ax+By+C=0,写出求点P0到直线l的距离d 的算法,并用程序框图来描述.[思路导引]先用自然语言将算法步骤表示出来,然后将每个步骤包含的逻辑结构用程序框表示出来,最后将所有的程序框用流程线连接起来,并加上起止框.[解]第一步,输入x0,y0,A,B,C;第二步,计算m=Ax0+By0+C;第三步,计算n=A2+B2;;第四步,计算d=|m|n第五步,输出d.程序框图如图所示.应用顺序结构表示算法的步骤(1)仔细审题,理清题意,找到解决问题的方法.(2)梳理解题步骤.(3)用数学语言描述算法,明确输入量、计算过程、输出量.(4)用程序框图表示算法过程.[针对训练2]写出解不等式2x+1>0的一个算法,并画出程序框图.[解]第一步,将1移到不等式的右边;;第二步,不等式的两端同乘12第三步,得到x>-1并输出.2程序框图如图所示:题型三程序框图的应用【典例3】如图所示是解决某个问题而绘制的程序框图,仔细分析各框图内的内容及框图之间的关系,回答下面的问题:(1)该框图解决的是怎样的一个问题?(2)若最终输出的结果y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?(3)在(2)的前提下,输入的x值越大,输出的ax+b是不是越大?为什么?(4)在(2)的前提下,当输入的x值为多大时,输出结果ax+b等于0?[思路导引]只需弄清各种程序框、流程线的功能,再依次执行一下程序,不难读懂该图所要表达的算法.[解](1)该框图解决的是求函数f(x)=ax+b的函数值的问题.其中输入的是自变量x 的值,输出的是x对应的函数值.(2)y1=3,即2a+b=3.①y2=-2,即-3a+b=-2.②由①②得a=1,b=1.∴f(x)=x+1.∴当x取5时,5a+b=f(5)=5+1=6.(3)输入的x值越大,输出的函数值ax+b越大,因为f(x)=x+1是R上的增函数.(4)令f(x)=x+1=0,得x=-1,因此当输入的x值为-1时,输出的函数值为0.根据算法功能求输出结果或根据输出结果求框图中某一步骤,应注意以下几点:(1)要明确各框图符号的含义及作用;(2)要明确框图的方向流程;(3)要正确认图,即根据框图说明该算法所要解决的问题.其中明确算法功能是解决此类问题的关键.[针对训练3]写出下列算法的功能:(1)图①中算法的功能是(a>0,b>0)_________________.(2)图②中算法的功能是__________________________.[★答案★](1)求以a,b为直角边的直角三角形斜边c的长(2)求两个实数a,b的和课堂归纳小结1.在设计计算机程序时要画出程序运行的程序框图,有了这个程序框图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基础和开端.2.规范程序框图的表示:(1)使用标准的框图符号;(2)框图一般按从上到下、从左到右的方向画,流程线要规范;(3)除判断框外,其他框图符号只有一个进入点和一个退出点;(4)在图形符号内描述的语言要非常简练、清楚.1.任何一种算法都离不开的基本结构为()A.逻辑结构B.条件结构C.循环结构D.顺序结构[★答案★] D2.下列图形符号属于判断框的是()[解析]判断框用菱形表示.[★答案★] C3.程序框图符号“”可用于()A.输出a=10 B.赋值a=10C.判断a=10 D.输入a=1[解析]图形符号“”是处理框,它的功能是赋值、计算,不是输入、输出和判断,故选B.[★答案★] B4.关于终端框的说法正确的是()A.表示一个算法的起始和结束,图形符号是B.表示一个算法输入和输出的信息,图形符号是C.表示一个算法的起始和结束,图形符号是D.表示一个算法输入和输出的信息,图形符号是[解析]终端框表示一个算法的起始和结束,图形符号是.[★答案★] C5.下列算法中,只用顺序结构画不出程序框图的是()A.求两个数的积B.求点到直线的距离C.解一元二次方程D.已知梯形两底和高求面积[解析]解一元二次方程需要对判别式作出判断,故不能用顺序结构画出,故选C.[★答案★] C课后作业(二)(时间45分钟)学业水平合格练(时间25分钟)1.在程序框图中,一个算法步骤到另一个算法步骤的连接用()A.连接点B.判断框C.流程线D.处理框[解析]流程线的意义是流程进行的方向,一个算法步骤到另一个算法步骤表示的是流程进行的方向,而连接点是当一个框图需要分开来画时,在断开处画上连接点.判断框是根据给定条件进行判断,处理框是赋值、计算、数据处理、结果传送,所以A,B,D都不对.故选C.[★答案★] C2.a表示“处理框”,b表示“输入、输出框”,c表示“起止框”,d表示“判断框”,以下四个图形依次为()A.abcd B.dcab C.bacd D.cbad[★答案★] D3.如果输入n =2,那么执行如下算法的结果是( ) 第一步,输入n . 第二步,n =n +1. 第三步,n =n +2. 第四步,输出n . A .输出3 B .输出4 C .输出5 D .程序出错[★答案★] C4.如图所示的程序框图表示的算法意义是( ) A .边长为3,4,5的直角三角形的面积 B .边长为3,4,5的直角三角形内切圆的面积 C .边长为3,4,5的直角三角形外接圆的面积 D .以3,4,5为弦的圆的面积[解析] 由直角三角形内切圆半径r =a +b -c2,知选B.[★答案★] B5.给出如图所示的程序框图:若输出的结果为2,则①处的执行框内应填的是( )A.x=2 B.b=2C.x=1 D.a=5[解析]∵b=2,∴2=a-3,即a=5.∴2x+3=5时,得x=1.[★答案★] C6.根据下边的程序框图所表示的算法,输出的结果是________.[解析]该算法的第1步分别将X,Y,Z赋于1,2,3三个数,第2步使X取Y的值,即X取值变成2,第3步使Y取X的值,即Y的值也是2,第4步让Z取Y的值,即Z取值也是2,从而第5步输出时,Z的值是2.[★答案★] 27.写出如图所示程序框图的运行结果是________.[解析]S=log24+42=18.[★答案★]188.如图,输出的结果是____________.[解析]在第一个处理框中得到的是m=2,在第二个处理框中计算p=m+5,即p=2+5=7,在第三个处理框中计算m=p+5,即m=7+5=12,故输出m的值为12.[★答案★]129.已知一个直角三角形的两条直角边长分别为a,b,设计一个算法,求该三角形的面积,并画出相应的程序框图.[解]算法如下:第一步,输入两直角边的长a,b.第二步,计算S=12ab.第三步,输出S.程序框图如图.10.已知x =10,y =2,画出计算w =5x +8y 的值的程序框图.[解] 算法如下:第一步,令x =10,y =2.第二步,计算w =5x +8y .第三步,输出w 的值.其程序框图如图所示.应试能力等级练(时间20分钟)11.如图是一个算法的程序框图,已知a 1=3,输出的b =7,则a 2等于( )A .9B .10C .11D .12[解析] 由题意知该算法是计算a 1+a 22的值. ∴3+a 22=7,得a 2=11,故选C. [★答案★] C12.阅读如图所示的程序框图,若输出的结果为6,则①处执行框应填的是() A.x=1 B.x=2C.b=1 D.b=2[解析]若b=6,则a=7,∴x3-1=7,∴x=2.[★答案★] B13.程序框图如图所示.则该程序框图的功能是_____________.[解析] 输入x 与y 的值,把x 的值赋于m ,则m 为x 的取值;把y 的值赋于x ,则x 为y 的取值;再把m 的值赋于y ,则完成x 与y 取值的交换.[★答案★] 交换两个变量x ,y 的值14.如图所示,图①是计算图②中空白部分面积的一个框图,则“?”处应填________.① ②[解析] 由题图②知S 阴影=2⎣⎡⎦⎤a 2-π×⎝⎛⎭⎫a 22=2a 2-πa 22,所以S 空白=a 2-S 阴影=a 2-2a 2+πa 22=π2a 2-a 2.故“?”处应填S =π2a 2-a 2. [★答案★] S =π2a 2-a 2 15.如图所示的程序框图,根据该图和下列各小题的条件回答下面问题.(1)该程序框图解决的是一个什么问题?(2)当输入的x的值为0和4时,输出的值相等,问当输入的x的值为3时,输出的值为多大?(3)在(2)的条件下要想使输出的值最大,输入的x的值应为多大?[解](1)该程序框图解决的是求二次函数f(x)=-x2+mx的函数值的问题.(2)当输入的x的值为0和4时,输出的值相等,即f(0)=f(4).因为f(0)=0,f(4)=-16+4m,所以-16+4m=0,所以m=4,所以f(x)=-x2+4x.则f(3)=-32+4×3=3,所以当输入的x的值为3时,输出的f(x)值为3.(3)因为f(x)=-x2+4x=-(x-2)2+4,当x=2时,f(x)最大值=4,所以要想使输出的值最大,输入的x的值应为2.。