1、12.3 算法与程序框图 最新考纲 1.了解算法的含义,了解算法的思想;2.理解程序框图的三种基本逻辑结构:顺序、条件、循环;3.了解程序框图,了解工序流程图(即统筹图);4.能绘制简单实际问题的流程图,了解流程图在解决实际问题中的作用;5.了解结构图,会运用结构图梳理已学过的知识,整理收集到的资料信息 1算法与程序框图(1)算法 算法通常是指按照解决某一类问题的_和的步骤 应用:算法通常可以编成计算机,让计算机执行并解决问题(2)程序框图 定义:程序框图又称流程图,是一种用、流程线及来表示算法的图形一定规则明确有限程序程序框文字说明2三种基本逻辑结构 3.算法语句(1)输入语句、输出语句、赋
2、值语句的格式与功能 语句 一般格式 功能 输入语句 _ _ 输出语句 _ _ 赋值语句 _ _ INPUT“提示内容”;变量 输入信息 PRINT“提示内容”;表达式 输出常量、变量的值和系统信息 变量表达式将表达式所代表的值赋给变量(2)条件语句程序框图中的与条件语句相对应条件语句的格式aIFTHEN 格式IF 条件 THEN 语句体END IF条件结构bIFTHENELSE 格式IF 条件 THEN 语句体1ELSE 语句体2END IF(3)循环语句程序框图中的与循环语句相对应循环语句的格式aUNTIL 语句 bWHILE 语句DO循环体LOOP UNTIL条件 WHILE条件循环体WE
3、ND循环结构【思考辨析】判 断 下 面 结 论 是 否 正 确(请 在 括 号 中 打“”或“”)(1)算法只能解决一个问题,不能重复使用()(2)程序框图中的图形符号可以由个人来确定()(3)输入框只能紧接开始框,输出框只能紧接结束框()(4)条件结构的出口有两个,但在执行时,只有一个出口是有效的()(5)5x是赋值语句()(6)输入语句可以同时给多个变量赋值()【答案】(1)(2)(3)(4)(5)(6)1已知一个算法:(1)ma.(2)如果bm,则mb,输出m;否则执行第(3)步(3)如果c3,阅读程序框图,得到 S 的值 第一次循环:S 113,i2;第二次循环:S 113 135,i
4、3;【答案】B 第三次循环:S 113 135 157,i4,满足循环条件,结束循环故输出 S 113 135 157 1211313151517 37,故选 B.题型一 算法的顺序结构【例1】f(x)x22x3.求f(3)、f(5)、f(5),并计算f(3)f(5)f(5)的值设计出解决该问题的一个算法,并画出程序框图【解析】算法如下:第一步,令x3.第二步,把x3代入y1x22x3.第三步,令x5.第四步:把x5代入y2x22x3.第五步,令x5.第六步,把x5代入y3x22x3.第七步,把y1,y2,y3的值代入yy1y2y3.第八步,输出y1,y2,y3,y的值 该算法对应的程序框图如
5、图所示:【思维升华】(1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的(2)解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可 跟踪训练1 如图所示的程序框图,根据该图和下列各小题的条件回答下面的几个小题(1)该程序框图解决的是一个什么问题?(2)当输入的x的值为0和4时,输出的值相等,问当输入的x的值为3时,输出的值为多大?(3)在(2)的条件下要想使输出的值最大,输入的x的值应为多大?【解析】(1)该程序框图解决的是求二次函数f(x)x2mx的函数值的问题;(2)当输入的x的值为0和4时,输出的值相等,即f(0)f(4)因为f(0)0,f(4)
6、164m,所以164m0,所以m4,f(x)x24x.则f(3)32433,所以当输入的x的值为3时,输出的f(x)的值为3;(3)因为f(x)x24x(x2)24,当x2时,f(x)最大值4,所以要想使输出的值最大,输入的x的值应为2.题型二 算法的条件结构【例2】如图中x1,x2,x3为某次考试三个评阅人对同一道题的独立评分,p为该题的最终得分当x16,x29,p8.5时,x3等于()A11 B10 C8D7【思维点拨】依据第二个判断框的条件关系,判断是利用“x2x3”,还是利用“x1x3”,从而验证p是否为8.5.【解析】x16,x29,|x1x2|32不成立,即为“否”,所以再输入x3
7、;由绝对值的意义(一个点到另一个点的距离)和不等式|x3x1|x3x2|知,点x3到点x1的距离小于点x3到点x2的距离,所以当x37.5时,|x3x1|7.5,不合题意;当 x37.5 时,|x3x1|7.5,符合题意,故选 C.【思维升华】(1)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断;(2)对条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支 跟踪训练2(2014四川)执行如图所示的程序框图,如果输入的x,yR,那么输出的S的最大值为()A0B1 C2D3【解析】当条件x0,y0,xy1不成立时输出S的值为1
8、;当条件x0,y0,xy1成立时S2xy,下面用线性规划的方法求此时S的最大值【答案】C 作出不等式组x0,y0,xy1表示的平面区域如图中阴影部分,由图可知当直线 S2xy 经过点 M(1,0)时 S 最大,其最大值为 2102,故输出 S 的最大值为 2.题型三 算法的循环结构【例3】(2015天津)阅读下边的程序框图,运行相应的程序,则输出S的值为()A10B6 C14D18【思维点拨】先识别程序框图的功能,再结合循环结构与条件结构求解【解析】S20,i1,i2i2,SSi20218,不满足i5;i2i4,SSi18414,不满足i5;i2i8,SSi1486,满足i5,故输出S6.【答
9、案】B【思维升华】利用循环结构表示算法,第一要确定是利用当型还是直到型循环结构;第二准确表示累计变量;第三要注意从哪一步开始循环弄清进入或终止的循环条件、循环次数是做题的关键 跟踪训练3(2014北京)当m7,n3时,执行如图所示的程序框图,输出的S值为()A7B42 C210D840【解析】程序框图的执行过程如下:m7,n3时,mn15,km7,S1,S177;kk165,S6742;kk155,S542210;kk145,输出S210.故选C.【答案】C 题型四 基本算法语句【例 4】阅读下面两个算法语句:i1WHILE i*(i1)20 ii1WENDPRINT“i”;iEND图 1i1
10、DO ii1LOOP UNTIL i*(i1)20PRINT“i”;iEND图 2执行图 1 中语句的结果是输出_;执行图 2 中语句的结果是输出_【思维点拨】理解算法语句中两种循环语句的结构和作用是解题的关键【解析】执行语句1,得到(i,i(i1)结果依次为(1,2),(2,6),(3,12),(4,20),故输出i4.执行语句2的情况如下:i1,ii12,i(i1)620(是),结束循环,输出i2.【答案】i4 i2【思维升华】解决算法语句有三个步骤:首先通读全部语句,把它翻译成数学问题;其次领悟该语句的功能;最后根据语句的功能运行程序,解决问题 跟踪训练 4 设计一个计算 1357911
11、13 的算法图中给出了程序的一部分,则在横线上不能填入的数是()S1i3WHILE i SSi ii2WENDPRINT SENDA13B13.5 C14D14.5【解析】当填i13时,i值顺次执行的结果是5,7,9,11,当执行到i11时,下次就是i13,这时要结束循环,因此计算的结果是1357911,故不能填13,但填的数字只要超过13且不超过15均可保证最后一次循环时,得到的计算结果是135791113.【答案】A 易错警示系列15 变量的含义理解不准致误【典例】执行如图所示的程序框图,输出的S值为()A2B4 C8D16【易错分析】(1)读不懂程序框图把执行循环体的次数n误认为是变量k
12、的值,没有注意到k的初始值为0.(2)对循环结构:判断条件把握不准;循环次数搞不清楚;初始条件容易代错【解析】当k0时,满足k3,因此S1201;当k1时,满足k3,则S1212;当k2时,满足k3,则S2228;当k3时,不满足k3,输出S8.【答案】C【温馨提醒】(1)要分清是当型循环结构还是直到型循环结构;要理解循环结构中各变量的具体含义以及变化规律;(2)在处理含有循环结构的算法问题时,关键是确定循环的次数,循环中有哪些变量,且每一次循环之后的变量S、k值都要被新的S、k值所替换 方法与技巧 1在设计一个算法的过程中要牢记它的五个特征:概括性、逻辑性、有穷性、不唯一性、普遍性 2在画算
13、法框图时首先要进行结构的选择若所要解决的问题不需要分情况讨论,只用顺序结构就能解决;若所要解决的问题要分若干种情况讨论时,就必须引入选择结构;若所要解决的问题要进行许多重复的步骤,且这些步骤之间又有相同的规律时,就必须引入变量,应用循环结构 失误与防范 1注意起止框与处理框、判断框与循环框的不同 2注意条件结构与循环结构的联系:对于循环结构有重复性,条件结构具有选择性没有重复性,并且循环结构中必定包含一个条件结构,用于确定何时终止循环体 3循环语句有“直到型”与“当型”两种,要区别两者的异同,主要解决需要反复执行的任务,用循环语句来编写程序 4关于赋值语句,有以下几点需要注意:(1)赋值号左边只能是变量名字,而不是表达式,例如3m是错误的(2)赋值号左右不能对换,赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量,例如Yx,表示用x的值替代变量Y的原先的取值,不能改写为xY.因为后者表示用Y的值替代变量x的值(3)在一个赋值语句中只能给一个变量赋值,不能出现多个“”