1、考 点 串 串 讲1算法(1)算法并没有一个精确化的定义,可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的、确切的计算序列,并且这样的步骤或序列能够解决一类问题(2)对于某一个问题,找到解决它的某种算法是指使用一系列运算规则能在有限步内求解某类问题,其中的每条规则必须是明确定义的、可行的,不能模棱两可我们过去学习的许多数学公式都是算法,加、减、乘、除运算法则以及多项式的运算法则也是算法(3)求解某个问题的算法不一定是唯一的(4)我们学习的算法不同于一个具体问题的求解方法,它有如下的要求:算法必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用
2、;算法过程要简练,每一步执行的操作必须为下一步做准备,而且经过有限步后能得出结果2程序框图的特点及使用规则(1)用程序框图表示算法,具有直观、形象的特点,能更清楚地展现算法的逻辑结构(2)程序框图主要由程序框和流程线组成基本的程序框有终端框、输入、输出框、处理框、判断框,其中终端框是任何程序框图不可缺少的,而输入、输出框可以用在算法中任何需要输入、输出的位置(3)画程序框图的规则:使用标准的框图符号;框图一般按从上到下、从左到右的方向画;判断框是具有超过一个退出点的唯一符号,除判断框外,其他程序框图符号都只有一个进入点和一个退出点;在图形符号内的描述语言要非常简练、清楚3程序框图的几种结构(1
3、)顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤如图所示,A 框和 B 框是依次执行的,只有在执行完 A 框指定的操作后,才能接着执行 B 框所指定的操作(2)条件分支结构:根据某种条件是否满足选择程序的走向当条件满足时,运行“是”的分支,不满足时,运行“否”的分支条件分支结构中包含一个判断框,根据给定的条件 P 是否成立而选择执行 A 框和 B 框(如图所示)特别提醒在条件分支结构中,无论条件
4、是否成立,只能执行 A 框或 B 框之一,不可能既执行 A 框又执行 B 框无论走哪条路径,在执行完A 框或 B 框之后,都经过 b 点,然后脱离此条件分支结构A 和 B两个框可以有一个是空的,即不执行任何操作使用条件分支结构画程序框图时要注意两点:一是要注意需要判断的条件是什么;二是判断后的条件分别对应着什么样的结果(3)循环结构:从某处开始,按照一定的条件,反复执行某一处理步骤的情况常用来处理一些反复进行操作的问题,其程序框图如图所示循环结构又称重复结构,循环结构可细分为两类:一类是当型循环结构,如图(1)所示,它的功能是当给定的条件P1 成立时,执行 A 框,A 框执行完毕后,再判断条件
5、 P1 是否成立,如果仍然成立,再执行 A 框,如此反复执行 A 框,直到某一次条件 P1 不成立为止,此时不再执行 A 框,从 b 点离开循环结构另一类是直到型循环结构,如图(2)所示,它的功能是先执行 A框,然后判断给定的条件 P2 是否成立,如果 P2 仍然不成立,则继续执行 A 框,直到某一次给定的条件 P2 成立为止,此时不再执行A 框,从 b 点离开循环结构两种循环结构的区别:()执行情况不同当型循环是先判断条件,当条件成立时才执行循环体,若循环条件一开始就不成立,则循环体一次也不执行而直到型循环是先执行一次循环体,再判断循环条件,循环体至少要执行一次()循环条件不同当型循环是当条
6、件成立时循环,条件不成立时停止循环,而直到型循环是当条件不成立时循环,直到条件成立时结束循环循环结构中几个常用量:计数变量,用来记录某个事件发生的次数,如 ii1,nn1;累加变量,用来计算数据之和,如 sumsumi,ssi;累乘变量,用来计算数据之积,如 ppi.计数变量用于记录循环次数,累加(乘)变量用于计算结果计数变量和累加(乘)变量一般是同步执行的,累加(乘)一次,计数一次对于这些变量,在程序开始时,一般要先赋初始值,可根据实际问题合理选择初始值,一般情况下,计数变量的初始值可设为 0 或 1,累加变量的初始值可设为 0,累乘变量的初始值可设为 1.典 例 对 对 碰题型一 算法概念
7、的理解例 1 下列关于算法的说法,正确的个数是()求解某一类问题的算法是唯一的;算法必须在有限步操作之后停止;算法的每一步操作必须是明确的,不能有歧义或模糊;算法执行后一定产生确定的结果A1 B2C3 D4解析 由于算法具有可终止性、明确性和确定性因而正确,而解决某类问题的算法不一定唯一从而错答案 C点评 算法在中学课程中是一个新概念,算法实际上就是解决问题的一种程序性方法,它通常指向某一个或一类问题而解决的过程是程序性和构造性的,算法又可以看成解决问题的特殊的有效的方法,中学课程中的算法更强调具体算法所蕴涵的算法思想,重点在于培养学生的算法意识.变式迁移 1对算法的描述有:对一类问题都有效;
8、算法可执行的步骤,必须是有限的;算法可以一步一步地进行,每一步都有确切的含义;是一种通法,只要按部就班地做,总能得到结果,以上算法的描述正确的有()A1 个 B2 个C3 个 D4 个答案 D解析 算法的特点有:有限性;确定性;顺序性和正确性;不唯一性;普遍性解答有关算法的概念判断题,就根据算法的这五大特点.题型二 算法的写法例 2 写出解方程 x22x30 的一个算法解析 算法一:S1:移项,得 x22x3;S2:式两边同加 1 并配方得(x1)24;S3:式两边开方,得 x12;S4:解得 x3 或 x1.算法二:S1:计算方程的判别式并判断其符号,(2)243160;S2:将 a1,b2
9、,c3,代入求根公式 xb b24ac2a,得 x13,x21.点评(1)比较两种算法,算法二更简单,步骤少,所以利用公式解决问题是最理想的算法因此在寻求算法的过程中,首先要考虑利用公式求一般的一元二次方程 ax2bxc0 的根的算法如下:S1:计算 b24ac;S2:若 0;S3:输出方程无实根;S4:若 0;S5:计算并输出方程的根,x1,2b b24ac2a.(2)算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的这就要求我们在写算法时应简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性算法过程要做到能一步一步地执行,每一步执行的操作,必须确
10、切,不能含糊不清,且在有限步后必须得到问题的结果.变式迁移 2一个算法如下:S1:计算 m4acb24a;S2:若 a0,输出最小值 m;S3:若 a0,输出最大值 m.已知 a1,b2,c3.则运行以上步骤输出的结果为_答案 2解析 本题算法用于求二次函数 yax2bxc(a0)的最值故输出最小值 2.题型三 顺序结构程序框图例 3 已知一个数的 13%为 a,写出求这个数的一个算法,并画出程序框图解析 算法如下:S1:输入 a;S2:计算 ba 13100;S3:输出 b.程序框图如图所示点评 设计算法时,一般先用自然语言表达,再根据自然语言所描述的算法画程序框图,在逐步熟练后也可直接画程
11、序框图,对较复杂的问题还是先用自然语言表达算法过程,后画程序框图.变式迁移 3如图所示,写出下列算法的功能(1)图甲中算法的功能是(a0,b0)_;(2)图乙中算法的功能是_答案(1)求以 a,b 为直角边长的直角三角形斜边 c 的长(2)求两个实数 a,b 的和题型四 条件分支结构程序框图例 4 函数 y2 x00 x02 x0,写出求该函数值的算法及程序框图分析 该问题实质是一个分段函数,因为分段函数当变量在不同的范围内时函数的关系式不同,因而当给出一个自变量 x 的值求它对应的函数值时,必须先判断 x 的范围,然后确定用该范围内的函数关系式计算相应的函数值解析 S1:输入 x;S2:如果
12、 x0,则 y2;如果 x0,则 y0;如果 x0,则 y2;S3:输出函数值 y,相应的程序框图如图所示点评 求分段函数函数值的程序框图的画法,如果是分两段的函数,则只需引入一个判断框;如果是分三段的函数,则需引入两个判断框;依次类推,至于判断框内的内容是没有顺序的,例如本题中的两个判断框内的内容可以变换,但对应的下一图框中的内容也必须相应地进行变化,故本题的程序框图也可以画成如图的两种情形变式迁移 4某算法的程序框图如图所示,则输出量 y 与输入量 x 满足的关系式是_答案 y2x,x1x2,x1解析 当 x1 时,有 yx2;当 x1 时,有 y2x.所以,有分段函数 y2x,x1x2,
13、x1.题型五 循环结构例 5 某篮球队 6 名主力队员在最近三场比赛中投进的三分球个数如下表所示:队员 i123456三分球个数a1a2a3a4a5a6如图所示是统计该篮球队 6 名队员在最近三场比赛中投进的三分球总数的程序框图,则图中判断框应填_,输出的 s_.(注:框图中的赋值符号“”也可以写成“”或“:”)分析 本题主要考查程序框图中的当型循环结构,解题的关键是了解当型循环结构的特点,并注意 WHILE 型语句与 UNTIL 型语句之间的区别解析 该程序框图是统计该篮球队 6 名队员在最近三场比赛中投进的三分球总数的程序框图,所以图中判断框应填 i6,输出的sa1a2a6.答案 i6 s
14、a1a2a6变式迁移 5阅读如图所示的程序框图,该程序输出的结果是_答案 729解析 由程序框图可知,输入初始值 a14,s1;s199,a1124;s9981,a2134;s819729,a314,此时停止循环,故输出的结果是 729.方 法 路 路 通1顺序结构的程序框图是按从上到下依次执行的框图,不会引起程序步骤的跳转2条件分支结构主要用在一些需要依据条件进行判断的算法中,如分段函数的求值、数据的大小关系等问题中,常常用到条件分支结构来设计算法3利用循环结构画程序框图,要明确三件事:确定循环变量和初始条件、确定循环体和确定循环的终止条件4在画框图时,如果问题里涉及的运算运行了许多重复步骤
15、,且各数之间有相同的规律,就可引入变量,应用循环结构5用循环结构需注意的问题:(1)不要忽视变量的初值、循环终止条件和循环变量三者之间的一致性而出现错误(2)不要忽视流程线的方向,导致出现把“是”和“否”的位置写反的错误.正 误 题 题 辨例下列三图是三位同学为计算 2242621002 而绘制的算法程序框图,根据程序框图回答后面的问题其中正确的程序框图有哪几个?错误的程序框图有哪几个?错误的要指出错在哪里解析 以上三个程序框图都不正确(1)图 1 所示的程序框图中,计数变量是 i.22,42,62,1002,指数都是 2,而底数是变化的,相邻两项底数相差 2,因此计数变量要加 2.故图 1
16、有三处错误:第一处错误,第二个处理框中的“i42”应该是“i4”;第二处错误,第三个处理框中累加的是“i2”而不是“i”,即 ppi2;第三处错误,第四个处理框中内容应是“ii2”,而不是“ii1”;(2)图 2 所示的程序框图中共有四处错误:第一处错误,流程线没有箭头显示程序的执行顺序;第二处错误,第三个处理框中的内容应是“ppi2”,而不是“ppi”;第三处错误,判断框的流程线没有标明“是”和“否”;第四处错误,在第三个处理框和判断过程中漏掉了在循环中起主要作用的框图,内容为 ii2,否则程序无法退出循环(3)图 3 所示的程序框图中有一处错误,判断框中的循环条件错误,导致无法执行循环体,判断框中的内容应是“i100”.THANKS