《2022年知识讲解_高考总复习:算法与程序框图 .pdf》由会员分享,可在线阅读,更多相关《2022年知识讲解_高考总复习:算法与程序框图 .pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。2.基本算法语句理解几种基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句的含义。【知识网络】【考点梳理】考点一、算法1算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。2算法的特征:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 22 页 -指向性:能解决某一个或某
2、一类问题;精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.构造性:一个问题可以构造多个算法,算法有优劣之分。3算法的表示方法:(1)用自然语言表示算法:优点是使用日常用语,通俗易懂;缺点是文字冗长,容易出现歧义;(2)用程序框图表示算法:用图框表示各种操作,优点是直观形象,易于理
3、解。要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。考点二:程序框图1.程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。2.程序框图常用符号:图形符号名称含义开 始/结 束框用于表示算法的开始与结束输 入/输 出框用于表示数据的输入或结果的输出处理框描述基本的操作功能,如“赋值”操作、数学运算等判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”流程线表示流程的路径和方向名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 22 页 -连接点用于
4、连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。判断框是具有超过一个退出点的唯一符号;(4)一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;(5)在图形符号内描述的语言要非常简练清楚。4.算法的三种基本逻辑结构:(1)顺序结构:由若干个按从上到下的顺序依次进行的处理步骤(语句或框)组成。这是任何一个算法都离不开的基本结构。(2)条件结构:算法流程中通过对一些条件的判断
5、,根据条件是否成立而取不同的分支流向的结构。它是依据指定条件选择执行不同指令的控制结构。(3)循环结构:根据指定条件,决定是否重复执行一条或多条指令的控制结构称为循环结构。考点三:基本算法语句程序设计语言由一些有特定含义的程序语句构成,与算法程序框图的三种基本结构相对应,任何程序设计语言都包含输入输出语句、赋值语句、条件语句和循环语句。以下均为BASIC语言。1.输入语句这个语句的一般格式是:INPUT“提示内容”;变量其中,“提示内容”一般是提示用户输入什么样的信息。每次运行程序时,计算机每次名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 22 页 -都把新输入的值赋给变量“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 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 22 页
8、-语句 1 ELSE 语句 2 END IF 当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句 2。在某些情况下,也可以只使用IF-THEN 语句:(即 IF-THEN 格式)IF 条件 THEN 语句END IF 计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行 THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。要点诠释:条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同
9、情况进行不同的处理。5.循环语句算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构,即WHILE语句和UNTIL语句。(1)WHILE语句的一般格式是:WHILE 条件循环体WEND 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 22 页 -其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与 WEND 之间的循环体;然后再检查上述条件,如果条
10、件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到 WEND 语句后,接着执行WEND 之后的语句。因此,当型循环有时也称为“前测试型”循环。(2)UNTIL 语句的一般格式是:DO 循环体LOOP UNTIL 条件要点诠释:当型循环在进行循环前对控制条件进行判断,当条件满足时就反复循环,不满足就停止;直到型循环在进行一次循环后,对控制条件进行判断,当条件不满足时就反复循环,满足就停止。1算法与框图是新课标教材中新增的内容,但也曾与其它板块知识结合出现在前几年的各类考试中,其思想方法渗透在高中数学课程的其他相关内容中。考题应考查算法的思想
11、,基本结构为主,多以选择题、填空题的形式呈现。2根据本章知识的特点,复习中应加强对算法思想的理解,了解算法的基本逻辑结构,掌握算法基本语句的使用。3仔细审题在画流程图时首先要进行结构的选择,套用公式若求只含有一个关系的解析式的函数的函数值时,只用顺序结构就能够解决;若是分段函数或执行时需要先判断后才能执行后继步骤的,就必须引入选择结构;如果问题里涉及了许多重复的步骤,且数之间有相同的规律,就可引入变量,应用循环结构 当然应用循环结构里边一定要用到顺序结构与选择结构循环结构有两种:直到型和当型,两种都能解决问题【典型例题】类型一:算法的含义【例 1】已知球的表面积是16,要求球的体积,写出解决该
12、问题的一个算法.【思路点拨】先根据表面积算出球的半径,再根据球的体积公式求出球的体积,将上面步骤分解并分别写出即可得到算法。【解析】算法如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 22 页 -第一步,s16.第二步,计算4SR第三步,计算343RV第四步,输出V.【总结升华】给出一个问题,设计算法应该注意:(1)认真分析问题,联系解决此问题的一般数学方法,此问题涉及到的各种情况;(2)将此问题分成若干个步骤;(3)用简练的语句将各步表述出来.举一反三:【变式 1】设计一个计算13 5791113 的算法.图中给出程序的一部分,则在横线上不能填入的数是()A.13 B.1
13、3.5 C.14 D.14.5【解析】当I13 成立时,只能运算1357 911.故选 A.【变式 2】写出找出1 至 1 000 内 7的倍数的一个算法.解答:算法1:S1 令 A=0;S2 将 A不断增加1,每加一次,就将A除以 7,若余数为0,则找到了一个7 的倍数,将其输出;S3 反复执行第二步,直到A=1 000 结束.算法 2:S1 令 k=1;S2 输出 k7 的值;S3 将 k 的值增加 1,若 k7 的值小于1 000,则返回 S2,否则结束.算法 3:S1 令 x=7;S2 输出 x 的值;S1 I 3 While ISS I I I 2 End While Print S
14、 End 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 22 页 -S3 将 x 的值增加7,若没有超过1 000,则返回 S2,否则结束.类型二:程序框图【例 2】写出解方程0axb(abR、)的相应程序及程序框图。【思路点拨】因为abR、,解方程0axb时需要先对最高次项的系数a是否为 0进行判断。若0a,则方程的解为bxa;若0a,则需要再次判断b是否为 0,若0b,则方程的解为全体实数,若0b,则方程无实数解。据此可以用条件语句来实现。【解析】程序:INPUT“a,b=”;a,b IF a=0 THEN bxaPRINT“原方程的根为”;xELSE IF b=0 THE
15、N PRINT“方程无实数根”ELSE PRINT“方程的根为全体实数”END IF END IF END 程序框图:名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 22 页 -【总结升华】在写出算法时,应当对所要解决的问题有深入、全面的了解;条件分支结构的运用与分类讨论的数学思想密切相连;设计算法时,什么地方要进行分类讨论,什么地方就要用条件分支结构。举一反三:【变式1】写出用二分法求函数()yf x在区间1,2的零点(精确到0.01)的程序框图及相应程序。【解析】程序:a=1 b=2 DO IF()02abf THEN EXIT ELSE IF ()()02abf a f T
16、HEN 2abbELSE 2aba输出2abEND IF LOOP UNTIL 0.01ba名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 22 页 -PRINT 2ab程序框图:【例 3】执行如图所示的框图,输入N5,则输出的数等于()开结2aba0.01ba1,2ab()02abf是2ab输出()()02abf a f否2abb是否是否名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 22 页 -【思路点拨】根据程序框图(算法流程图)分析出该程序框图的功能进行求解【总结升华】识别运行算法框图和完善算法框图是高考的热点解答这一类问题,第一,要明确算法框图的顺序结构
17、、选择结构和循环结构;第二,要识别运行算法框图,理解框图所解决的实际问题;第三,按照题目的要求完成解答对算法框图的考查常与数列和函数等知识相结合,进一步强化框图问题的实际背景类型三:条件结构【例 3】已知函数223(0)2(0)xxyxx,写出求该函数的函数值的算法并画出程序框图。【思路解析】分析算法写出算法选择合适的逻辑结构画出程序框图。【解析】算法如下:第一步:输入x;第二步:如果(0)x,那么使23yx,否则22yx;第三步:输出y。程序框图如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 22 页 -【总结升华】求分段函数值的算法应用到条件结构,因此在程序框图的画法
18、中需要引入判断框,要根据题目的要求引入判断框的个数,而判断框内的条件不同,对应的框图中的内容或操作就相应地进行变化.举一反三:【变式 1】阅读如图的程序框图,若输出s的值为 7,则判断框内可填写()A.i 3?B.i 4?C.i 5?D.i 6?【解析】i 1,s211;i 3,s1 3 2;i 5,s 25 7.所以选 D.【变式 2】写出解方程20axxb的一个算法,并画出程序框图。【解析】算法步骤:第一步:判断a是否等于 0 如果0a,则解得xb;如果0a,则执行第二步;第二步:计算1 4ab;第三步:若0,则原方程无实数根;否则,0,有112xa,212xa;名师资料总结-精品资料欢迎
19、下载-名师精心整理-第 12 页,共 22 页 -第四步:输出方程无实数根的信息或1x、2x。程序框图:类型四:循环结构【例 4】设计算法求111112233499100的值,并画出程序框图。【思路点拨】(1)这是一个累加求和问题,共99 项相加;(2)设计一个计数变量,一个累加变量,用循环结构实现这一算法。【解析】算法如下:第一步:令S=0,1;i第二步:若99i成立,则执行第三步;否则,输出S,结束算法;第三步:1;(1)SSi i第四步:1ii,返回第二步。程序框图:开结是否14ab0112xa212xaab输入、0axb是否12xx输出、x输出输出“无实根”名师资料总结-精品资料欢迎下
20、载-名师精心整理-第 13 页,共 22 页 -方法一:当型循环程序框图:方法二:直到型循环程序框图:【总结升华】利用循环结构表示算法,一定要先确定是利用当型循环结构,还是直到型循环结构;第二要选择准确的表示累计的变量;第三要注意在哪一步开始循环。举一反三:【变式】设计一个计算10 个数的平均数的算法,并画出程序框图.【解析】算法步骤如下:第一步,令S0.第二步,令I1.名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 22 页 -第三步,输入一个数G.第四步,令SSG.第五步,令I I 1.第六步,若I 10,转到第七步,若I 10,转到第三步.第七步,令AS/10.第八步,输
21、出A.据上述算法步骤,程序框图如图.类型五:输入、输出、赋值语句的应用【例 5】阅读程序框图(如下图),若输入m 4,n6,则输出a,i.【解析】a12,i3.【点拨】赋值语句是一种重要的基本语句,也是程序必不可少的重要组成部分,使用赋值语句,要注意其格式要求.名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 22 页 -【例 6】阅读下列程序,并回答问题(1)程序(2)程序(1)中若输入1,2,则输出的结果为_;(2)中若输入3,2,5,则输出的结果为_【答案】(1)1,2,1(2)C=3【解析】分别将输入的值代入程序中逐步计算即可,要注意赋值前后变量值的变化(1)阅读程序,由
22、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【点评】赋值语句在给变量赋值时,先计算赋值号右边的式子然后赋值给赋值号左边的变量;另外可以给一个变量先后多次赋不同的值,但变量的取值只与最后一次赋值有关解决此类问题时要时刻把握某个变量在该程序中充当的角色,时刻关注其值的改变情况举一反三:【变式】写出下列语句描述的算法的输出结果(1)(2)(3)INPUT a,b c=ab b=a+cb PRI
23、NT a,b,c INPUT A,B,C A=A+B B=B A C=CA*B PRINT“C=”;C END a=5 b=3 c=(a+b)/2 d=c*c PRINT“d=”;d a=1 b=2 c=a+b b=a+cb PRINT“a=,b=,c=”;a,b,c a=10 b=20 c=30 a=b b=c 名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 22 页 -【答案】(1)16(2)a=1 b=2 c=3(3)a=20 b=30 c=20【解析】(1)a=5,b=3,42abc,d=c2=16(2)a=1,b=2,c=a+b,c=3又将 a+cb 赋值给 b,b=
24、1+32=2(3)由 b=20 及 a=b 知 a=20,由 c=30 及 b=c 知 b=30,由 a=30 及 c=a 知 c=20类型五:循环语句的应用【例 6】设计算法求11 2123134199100的值.要求画出程序框图,写出用基本语句编写的程序.【解析】这是一个累加求和问题,共99 项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.程序框图如下图所示:程序如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 22 页 -s0 k1 DO s s 1/(k*(k 1)k k 1 LOOP UNTIL k99 PRINT s END【点拨】(1)在用
25、WHILE语句和 UNTIL 语句编写程序解决问题时,一定要注意格式和条件的表述方法,WHILE语句是当条件满足时执行循环体,UNTIL 语句是当条件不满足时执行循环体.(2)在解决一些需要反复执行的运算任务,如累加求和、累乘求积等问题中应注意考虑利用循环语句来实现.(3)在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套的这些语句,保证语句的完整性,否则就会造成程序无法执行.举一反三:【变式】下图是输出某个有限数列各项的程序框图,则该框图所输出的最后一个数据是.【解析】由程序框图可知,当N 1时,A1;N2 时,A13;N3 时,A15,即输出各个A值的分母是以1 为首项以2
26、 为公差的等差数列,故当N50 时,A11(501)2199,即为框图最后输出的一个数据.故填199.类型五:求最大公约数名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 22 页 -【例 7】(1)用辗转相除法求840 与 1 764 的最大公约数;(2)用更相减损术求440 与 556 的最大公约数.【解析】(1)用辗转相除法求840 与 1 764 的最大公约数:1 764 840 284,840 84100.所以 840 与 1 764 的最大公约数是84.(2)用更相减损术求440 与 556 的最大公约数:556440116,440116324,324116208,2
27、0811692,116 9224,92 2468,68 2444,44 2420,24204,20416,16412,1248,844.所以 440 与 556 的最大公约数是4.【总结升华】(1)辗转相除法与更相减损术是求两个正整数的最大公约数的方法,辗转相除法用较大的数除以较小的数,直到大数被小数除尽结束运算,较小的数就是最大公约数;更相减损术是用两数中较大的数减去较小的数,直到所得的差和较小数相等为止,这个较小数就是这两个数的最大公约数.一般情况下,辗转相除法步骤较少,而更相减损术步骤较多,但运算简易,解题时要灵活运用.(2)两个以上的数求最大公约数,先求其中两个数的最大公约数,再用所得
28、的公约数与其他各数求最大公约数即可.举一反三:【变 1】求 147,343,133的最大公约数.【解析】先求147 与 343 的最大公约数.343147196,19614749,147 4998,名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 22 页 -98 4949,所以 147 与 343 的最大公约数为49.再求 49 与 133 的最大公约数.1334984,84 4935,49 3514,35 1421,21 147,1477.所以 147,343,133的最大公约数为7.类型六:秦九韶算法【例 8】用秦九韶算法写出求多项式f(x)1x0.5x20.016 67x
29、30.041 67x40.008 33x5在x 0.2 时的值的过程.【思路点拨】秦九韶算法是我国南宋的数学家秦九韶首先提出来的(1)特点:它通过一次式的反复计算,逐步计算高次多项式的求值问题,即将一个n 次多 项 式 的 求 值 问 题,归 结 为 重 复 计 算n个 一 次 式1()iia xa 即121()()nnnfxaxaxaxaxa(2)具体方法如下:已知一个一元n 次多项式1110()nnnnf xa xaxa xa0当x=x0,我们可按顺序一项一项地计算,然后相加,求得0()f x【解析】先把函数整理成f(x)(0.008 33x0.041 67)x0.166 67)x0.5)
30、x1)x1,按照从内向外的顺序依次进行.x 0.2,a5 0.008 33,v0a50.008 33;a4 0.041 67,v1v0 xa40.04;a3 0.016 67,v2v1xa30.008 67;a2 0.5,v3v2xa20.498 27;a1 1,v4v3xa10.900 35;a0 1,v5v4xa00.819 93;所以f(0.2)0.819 93.【总结升华】秦九韶算法是多项式求值的最优算法,特点是:名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 22 页 -(1)将高次多项式的求值化为一次多项式求值;(2)减少运算次数,提高效率;(3)步骤重复实施,能用
31、计算机操作.秦九韶算法的原理是01(1,2,3,)nkkn kvavvxakn在运用秦九韶算法进行计算时,应注意每一步的运算结果,像这种一环扣一环的运算,如果错一步,则下一步,一直到最后一步就会全部算错同学们在计算这种题时应格外小心举一反三:【变式】用秦九韶算法计算多项式65432()654327f xxxxxxx在 x=0.4时的值时,需做加法和乘法的次数和是()A10 B9 C12 D8【答案】C【解析】()(65)4)3)2)1)7fxxxxxxx加法 6 次,乘法6 次,6+6=12(次),故选 C类型七:进位制【例 9】(1)试把十进制数136 转化为二进制数;(2)试把十进制数1
32、234 转化为七进制数【思路点拨】将k进制数转换为十进制数,关键是先写成幂的积的形式再求和,将十进制数转换为k进制数,用“除k取余法”,余数的书写是由下往上,顺序不能颠倒,k进制化为m进制(k,m10),可以用十进制过渡【解析】(1)由于 136=268+0,68=234+0 34=217+0 17=28+1 8=24+0 4=22+0 2=21+0名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 22 页 -1=20+1所以 136=10001000(2)(2)1234=7176+2,176=725+1 25=73+4 3=70+3所以 1234=3412(7)【总结升华】(1
33、)应注意搞清每一次除法中的被除数、除数,当商为零时停止除法,把每步所得的余数倒着排成一个数,就是相应的二进制数(2)十进制数转化为七进制数与转化为二进制数的方法类似,要认真体会其原理举一反三:【变式 1】把十进制数89 化为三进制数.【解析】具体的计算方法如下:893 292,293 92,9330,3310,1301,所以 89(10)10 022(3).【变式 2】在十进制中,012320044 100 100 102 10,那么在五进制中数码 2 004 折合成十进制为()A29 B254 C602 D 2 004【答案】B【解析】012320044 5050 52 5254,故选 B名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 22 页 -