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

下载本文档

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

文档简介

1、 高考总复习:算法与程序框图 【考纲要求】 1. 算法的含义、程序框图 (1 )了解算法的含义,了解算法的思想; (2) 理解程序框图的三种基本逻辑结构:顺序、条件、循环。 2. 基本算法语句 理解几种基本算法语句一一输入语句、输出语句、赋值语句、条件语句、循环语句的含 义。 【知识网络】 顺序结构 条件结构 循环结构 输人语句、输出语句*賦伉语句 基木算 法语句 循环i吾句 羅转相除法与史相减损术 畀法 案例 T进位制 【考点梳理】 考点一、算法 i 算法的概念 (1) 古代定义:指的是用阿拉伯数字进行算术运算的过程。 (2) 现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步

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

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

4、断某一条件是否成立, 成立时在出口处标 明“是”或“ Y” ;不成立时标明“否”或“ N” 流程线 表示流程的路径和方向 O 连接点 用于连接另一页或另一部分的框图 注释框 框中内容是对某部分流程图做的解释说明 3.画程序框图的规则: (1) 使用标准的框图的符号; (2) 框图一般按从上到下、从左到右的方向画; (3) 除判断框图外,大多数框图符号只有一个进入点和一个退出点。判断框是具有超过 一个退出点的唯一符号; (4) 一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是 多分支判断,有几种不同的结果; (5) 在图形符号内描述的语言要非常简练清楚。 4. 算法的三种

5、基本逻辑结构: (1) 顺序结构:由若干个按从上到下的顺序依次进行的处理步骤(语句或框)组成。这 是任何一个算法都离不开的基本结构。 (2) 条件结构:算法流程中通过对一些条件的判断,根据条件是否成立而取不同的分支 流向的结构。它是依据指定条件选择执行不同指令的控制结构。 (3) 循环结构:根据指定条件,决定是否重复执行一条或多条指令的控制结构称为循环 结构。 顺序 循环 考点三:基本算法语句 程序设计语言由一些有特定含义的程序语句构成,与算法程序框图的三种基本结构相对 应,任何程序设计语言都包含输入输出语句 BASIC 语言。 、赋值语句、条件语句和循环语句。以下均为 1. 输入语句 这个语

6、句的一般格式是:INPUT “提示内容”;变量 其中,“提示内容” 一般是提示用户输入什么样的信息。每次运行程序时,计算机每次都把新输入的值赋给变量“ x” ,并按“ X”新获得的值执行下面的语句。 INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为: INPUT “提示内容1 ,提示内容 2,提示内容3,”;变量1 ,变量2,变量3, 要点诠释: “提示内容”与变量之间必须用分号“;”隔开。 各“提示内容”之间以及各变量之间必须用逗号“,”隔开,但最后的变量 的后面不需要。 2. 输出语句 它的一般格式是:PRINT “提示内容”;表达式 同输入语句一样,表达式前也可以有“

7、提示内容” 输出语句的用途: (1) 输出常量,变量的值和系统信息; (2) 输出数值计算的结果。 3. 赋值语句 用来表明赋给某一个变量一个具体的确定值的语句。它的一般格式是:变量=表达式 赋值语句中的“=”叫做赋值号。 赋值语句的作用: 先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值 等于表达式的值。 要点诠释: 赋值号左边只能是变量名字,而不能是表达式。如:2=X是错误的。 赋值号左右不能对换。如“ A=B与“ B=A的含义运行结果是不同的。 不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)。 赋值号“=”与数学中的等号意义不同。 4. 条件

8、语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。 它的一般格式是:(IF-THEN-ELSE格式) IF条件 THEN 语句1 ELSE 语句2 END IF 当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行 THEN IF-THEN 语句: 后的语句1,否则执行ELSE后的语句2。 在某些情况下,也可以只使用 IF条件 THEN 语句 END IF 计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合, 就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。 要点诠释:条件语句的作用:在程

9、序执行过程中,根据判断是否满足约定的 条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断, 并按判断后的不同情况进行不同的处理。 5. 循环语句 算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构, 一般程 序设计语言中也有当型( WHILE型)和直到型(UNTIL型)两种语句结构,即 WHILE语句和 UNTIL语句。 (1)WHILE语句的一般格式是: WHILE条件 循环体 WEND 其中循环体是由计算机反复执行的一组语句构成的。 WHLIE后面的“条件”是用于控制 计算机执行循环体或跳出循环体的。当计算机遇到 WHILE语句时,先判断条件的真假,如果

10、 条件符合,就执行 WHILE与 WEN龙间的循环体;然后再检查上述条件,如果条件仍符合, 再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行 循环体,直接跳到 WEN语句后,接着执行 WEN之后的语句。因此,当型循环有时也称为“前 1! 测试型”循环。 (2)UNTIL语句的一般格式是: DO 循环体 LOOP UNTIL 条件 要点诠释:当型循环在进行循环前对控制条件进行判断,当条件满足时就反复循环, 不 满足就停止;直到型循环在进行一次循环后,对控制条件进行判断, 当条件不满足时就反复 循环,满足就停止。 1 算法与框图是新课标教材中新增的内容,但也曾与其它

11、板块知识结合出现在前几年 的各类考试中,其思想方法渗透在高中数学课程的其他相关内容中。考题应考查算法的思想, 基本结构为主,多以选择题、填空题的形式呈现。 2根据本章知识的特点,复习中应加强对算法思想的理解,了解算法的基本逻辑结构, 掌握算法基本语句的使用。 3仔细审题在画流程图时首先要进行结构的选择,套用公式.若求只含有一个关系 的解析式的函数的函数值时,只用顺序结构就能够解决; 若是分段函数或执行时需要先判断 后才能执行后继步骤的,就必须引入选择结构;如果问题里涉及了许多重复的步骤,且数之 间有相同的规律,就可引入变量,应用循环结构.当然应用循环结构里边一定要用到顺序结 构与选择结构循环结

12、构有两种:直到型和当型,两种都能解决问题. 【典型例题】 类型一:算法的含义 【例1】已知球的表面积是 16 n,要求球的体积,写出解决该问题的一个算法 【思路点拨】先根据表面积算出球的半径, 再根据球的体积公式求出球的体积,将上面 步骤分解并分别写出即可得到算法。 【解析】算法如下: 第三步,计算 第四步,输出 【总结升华】给出一个问题,设计算法应该注意: 认真分析问题,联系解决此问题的一般数学方法,此问题涉及到的各种情况; (2)将此问题分成若干个步骤; (3) 用简练的语句将各步表述出来. 举一反三: 则在 S= 1 I = 3 While I v s= sx I = I + 2 End

13、 While Print S End 【变式1】设计一个计算1 x 3X 5 x 7X 9X 11 x 13的算法图中给出程序的一部分, 横线上不能填入的数是() A. 13 B. 13.5 C. 14 D. 14.5 【解析】当I v 13成立时,只能运算 1X 3x 5x 7X 9x 11.故选 A. 【变式2】写出找出1至1 000内7的倍数的一个算法 解答:算法1: S1令 A=0; S2将A不断增加1,每加一次,就将 A除以7,若余数为0,则找 到了一个7的倍数,将其输出; S3 反复执行第二步,直到 A=1 000结束. 算法2 : 51 令 k=1; 52 输出k 7的值; 53

14、 将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是否为0 【思路点拨】因为a b R,解方程ax b 0时需要先对最高次项的系数 进行判断。 若a 0, 则方程的解为x b a 若a 0, 则需要再次判断 b是否为0, 若b 0, 则方程的解为全体实数, 若b 0, 则方程无实数解。 据此可以用条件语句来实现。 【解析】程序: INPUT “a,b=”; a,b IF

15、a=0 THEN b x a PRINT “原方程的根为” ;x ELSE IF b=0 THEN PRINT “方程无实数根” ELSE PRINT “方程的根为全体实数” END IF END IF END 程序框图: 构的运用与分类讨论的数学思想密切相连;设计算法时,什么地方要进行分类讨论,什么地 全面的了解;条件分支结 2 方就要用条件分支结构。 举一反三: 【变式1】写出用二分法求函数y f (x)在区间1, 2的零点(精确到0.01 )的程序 框图及相应程序。 【解析】 程序: a=1 b=2 DO EXIT 0 THEN IF f(a b)0 THEN 2 ELSE IFf (a

16、) f 0) b2 2 a b ELSE a 输出 END IF LOOP UNTIL b a 0.01 PRINT _2- 【例3】执行如图所示的框图,输入 N= 5,则输出的数等于() 【思路点拨】根据程序框图(算法流程图)分析出该程序框图的功能进行求解. 【解析】根据稈序框图町知,该程序框图的 功能是计算匚+一十十 zjHmi 丼 31 X2 2X33X4 ,一I山现在输入的A = 5,所以输出的结果 fi X ( K + I) 11111_丄 为 _1X2+2X3+3X4+4X5+5X6_2 +-寺+“+(|-5斗故选u| 【总结升华】识别运行算法框图和完善算法框图是高考的热点. 解答

17、这一类问题, 第一,要明确算法框图的顺序结构、选择结构和循环结构; 第二,要识别运行算法框图,理解框图所解决的实际问题; 第三,按照题目的要求完成解答对算法框图的考查常与数列和 函数等知识相结合,进一步强化框图问题的实际背景. 类型三:条件结构 2x 3(x 【例3】已知函数y 2 X2 2(x 框图。 【思路解析】分析算法写出算法 【解析】算法如下: 第一步:输入X ; 第二步:如果(X 0),那么使y 否则y x22 ; 第三步:输出y。 0) ,写出求该函数的函数值的算法并画出程序 0) 选择合适的逻辑结构画出程序框图。 2x 3, 程序框图如下: /输出/ (O; 【变式i】阅读如图的

18、程序框图, 若输出S的值为一7,则判断框内可填写( 【总结升华】求分段函数值的算法应用到条件结构,因此在程序框图的画法中需要引入 判断框,要根据题目的要求引入判断框的个数,而判断框内的条件不同,对应的框图中的内 容或操作就相应地进行变化 举一反三: A. i v 3? B. i v 4? C. i v 5? D. i v 6? 【解析】i = 1, s= 2 1 = 1; i = 3, s = 1 3= 2; i = 5, s = 2 5= 7.所以选 D. 2 【变式2】写出解方程ax x b 0的一个算法,并画出程序框图。 【解析】 算法步骤: 第一步:判断a是否等于0 如果a 0,则解得

19、x b; 如果a 0,则执行第二步; 第二步:计算 1 4ab ; 第三步:若0,则原方程无实数根;否则, 0,有 x1 2a 2a 第四步:输出方程无实数根的信息或x1、x 2。 类型四:循环结构 【例4】设计算法求 1 99 100 的值,并画出程序框图。 【思路点拨】(1)这是一个累加求和问题,共 99项相加; (2)设计一个计数变量,一个累加变量,用循环结构实现这一算法。 【解析】算法如下: 第一步:令s=o, i 1; 第二步:若i 99成立,则执行第三步; 否则,输出S,结束算法; 1 第三步:S S - i(i 1) 第四步:i i 1,返回第二步。 程序框图: 方法一:当型循环

20、程序框图: 5-(1 1 AH 1 如出/ 方法二:直到型循环程序框图: (W:i 还是直到型 【总结升华】利用循环结构表示算法,一定要先确定是利用当型循环结构, 循环结构;第二要选择准确的表示累计的变量;第三要注意在哪一步开始循环。 举一反三: 【变式】设计一个计算 10个数的平均数的算法,并画出程序框图 【解析】算法步骤如下: 第一步,令S=0. 第二步,令1= 1. 第三步,输入一个数 G. 第四步,令S=S+ G. 第五步,令1 = I + 1. 第六步,若I 10,转到第七步, 若I 99 PRINT s END 【点拨】在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注

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

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

23、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)辗转相除法与更相减损术是求两个正整数的最大公约数的方法,辗转 相除法用较大的数除以较小的数,直到大数被小数除尽结束运算,较小的数就是最大公约 数;更相减损术是用两数中较大的数减去较小的数,直到所得的差和较小数相等为止,这个 较小数就是这两个数的最大公约数一般情况下,辗转相除法

24、步骤较少,而更相减损术步骤 较多,但运算简易,解题时要灵活运用. (2)两个以上的数求最大公约数,先求其中两个数的最大公约数,再用所得的公约数与 其他各数求最大公约数即可. 举一反三: 【变1】求147,343,133的最大公约数. 【解析】先求147与343的最大公约数. 343 - 147= 196, 196- 147 = 49, 147 - 49= 98, 98 - 49 = 49, 所以147与343的最大公约数为49. 再求49与133的最大公约数 133 49= 84, 84- 49= 35, 49 35= 14, 35 14= 21, 21 14= 7, 14 7= 7. 所以1

25、47,343,133的最大公约数为7. 类型六:秦九韶算法 【例8】用秦九韶算法写出求多项式f(x) = 1+ x+ 0.5x2+ 0.016 67X3 + 0.041 67(+ 0.008 33x5在x= 0.2时的值的过程. 【思路点拨】秦九韶算法是我国南宋的数学家秦九韶首先提出来的. (1) 特点:它通过一次式的反复计算,逐步计算高次多项式的求值问题,即将一个n次 多项式的求值问题,归结为重复计算n个一次式(aix ai 1).即 f (x) (L (anX an 1)x an 2)x L ajx a. (2) 具体方法如下:已知一个一元n次多项式f (x) anxn an 1xn 1

26、La1x a0 0.当 X=X0,我们可按顺序一项一项地计算,然后相加,求得f(X。). 【解析】先把函数整理成f(x)= (0.008 33 x+ 0.041 67)x+ 0.166 67)x+ 0.5)x+ 1)x+ 1, 按照从内向外的顺序依次进行. x= 0.2, a5= 0.008 33, v0= a5= 0.008 33; a4= 0.041 67, v1= V0 x+ a4= 0.04; a3= 0.016 67, V2= V1X+ a3= 0.008 67; a2= 0.5, V3= V2X+ a2= 0.498 27; a1 = 1, V4= v3x+ a1= 0.900 35; a0= 1, V5= V4x+ a0= 0.819 93; 所以 f( 0.2) = 0.819 93. 【总结升华】秦九韶算法是多项式求值的最优算法,特点是: (1) 将高次多项式的求值化为一次多项式求值; (2) 减少运算次数,提高效率; (3) 步骤重复实施,能用计算机操作. 秦九韶算法的原理是 v0an vk vk 1x an k (k 1,2,3,L ,n) 在运用秦九韶算法进行计算时, 应注意每一步的运算结果, 像这种一环扣一环的运算, 如果错一步, 则下一步, 一直到最后一步就会全部算错 同学们在计算这种题时应格外小心 举一反三: 【变式】用秦九

温馨提示

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

评论

0/150

提交评论