高考总复习算法与程序框图_第1页
高考总复习算法与程序框图_第2页
高考总复习算法与程序框图_第3页
高考总复习算法与程序框图_第4页
高考总复习算法与程序框图_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高考总复习:算法与程序框图编稿:孙永钊 审稿:张林娟【考纲要求】1 .算法的含义、程序框图(1) 了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。2 .基本算法语句理解几种基本算法语句一一输入语句、输出语句、赋值语句、条件语句、循环语句的含义。【知识网络】算法初作算法岫序结构条件结构循环结构输入语句、输出语句、赋值谓句基本算法语句条件语句循环语句进位制案九部算法【考点梳理】考点一、算法1 .算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。(3)应用:算法通常可以编成

2、计算机程序,让计算机执行并解决问题。2 .算法的特征:指向性:能解决某一个或某一类问题;精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续 .有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.构造性:一个问题可以构造多个算法,算法有优劣之分。3 .算法的表示方法:(1)用自然语言表示算法:优点是使用日常用语,通俗易懂;缺点是文字冗长

3、 ,容易 出现歧义;(2)用程序框图表示算法:用图框表示各种操作,优点是直观形象 ,易于理解。要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。考点二:程序框图1 .程序框图的概念:程序框图又称流程图, 是最常用的一种表示法, 它是描述计算机一步一步完成任务的图 表,直观地描述程序执行的控制流程,最便于初学者掌握。2 .程序框图常用符号:图形符号名称含义UJ开始/结束框用于表示算法的开始与结束口输入/输出框用于表示数据的输入或结果的输出处理框描述基本的操作功能,如“赋值”操作、数学运算等V判断框判断某一条件是否成立, 成立时在出口处标明“是”或“ Y” ;不成立时标明“否”或“ N”L

4、流程线表示流程的路径和方向O连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3 .画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。判断框是具有超过 一个退出点的唯一符号;4 4) 一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是 多分支判断,有几种不同的结果;(5)在图形符号内描述的语言要非常简练清楚。4.算法的三种基本逻辑结构:(1)顺序结构:由若干个按从上到下的顺序依次进行的处理步骤(语句或框)组成。这 是任何一个算法都离不开的基本结

5、构。(2)条件结构:算法流程中通过对一些条件的判断,根据条件是否成立而取不同的分支流向的结构。它是依据指定条件选择执行不同指令的控制结构。(3)循环结构:根据指定条件,决定是否重复执行一条或多条指令的控制结构称为循环 结构。考点三:基本算法语句程序设计语言由一些有特定含义的程序语句构成,与算法程序框图的三种基本结构相对应,任何程序设计语言都包含输入输出语句、赋值语句、条件语句和循环语句。以下均为BASIC语言。1 .输入语句这个语句的一般格式是:INPUT "提示内容”;变量其中,“提示内容”般是提示用户输入什么样的信息。每次运行程序时,计算机每次都把新输入的值赋给变量“ X”,并按

6、“ X”新获得的值执行下面的语句。INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:INPUT "提示内容1,提示内容 2,提示内容3,”;变量1,变量2,变量3, 要点诠释:“提示内容”与变量之间必须用分号“;”隔开。各“提示内容”之间以及各变量之间必须用逗号”隔开,但最后的变量 的后面不需要。2 .输出语句它的一般格式是:PRINT "提示内容”;表达式同输入语句一样,表达式前也可以有“提示内容”输出语句的用途:(1)输出常量,变量的值和系统信息;(2)输出数值计算的结果。3 .赋值语句用来表明赋给某一个变量一个具体的确定值的语句。它的一般格式是:变

7、量 =表达式赋值语句中的“=”叫做赋值号。赋值语句的作用:先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值。要点诠释:赋值号左边只能是变量名字,而不能是表达式。如:2=X是错误的。赋值号左右不能对换。如" A=B'与" B=A'的含义运行结果是不同的。不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)。赋值号“二”与数学中的等号意义不同。4 .条件语句算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE格式)IF条件 THEN语句1ELSE语

8、句2END IF当计算机执行上述语句时,首先对 IF后的条件进行判断,如果条件符合,就执行 THEN后的语句1,否则执行ELSE后的语句2。在某些情况下,也可以只使用IF-THEN语句:(即IF-THEN格式)IF条件 THEN语句END IF计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。要点诠释:条件语句的作用:在程序执行过程中,根据判断是否满足约定的 条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断, 并按判断后的不同情况进行不同的处理。5.循环语句算法中的循环

9、结构是由循环语句来实现的。序设计语言中也有当型( WHILE型)和直到型UNTIL语句。(1) WHILE语句的一般格式是:WHILE条件循环体WEND对应于程序框图中的两种循环结构,般程UNTIL型)两种语句结构,即WHILE语句和其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。当计算机遇到 WHILE语句时,先判断条件的真假,如果条件符合,就执行 WHILE与WEN至间的循环体;然后再检查上述条件,如果条件仍符合, 再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到 WEN哨句后,

10、接着执行 WEN文后的语句。因此,当型循环有时也称为 “前 测试型”循环。满足就停止;直到型循环在进行一次循环后,对控制条件进行判断, 当条件不满足时就反复循环,满足就停止。1 .算法与框图是新课标教材中新增的内容,但也曾与其它板块知识结合出现在前几年 的各类考试中,其思想方法渗透在高中数学课程的其他相关内容中。考题应考查算法的思想,基本结构为主,多以选择题、填空题的形式呈现。2 .根据本章知识的特点,复习中应加强对算法思想的理解,了解算法的基本逻辑结构,掌握算法基本语句的使用。3 .仔细审题.在画流程图时首先要进行结构的选择,套用公式.若求只含有一个关系 的解析式的函数的函数值时,只用顺序结

11、构就能够解决; 若是分段函数或执行时需要先判断后才能执行后继步骤的,就必须引入选择结构;如果问题里涉及了许多重复的步骤,且数之间有相同的规律,就可引入变量,应用循环结构.当然应用循环结构里边一定要用到顺序结 构与选择结构.循环结构有两种:直到型和当型,两种都能解决问题.【典型例题】类型一:算法的含义【例1】已知球的表面积是 16兀,要求球的体积,写出解决该问题的一个算法 【思路点拨】先根据表面积算出球的半径,再根据球的体积公式求出球的体积,将上面步骤分解并分另写出即可得到算法。【解析】算法如下:第步,s = 16兀.第四步,输出V【总结升华】给出一个问题,设计算法应该注意:(1)认真分析问题,

12、联系解决此问题的一般数学方法,此问题涉及到的各种情况;(2)将此问题分成若干个步骤;(3)用简练的语句将各步表述出来 .举一反三:S= 1 I =3 While I v【变式1】设计一个计算1 x 3X 5X 7X 9X 11 x 13的算法.图中给出程序的一部分,则 在横线上不能填入的数是 ()A.13B.13.5S= S XI I = I +2 End While Print S EndC.14D.14.5【解析】当I <13成立时,只能运算1X 3X5X 7X 9X 11.故选 A.【变式2】写出找出1至1 000内7的倍数的一个算法.解答:算法1:S1 令 A=0;S2将A不断增

13、加1,每加一次,就将 A除以7,若余数为0,则找到了一个7的倍数,将其输出;S3 反复执行第二步,直到 A=1 000结束.算法2:S1 令 k=1;S2 输出k 7的值;S3 将k的值增加1,若k - 7的值小于1 000 ,则返回S2,否则结束算法3:S1 令 x=7;S2 输出x的值;S3将x的值增加7,若没有超过1 000 ,则返回S2,否则结束类型二:程序框图【例2】写出解方程ax b 0 (a、b R)的相应程序及程序框图。【思路点拨】 因为a b R,解方程ax b 0时需要先对最高次项的系数a是否为0进行判断。若a 0,则方程的解为x -; a若a 0,则需要再次判断 b是否为

14、0,若b 0,则方程的解为全体实数,若b 0 ,则方程无实数解。据此可以用条件语句来实现。【解析】程序:INPUT "a,b="; a,bIF a<>=0 THENb x aPRINT “原方程的根为" ;xELSEIF b<>=0 THENPRINT "方程无实数根”ELSEPRINT "方程的根为全体实数”END IFEND IFEND程序框图:结束【总结升华】在写出算法时,应当对所要解决的问题有深入、全面的了解;条件分支结构的运用与分类讨论的数学思想密切相连;设计算法时,什么地方要进行分类讨论,什么地方就要用条件分

15、支结构。举一反三:【变式1】写出用二分法求函数y f (x)在区间1, 2的零点(精确到 0.01 )的程序框图及相应程序。【解析】程序:a=1b=2DOb、一)0 THEN EXITELSE IFb坐2ELSE a0 THENf(a)f/)a b2输出END IFLOOP UNTIL b a 0.01PRINT程序框图:【例3高清视频算法与程序框图例题 2】执行如图所示的框图,输入 N = 5,则输出的数等于()开始J/输入q/输出5 /(结束【思路点拨】根据程序框图(算法流程图)分析出该程序框图的功能进行求解.【解析】根据程序框图可知,该程序框图的 功能是计算s=表+ 土 + 土+T,.现

16、在输入的.V=5,所以输出的结果A X (A + 1),11111_1为 A-1X2+2X3+3X4 + 4X5+5X6<1-2+$3+(!-:)=,故选 口2 35 66【总结升华】识别运行算法框图和完善算法框图是高考的热点.解答这一类问题,第一,要明确算法框图的顺序结构、选择结构和循环结构;第二,要识别运行算法框图,理解框图所解决的实际问题;第三,按照题目的要求完成解答.对算法框图的考查常与数列和函数等知识相结合,进一步强化框图问题的实际背景.类型三:条件结构2x 3(x【例3】已知函数y 9x2 2(x框图。【思路解析】分析算法写出算法【解析】算法如下:第一步:输入x;第二步:如果

17、(x 0),那么使y2否则y x 2 ;第三步:输出y。0)_ ,写出求该函数的函数值的算法并回出程序0)选择合适的逻辑结构画出程序框图。2x 3,程序框图如下:2a【变式2】写出解方程ax2 xb 0的一个算法,并画出程序框图。【总结升华】求分段函数值的算法应用到条件结构,因此在程序框图的画法中需要引入判断框,要根据题目的要求引入判断框的个数,而判断框内的条件不同,对应的框图中的内容或操作就相应地进行变化.举一反三:【变式1】阅读如图的程序框图,若输出s的值为一7,则判断框内可填写()甘A.i <3?丁B.i <4?C.i <5?| i=;之 D.i <6?f【解析】

18、i=1,s=21=1;11i=3, s=1-3= -2;| 居一i =5, s = 2 5= 7.所以选 D./输出x/【解析】算法步骤:第一步:判断a是否等于0如果a如果a0,则执行第二步;第二步:计算4ab ;第三步:若 0,则原方程无实数根;否则, 0,有x2a第四步:输出方程无实数根的信息或X1、x2。类型四:循环结构【例4】(2015 新课标II卷)程序框图的算法思路源于我国古代数学名著九章算术中的“更相减损术”,执行该程序框图,如输入的 a,b分别为14,18,则输出的a=()A.0B.2C.4D.14【思路点拨】本题只要理解赋值语句a=a-b和b=b-a的含义便迎刃而解.【答案】

19、B【解析】由a=14,b=18,a<b,贝U b变为18-14=4 ,由a>b则a变为14-4=10由a>b贝U a变为10-4=6由a>b则a变为6-4=2由a<b贝Ub变为4-2=2,此时a=b输出a的值为2.故选B.【总结升华】循环结构是高考的热点问题,解决此类问题一般采用步步推进的策略,直至得到最后结果.举一反三k的值为8,则判断框内可【变式】(2015重庆高考)执行如图所示的程序框图,若输出 填入的条件是()3A. S 一4【答案】CB. S11C. S12D.25 s24【解析】模拟执行程序框图,k的值依次为0,2,4,6,8_ 1 1111一因此S

20、(此时k=6),因此可填S2 4 6 1211一故选12C.类型五:输入、输出、赋值语句的应用【例5】阅读程序框图(如下图),若输入m = 4,n= 6,则输出a=【解析】a= 12, i = 3.【点拨】赋值语句是一种重要的基本语句,也是程序必不可少的重要组成部分,使用赋 值语句,要注意其格式要求(2)程序INPUT A, B, CA=A+BB=B - AC=C/A*BPRINT "C=”;C-_END【例6】阅读下列程序,并回答问题. (1)程序INPUT a, b c=a b b=a+c b PRINT a, b, c(1)中若输入1, 2,则输出的结果为 ;(2)中若输入3,

21、 2, 5,则输出的结果为 .【答案】(1) 1, 2, 1 (2) C= 3【解析】分别将输入的值代入程序中逐步计算即可,要注意赋值前后变量值的变化.(1)阅读程序,由a=1, b=2, c=ab可得c= -1;又根据语句 b=a+cb,可得b=-2; 所以程序运行后的结果为:1, 2, -1.(2)阅读程序,由 A=3 , B=2, C=5, A=A+B ,可得 A=5 ,又根据语句B=BA,可得B=-3,又C=C/A*B ,所以输出结果为 C=-3.【点评】赋值语句在给变量赋值时,先计算赋值号右边的式子然后赋值给赋值号左边的变量;另外可以给一个变量先后多次赋不同的值,但变量的取值只与最后

22、一次赋值有关.解决此类问题时要时刻把握某个变量在该程序中充当的角色,时刻关注其值的改变情况.举一反三:(1)【变式】写出下列语句描述的算法的输出结果.(2)(3)a=5 b=3 c=(a+b)/2 d=c*c PRINT "d=”; da=1b=2 c=a+b b=a+c bPRINT"a=, b=, c="; a, b,ca=10 b=20c=30 a=b b=c【答案】(1) 16 (2) a=1 b=2 c=3 (3) a=20 b=30 c=20a b . 一【斛析】(1)a=5, b=3, c 4,d=c2=i6.2(2) a=1, b=2, c=a+b

23、,c=3.又将 a+c b 赋值给 b, . . b=1+3 2=2.(3)由 b=20 及 a=b 知 a=20,由 c=30 及 b=c 知 b=30,由 a=30 及 c=a 知 c=20.类型五:循环语句的应用一 一 .,1111,. ,一 一【例6】设计算法求1一 的值.要求回出程序框图,写1 22 33 499 100出用基本语句编写的程序.【解析】这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算,法.程序框图如下图所示:程序如下:s= 0k= 1DOs=s+ 1/(k* (k +1)k=k+1LOOP UNTIL k >99PRIN

24、T sEND【点拨】(1)在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意格式和 条件的表述方法, WHILE语句是当条件满足时执行循环体,UNTIL语句是当条件不满足时执行循环体.(2)在解决一些需要反复执行的运算任务,如累加求和、累乘求积等问题中应注意考虑利用循环语句来实现.(3)在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套的这些 语句,保证语句的完整性,否则就会造成程序无法执行举一反三:1=4/(2,4 + 1)【变式】下图是输出某个有限数列各项的程序框图,则该框图所输出的最后一个数据 是.1 一【解析】由程序框图可知,当 N= 1时,A= 1 ;

25、N = 2时,A= ; N=3时, 31-,一i,、,一A=-,,即输出各个 A值的分母是以1为首项以2为公差的等差数列,故5当N = 50时,A= 1=,即为框图最后输出的一个数据 .故填 .1 (50 1) 29999类型五:求最大公约数【例7】(1)用辗转相除法求840与1 764的最大公约数;(2)用更相减损术求 440与556的最大公约数.【解析】(1)用辗转相除法求840与1 764的最大公约数:1 764=840X2+84,840= 84 X 10+0.所以840与1 764的最大公约数是 84.(2)用更相减损术求 440与556的最大公约数:556 440= 116,440-

26、116= 324,324 116= 208,208 116=92,116 92=24,92-24 = 68,68- 24 = 44,44- 24 = 20,24-20 = 4,20-4= 16,16-4= 12,12-4=8,8-4=4.所以440与556的最大公约数是4.【总结升华】(1)辗转相除法与更相减损术是求两个正整数的最大公约数的方法,辗转相除法用较大的数除以较小的数,直到大数被小数除尽结束运算,较小的数就是最大公约数;更相减损术是用两数中较大的数减去较小的数,直到所得的差和较小数相等为止,这个较小数就是这两个数的最大公约数.一般情况下,辗转相除法步骤较少,而更相减损术步骤较多,但运

27、算简易,解题时要灵活运用.(2)两个以上的数求最大公约数,先求其中两个数的最大公约数,再用所得的公约数与其他各数求最大公约数即可.举一反三:【变1】求147,343,133的最大公约数.【解析】先求147与343的最大公约数.343-147= 196,196 147 = 49,147-49=98,98-49 = 49,所以147与343的最大公约数为49.再求49与133的最大公约数13349= 84, 8449= 35, 4935= 14, 35 14= 21, 21 14=7,14- 7=7.所以147,343,133的最大公约数为7.类型六:秦九韶算法例8用秦九韶算法写出求多项式f(x)

28、= 1+x+0.5x2+0.016 67x3+0.041 67x4+0.00833x5在x= 0.2时的值的过程.【思路点拨】秦九韶算法是我国南宋的数学家秦九韶首先提出来的.(1)特点:它通过一次式的反复计算,逐步计算高次多项式的求值问题,即将一个n次多项式的求值问题,归结为重复计算n个一次式(aix ai 1),即f(x) (L (anx an 1)x an 2)x L a1)x a0.(2)具体方法如下:已知一个一元n次多项式f(x) anxn an 1xn 1 La1x a00.当x=x。,我们可按顺序一项一项地计算,然后相加,求得 f (x0).【解析】先把函数整理成f(x)= (0.

29、008 33 x+ 0.041 67)x+ 0.166 67)x+ 0.5)x+ 1)x+ 1,按照从内向外的顺序依次进行.x= 0.2,a5= 0.008 33,a4= 0.041 67,a3= 0.016 67,a2= 0.5,a1 = 1,a0 = 1,所以 f( 0.2) = 0.819 93.v0=a5= 0.008 33;v1= v0x+ a4= 0.04;V2=v1x+a3= 0.008 67;V3=V2x+a2= 0.498 27;v4=v3x+a1= 0.900 35;v5= v4x+ a0= 0.819 93;【总结升华】秦九韶算法是多项式求值的最优算法,特点是(1)将高次多项式的求值化为一次多项式求值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论