1、 第十二章 算法初步与框图、推理与证明 考纲链接 1.算法的含义、程序框图 (1)了解算法的含义,了解算法的思想. (2)理解程序框图的三种基本逻辑结构:顺序、条件分支、循环. 2.基本算法语句 了解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义. 3.框图 (1)通过具体实例进一步认识程序框图. (2)通过实例了解工序的流程图. (3)能绘制简单实际问题的流程图,体会流程图在解决实际问题中的作用. (4)通过实例了解结构图. (5)会运用结构图梳理已学过的知识结构、整理收集到的信息资料. 4.了解合情推理的含义,能进行简单的归纳推理和类比推理,体
2、会合情推理在数学发现中的作用. 5.了解演绎推理的含义,了解合情推理和演绎推理的联系和差异;掌握演绎推理的“三段论”,能运用“三段论”进行一些简单的演绎推理. 6.了解直接证明的两种基本方法:综合法和分析法;了解综合法和分析法的思考过程和特点. 7.了解反证法的思考过程和特点. §12.1 算法、程序框图、结构图 1.算法的概念及特点 (1)算法的概念 在数学中,算法通常是指按照一定______解决某一类问题的________和________的步骤. (2)算法的特点之一是具有______性,即算法中的每一步都应该是确定的,并能有效地执行,且得到确定的结果,而不应是模棱两可的;其二是具有_
3、性,即算法步骤明确,前一步是后一步的前提,只有执行完前一步才能进行后一步,并且每一步都准确无误才能解决问题;其三是具有______性,即一个算法应该在有限步操作后停止,而不能是无限的;另外,算法还具有不唯一性和普遍性,即对某一个问题的解决不一定是唯一的,可以有不同的解法,一个好的算法应解决的是一类问题而不是一两个问题. 2.程序框图 (1)程序框图的概念 程序框图又称流程图,是一种用________、________及________来表示算法的图形. (2)构成程序框图的图形符号、名称及其功能 图形符号 名称 功 能 ① 表示一个算法的起始和结束 ② 表示一个
4、算法输入和输出的信息 ③ 赋值、计算 ④ 判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N” ⑤ 连接程序框 ○ ⑥ 连接程序框图的两部分 3.结构图 结构图一般由构成系统的若干要素和表达各要素之间关系的连线(或方向箭头)构成. 4.算法的基本逻辑结构 (1)顺序结构 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按__________的顺序进行的.它是由若干个__________的步骤组成的,它是任何一个算法都离不开的基本结构.顺序结构可用程序框图表示为如图所示的形式. (2)条件结构 在一个算法中,经常会遇
5、到一些条件的判断,算法的流程根据条件是否成立有不同的流向.常见的条件结构可以用程序框图表示为如图所示的两种形式. (3)循环结构 在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是________.反复执行的步骤称为________. 循环结构有如下两种形式: ①如图1,这个循环结构有如下特征:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.因此,这种循环结构称为____________. ②如图2表示的也是常见的循环结构,它有如下特征:在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环.因此
6、这种循环结构称为____________. 自查自纠: 1.(1)规则 明确 有限 (2)确定 有序 有穷 2.(1)程序框 流程线 文字说明 (2)①终端框(起止框) ②输入、输出框 ③处理框(执行框) ④判断框 ⑤流程线 ⑥连接点 4.(1)从上到下 依次执行 (3)循环结构 循环体 ①直到型循环结构 ②当型循环结构 下列各式中的S值不可以用算法求解的是( ) A.S=1+2+3+4 B.S=12+22+32+…+1002 C.S=1+12+13+…+110000 D.S=1+2+3+4+… 解:由算法的有限性知,D不正确,而A,B,C都可以通过有限步骤操作,输出确定结果,故
7、选D. 给出下列算法: 第一步,输入正整数n(n>1). 第二步,判断n是否等于2,若n=2,则输出n;若n>2,则执行第三步. 第三步,依次从2到n-1检验能不能整除n,若不能整除n,则执行第四步;若能整除n,则执行第一步. 第四步,输出n. 则输出的n的值是( ) A.奇数 B.偶数 C.质数 D.合数 解:根据算法可知n=2时,输出n的值为2;若n=3,输出n的值为3;若n=4,2能整除4,则重新输入n的值,…,故输出的n的值为质数.故选C. (2014•北京)执行如图所示的程序框图,输出的S值为( ) A.1 B.3 C.7 D.15 解:由程序框图知:S=1+21+22=7.故选
8、C. (2014•辽宁)执行下面的程序框图,若输入x=9,则输出y=____________. 解:输入x=9,则y=5,|y-x|=4>1,不满足条件;x=5,y=113,|y-x|=43>1,不满足条件;x=113,y=299,|y-x|=49<1,满足条件,输出y=299.故填299. 如图所示,程序框图(算法流程图)的输出结果是__________. 解:初始值s=0,n=2.第一次循环得s=12,n=4;第二次循环得s=12+14,n=6;第三次循环得s=12+14+16=1112,n=8,此时退出循环,输出的s=1112.故填1112. 类型一 算法的概念 下列语句是算法的个数
9、为( ) ①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎; ②统筹法中“烧水泡茶”的故事; ③测量某棵树的高度,判断其是否为大树; ④已知三角形的两边及夹角,利用三角形的面积公式求出该三角形的面积. A.1 B.2 C.3 D.4 解:①中勾画了从济南到巴黎的行程安排,完成了任务;②中节约时间,烧水泡茶完成了任务;③中对“树的大小”没有明确的标准,无法完成任务,不是有效的算法构造;④是纯数学问题,利用三角形的面积公式求出三角形的面积.故选C. 点拨: 算法过程要做到一步一步地执行,每一步执行的操作必须确切,不能含糊不清,且在有限步后必须得到问题的结果. 下列叙述
10、能称为算法的个数为( ) ①植树需要运苗、挖坑、栽苗、浇水这些步骤; ②顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100; ③从宜昌乘火车到武汉,从武汉乘飞机到北京; ④3x>x+1; ⑤求所有能被3整除的正数,即3,6,9,12,…. A.2 B.3 C.4 D.5 解:①②③可称为算法,④⑤不是,故选B. 类型二 经典算法 “韩信点兵”问题.韩信是汉高祖刘邦手下的大将,为了保守军事机密,他在点兵时采用下述方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就知
11、道了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人. 解:在本题中,士兵从1~3报数,最后一个士兵报2,说明士兵的总人数是除以3余2,其他两种情况依此类推. (算法一)步骤如下: 第一步:先确定最小的满足除以7余4的数是4; 第二步:依次加7就得到所有满足除以7余4的数:4,11,18,25,32,39,46,53,60,…; 第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:18; 第四步:依次加上35,得18,53,88,…; 第五步:在第四步得到的一列数中,找到最小的满足除以3余2的正整数:53,这就是我们要求的数. (算法二)步骤如下: 第一步:先确定最小的满
12、足除以3余2的数是2; 第二步:依次加3就得到所有满足除以3余2的数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…; 第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:8; 第四步:然后依次加15就得8,23,38,53,…,不难看出,这些数既满足除以3余2,又满足除以5余3; 第五步:在第四步所得的一列数中找到满足除以7余4的最小数是53,这就是我们要求的数. 点拨: 给出一个问题,设计算法时要注意:(1)认真分析问题,研究解决此问题的一般方法;(2)将解决问题的过程分解成若干步骤;(3)用简练的语言将各步骤表
13、示出来;(4)把解题过程条理清楚地表达出来,就得到一个明确的算法.对于同一问题,可以设计不同的算法,其最终的结果是一样的,但解决问题的繁简程度不同,我们要寻找最优算法. 一位商人有9枚银元,其中有一枚略轻的是假银元.请设计一种算法,用天平(不用砝码)将假银元找出来. 解:算法如下: 第一步:把银元分成3组,每组3枚; 第二步:先将两组分别放在天平的两边,如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组内; 第三步:取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元. 类
14、型三 顺序结构 已知点P(x0,y0)和直线l:Ax+By+C=0,求点P(x0,y0)到直线l的距离d,写出其算法并画出流程图. 解:算法如下: 第一步:输入x0,y0及直线方程的系数A,B,C. 第二步:计算z1=Ax0+By0+C. 第三步:计算z2=A2+B2. 第四步:计算d=z1z2. 第五步:输出d. 流程图如图所示. 点拨: 顺序结构是一种最简单、最基本的结构,可严格按照传统的解题思路写出算法步骤,画出程序框图.注意语句与语句之间,框与框之间是按从上到下的顺序进行的. 阅读如图所示的程序框图,若输入的a,b,c的值分别是21,32,75,则输出的a,b,c分别是( )
15、 A.75,21,32 B.21,32,75 C.32,21,75 D.75,32,21 解:该程序框图的执行过程是:输入21,32,75;x=21;a=75;c=32;b=21;输出75,21,32.故选A. 类型四 条件结构 (2015•深圳调研)执行如图所示的程序框图,如果依次输入函数:f(x)=3x,f(x)=sinx,f(x)=x3,f(x)=x+1x,那么输出的函数f(x)为( ) A.f(x)=3x B.f(x)=sinx C.f(x)=x3 D.f(x)=x+1x 解:依题意得,输出的函数应满足:f(-x)=-f(x)(x∈R),即函数f(x)是定义在R上的奇函数,且f(x
16、+m)>f(x),其中m>0,即函数f(x)是定义在R上的增函数.对于A,函数f(x)=3x不是奇函数;对于B,函数f(x)=sinx不是定义在R上的增函数;对于C,函数f(x)=x3既是奇函数又是定义在R上的增函数;对于D,函数f(x)=x+1x的定义域不是实数集.综上所述,只能输出f(x)=x3,故选C. 点拨: 条件结构的运用与数学的分类讨论有关.设计算法时,哪一步要分类讨论,哪一步就需要用条件结构. (2015•全国卷Ⅱ)如图所示程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=( ) A.0 B.
17、2 C.4 D.14 解:执行该程序,输入a,b的值依次为a=14,b=18;a=14,b=4;a=10,b=4;a=6,b=4;a=2,b=4;a=b=2,此时退出循环,输出的a=2.故选B. 类型五 循环结构 (2014•安徽)如图所示,程序框图(算法流程图)的输出结果是( ) A.34 B.55 C.78 D.89 解:运行程序:x=1,y=1,z=2;x=1,y=2,z=3;x=2,y=3,z=5;x=3,y=5,z=8;x=5,y=8,z=13;x=8,y=13,z=21;x=13,y=21,z=34;x=21,y=34,z=55,跳出循环,输出结果是55.故选B. 点拨: 如
18、果算法问题里涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用循环结构.在循环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要使条件的表述恰当、准确. (2015•陕西)根据下边的框图,当输入x为2006时,输出的y=( ) A.28 B.10 C.4 D.2 解:初始条件:x=2006.第1次运行:x=2004;第2次运行:x=2002;第3次运行:x=2000;…;第1003次运行:x=0;第1004次运行:x=-2,不满足条件,跳出循环,所以输出的y=32+1=10,故选B. 类型六
19、结构图 总结高中所有有关函数的内容,画出知识结构图. 解:如图所示: 点拨: 画结构图时,首先要确定组成结构图的基本要素,然后通过连线来标明各要素之间的关系. 某公司的组织结构是:总经理之下设执行经理、人事经理和财务经理.执行经理领导生产经理、工程经理、品质管理经理和物料经理.生产经理领导线长,工程经理领导工程师,工程师管理技术员,物料经理领导计划员和仓库管理员. 解:如图所示: 1.设计算法时,要根据题目进行选择,以简单、程序短、易于在计算机上执行为原则. 2.画程序框图首先要进行结构选择,套用格式.若求只含有一个关系式的函数的函数值时,只用顺序结构就能够解决;若是分段函数或执
20、行时需要先判断才能执行后继步骤的,就必须引入条件结构;如果问题涉及的运算进行了许多重复的步骤,有规律,就可引入变量,应用循环结构.当然,应用循环结构一定要用到顺序结构与条件结构. 3.循环结构的循环控制 通过累加变量记录循环次数,通过判断框决定循环终止与否.用循环结构来描述算法,在画出算法程序框图之前,需要确定的三件事是:(1)确定循环变量与初始条件;(2)确定循环体;(3)确定终止条件.注意直到型循环与当型循环的区别,二者判断框内的条件表述在解决同一问题时恰好相反.解决循环结构框图问题,当循环次数比较少时,可依次列出;当循环次数较多时,可先循环几次,找出规律.要特别注意最后输出的是什么,不要
21、出现多一次或少一次循环的错误. 4.在具体绘制程序框图时,要注意以下几点: (1)流程线上要标有执行顺序的箭头. (2)判断框后边的流程线应根据情况标注“是(Y)”或“否(N)”. (3)框图内的内容包括累加(积)变量初始值,计数变量初始值,累加值,前后两个变量的差值都要仔细斟酌,不能有丝毫差错. (4)判断框内条件常用“>”“≥”“<”“≤”“=”等符号,它们的含义是各不相同的,要根据所选循环结构的类型,正确地进行选择. 5.结构图与流程图的异同 相同点:绘制结构图的一般步骤与绘制流程图类似,先确定组成系统的基本要素,以及这些要素之间的关系,然后画出框图表示整个系统. 不同点:流程图描述具有
22、时间特征的动态过程,结构图刻画静态的系统结构.流程图通常会有一个“起点”,一个或多个“终点”,其基本单元之间由流程线连接;结构图则更多地表现为“树”形结构,其基本要素之间一般为概念上的从属关系或逻辑上的先后关系. 1.结合下面的算法: 第一步:输入x. 第二步:判断x是否小于0,若是,则输出x+2,否则执行第三步. 第三步:输出x-1. 当输入的x的值为-1,0,1时,输出的结果分别为( ) A.-1,0,1 B.-1,1,0 C.1,-1,0 D.0,-1,1 解:根据x值与0的关系,选择执行不同的步骤,当x的值为-1,0,1时,输出的结果分
23、别为1,-1,0,故选C. 2.如图的程序框图输出的结果是( ) A.4 B.3 C.2 D.0 解:该算法首先将1,2,3三个数分别赋给x,y,z;然后先让x取y的值,即x变成2,再让y取x的值,即y的值是2,接着让z取y的值,即z的值为2,从而最后输出z的值为2.故选C. 3.(2014•湖南)执行如图所示的程序框图,如果输入的t∈[-2,2],则输出的S属于( ) A.[-6,-2] B.[-5,-1] C.[-4,5] D.[-3,6] 解:由程序框图可得 S=2t2+1-3,t∈[-2,0),t-3,t∈[0,2], 其值域为[-3,6].故选D. 4.(2015•福建)阅读如图
24、所示的程序框图,运行相应的程序,则输出的结果为( ) A.2 B.1 C.0 D.-1 解:执行程序,得S=0,i=2;S=-1,i=3;S=-1,i=4;S=0,i=5;S=0,i=6>5,跳出循环,输出S=0.故选C. 5.(2014•重庆)执行如图所示的程序框图,若输出k的值为6,则判断框内可填入的条件是( ) A.s>12 B.s>35 C.s>710 D.s>45 解:当输出k的值为6时,s=1×910×89×78=710,结合各选项知,C符合要求.故选C. 6.(2015•全国课标Ⅰ)执行如图所示的程序框图,如果输入的t=0.01,则输出的n=( ) A.5 B.6 C.7
25、D.8 解法一:执行程序,S=12,m=14,n=1;S=14,m=18,n=2;S=18,m=116,n=3;S=116,m=132,n=4;S=132,m=164,n=5;S=164,m=1128,n=6;S=1128
26、解:各次循环中变量a,n的取值如下表所示: a 1.5 1.4 1.416• n 2 3 4 当a=1.416•时,跳出循环,输出的n为4.故填4. 8.(2014•湖北)设a是一个各位数字都不是0且没有重复数字的三位数.将组成a的3个数字按从小到大排成的三位数记为I(a),按从大到小排成的三位数记为D(a)(例如a=815,则I(a)=158,D(a)=851).阅读如图所示的程序框图,运行相应的程序,任意输入一个a,输出的结果b=________. 解法一:当a=123时,b=321-123=198≠123; 当a=198时,b=981-189=792≠198; 当a=792时,b=97
27、2-279=693≠792; 当a=693时,b=963-369=594≠693; 当a=594时,b=954-459=495≠594; 当a=495时,b=954-459=495=a, 终止循环,输出b=495. 解法二:设I(a)=100x+10y+z,D(a)=100z+10y+x,x






