- 2021-05-22 发布 |
- 37.5 KB |
- 28页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
2020届二轮复习程序框图与算法教案(全国通用)
程序框图与算法 高考要求 算法 初步 要求层次 重难点 算法及其程序框图 算法的含义 A (1)算法的含义、程序框图 ① 了解算法的含义,了解算法的思想. ② 理解程序框图的三种基本逻辑结构:顺序、条件分支、循环. (2)基本算法语句 理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义. 程序框图的三种基本逻辑结构 B 基本算法语句 A 例题精讲 板块一:算法的含义与描述 知识内容 一、算法的含义与描述 1.算法的概念:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照一定规则解决某一类问题的明确的和有限的步骤,称为算法(algorithm). 通常可以编成计算机程序,让计算机执行并解决问题. 2.算法的特征: ⑴有穷性:算法必须在执行有限步后结束,通常还理解为实际上能够容忍的合理限度; ⑵确定性:算法的每一个步骤必须有确定的含义; ⑶可行性:组成算法的每个步骤和操作必须是相当基本的,原则上都是能精确地执行的; ⑷输入:有零个或多个输入: ⑸输出:有一个或多个输出. 3.算法的描述: ⑴用自然语言;⑵用数学语言;⑶用算法语言(程序设计语言);⑷用程序框图(流程图). 4.算法的三种基本逻辑结构:顺序结构、条件(分支)结构和循环结构. ⑴顺序结构:最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.如下图,只有在执行完A框指定的操作后,才能接着执行B框指定的操作; ⑵条件(分支)结构:在一个算法中,用来处理需要根据条件是否成立有不同的流向的结构. 常见的条件结构的程序框图有下面两种形式: ⑶循环结构:从某处开始,按照一定的条件反复执行某些步骤的情况,就是循环结构,其中反复执行的步骤称为循环体. 常见的循环结构的框图对应为: <教师备案> 1.在画程序框图时,从开始框沿箭头必须能到达结束框,特别是条件分支结构应沿每条支路都能到达结束框,流程线必须加箭头表示顺序. 2.对于循环结构有如下需要注意的情况: ⑴循环结构非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确; ⑵循环结构要有中止循环体的条件,不能无休止的运算下去,循环结构中一定包含条件结构,如就是中止循环的条件; ⑶循环结构的关键是,要理解“累加变量”和“用代替”,是一个累加变量, 是计数变量,每循环一次,和都要发生变化,这两步要重复计算若干次; ⑷一种循环结构是先判断是否成立,若是,执行循环体;若否,则中止循环,像这样,每次执行循环体前对控制循环条件进行判断,条件满足时执行循环体,不满足则停止,称为当型循环.除了当型循环外,常用的循环结构还有直到型循环. 5.程序框图的概念:用一些通用的图形符号构成的一张图来表示算法,称为程序框图(简称框图). 常用图形符号: 图形符号 名称 符号表示的意义 起、止框 框图的开始或结束 输入、输出框 数据的输入或者结果的输出 处理框 赋值、执行计算语句、结果的传送 判断框 根据给定条件判断 流程线 流程进行的方向 连结点 连结另一页或另一部分的框图 <教师备案> 1.画程序框图的规则: ⑴ 使用标准的框图的符号; ⑵ 框图一般按从上到下、从左到右的方向画; ⑶ 除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的惟一符号; ⑷ 一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果; ⑸ 在图形符号内描述的语言要非常简练清楚. 2.画程序框图要注意的几点: ⑴起、止框是任何流程不可少的,表示程序的开始和结束; ⑵输入、输出框可以用在算法中任何需要输入、输出的位置; ⑶算法中间要处理数据或计算,可分别写在不同的处理框内; ⑷当算法要求你对两个不同的结果进行判断时,要写在判断框内; ⑸一个算法步骤到另一个算法步骤用流程线连结; ⑹如果一个框图需要分开来画,要在断开处画上连结点,并标出连结的号码. 如:用海伦公式求任意三角形的面积的程序框图,其中断开处画上连结点,并标出连结的号码. 典例分析: 算法的含义 【题1】 看下面的四段话,其中不是解决问题的算法的是( ) A.从济南到北京旅游,先坐火车,再坐飞机抵达 B.解一元一次方程的步骤是去分母.去括号.移项.合并同类项.系数化为1 C.方程有两个实根 D.求的值,先计算,再由于,,,最终结果为 【考点】算法的含义 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】C 【题1】 算法的有穷性是指( ) A.算法最后包含输出 B.算法的每个操作步骤都是可执行的 C.算法的步骤必须有限 D.以上都不正确 【考点】算法的含义 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】C 【题2】 早上从起床到出门需要洗脸刷牙(5min).刷水壶(2min).烧水(8min).泡面(3min).吃饭(10min) .听广播(8min)几个步骤,下列选项中最好的一种算法为( ) A.s1洗脸刷牙s2刷水壶s3烧水s4泡面s5吃饭s6听广播 B.s1刷水壶s2烧水的同时洗脸刷牙s3泡面s4吃饭s5听广播 C.s1刷水壶s2烧水的同时洗脸刷牙s3泡面s4吃饭的同时听广播 D.s1吃饭的同时听广播s2泡面s3烧水的同时洗脸刷牙s4刷水壶 【考点】算法的含义 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】C 【题3】 已知直角三角形两直角边长为,,求斜边长的一个算法分下列三步: ①计算;②输入直角三角形两直角边长,的值; ③输出斜边长的值,其中正确的顺序是( ) A.①②③ B.②③① C.①③② D.②①③ 【考点】算法分析 【难度】2星 【题型】选择 【关键词】无北京师大附中,2009,高二,期中考试 【解析】 【答案】D 算法分析(自然语言与数学语言) 【题4】 算法: S1 输入 S2 判断是否是,若,则满足条件,若,则执行S3 S3 依次从到检验能不能整除,若不能整除,满足上述条件的是( ) A.质数 B.奇数 C.偶数 D.约数 【考点】算法分析 【难度】2星 【题型】选择 【关键词】 【解析】 【答案】A 【题5】 用二分法设计一个求方程的近似根的算法. 【考点】算法分析 【难度】3星 【题型】解答 【关键词】无 【解析】 算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005, 则不难设计出以下步骤: 第一步:令.因为,,所以设. 第二步:令,判断是否为,若则,则为所求;若否,则继续判断大于还是小于. 第三步:若,则令;否则,令. 第四步:判断是否成立?若是,则之间的任意取值均为满足条件的近似根;若否,则返回第二步. 小结:算法具有以下特性:(1)有穷性;(2)确定性;(3)顺序性;(4)不惟一性;(5)普遍性 【答案】 【题1】 分别用自然语言.数学语言写出对任意四个整数...,求出最小值的算法. 【考点】算法分析 【难度】3星 【题型】解答 【关键词】无 【解析】 自然语言: S1:先将这四个整数的值输入; S2:假定序列中的整数为“最小值”; S3:将序列中的数与“最小值”比较,如果它小于此“最小值”,这时就假定“最小值”是这个整数; S4:对序列中整数.,重复S3; S5:在序列中一直到没有可比的数为止,这时假定的“最小值”就是这个序列中的最小值. 数学语言: S1:输入...四个数的值; S2:; S3:如果,则; S4:如果,则; S5:如果,则; S6:就是...中的最小值. 【答案】 【题2】 某批发商按客户订单数额的大小分别给予不同的优惠折扣.计算客户应付货款的算法步骤如下: S1 输入订单数额(单位:件);输入单价A(单位:元); S2 若,则折扣率; 若,则折扣率; 若,则折扣率; 若,则折扣率; S3 计算应付货款(单位:元); S4 输出应付货款. 已知一客户买400件时付款38000元,则应付货款为88200元时订单数额是 . 【考点】算法分析 【难度】2星 【题型】填空 【关键词】2009,宣武,一模 【解析】 由题意有. 不妨设应付货款为88200时的订单数额. 于是有.满足题意. 【答案】980 算法的三种基本逻辑结构与程序框图 【题3】 算法的三种基本结构是( ) A.顺序结构、选择结构、循环结构 B.顺序结构、流程结构、循环结构 C.顺序结构、分支结构、流程结构. D.流程结构、循环结构、分支结构 【考点】算法的含义 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】A 【题1】 下面的问题中必须用条件结构才能实现的个数是( ) (1)已知三角形三边长,求三角形的面积; (2)求方程(为常数)的根; (3)求三个实数中的最大者; (4)求的值. A.4个 B.3个 C.2个 D.1个 【考点】算法的含义 【难度】1星 【题型】选择 【关键词】无 【解析】 (2),(3)是必须得用的,(1)可以直接用海伦公式,(4)可以直接用等差数列求和公式. 【答案】C 【题2】 在右面的程序框图中,若,则输出的值是( ) A.2 B.3 C.4 D.5 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】选择 【关键词】2018,丰台,一模,第3题 【解析】 ,对应的. 【答案】C 【题3】 在右面的程序框图中,若,则输出的值是( ) A.2 B.3 C.4 D.5 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】选择 【关键词】2018,丰台,一模,第3题 【解析】 ,对应的. 【答案】C 【题1】 已知程序框图如图所示,则该程序框图的功能是( ) A.求数列的前10项和 B.求数列的前10项和 C.求数列的前11项和 D.求数列的前11项和 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】选择 【关键词】2018,石景山,一模,文科第6题 【解析】 注意和的步长分别是和. 【答案】B 【题2】 已知某程序框图如图所示,则执行该程序后输出的结果是( ) A. B. C. D. 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】选择 【关键词】2018,海淀,一模,第7题 【解析】 ∵,∴对应的. 【答案】A 【题1】 某地区为了了解岁老人的日平均睡眠时间(单位:h).随机选择了50位老人的进行调查.下表是这50位老人日睡眠时间的频率分布表. 序号 () 分组 (睡眠时间) 组中值 () 频数 (人数) 频率 () 1 [4,5 6 2 [5,6 10 3 [6,7 20 4 [7,8 10 5 [8,9] 4 在上述统计数据中,一部分计算见算法流程图,则输出的的值是 . 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】填空 【关键词】2018,江苏,高考,第7题 【解析】 由算法流程知. 【答案】 【题1】 右图是一个程序框图,其中判断框①处缺少一个判断条件,②为一输出框. ⑴若在①处填空“”,请求出在输出框②处输出的的值; ⑵若在①处填空“”,请求出在输出框②处输出的的值. 【考点】算法的三种基本逻辑结构与程序框图 【难度】3星 【题型】解答 【关键词】2009,海淀,高二,期中测试 【解析】 ⑴不考虑的值,循环几次看的值与的值的关系:⑵不考虑的值,循环几次看的值与的值的关系. 【答案】⑴;⑵ 【题2】 半径为的圆面积计算公式为,写出计算圆面积的算法,并画出框图. 【考点】算法的三种基本逻辑结构与程序框图 【难度】1星 【题型】解答 【关键词】无 【解析】 S1:输入任意一个正实数; S2:计算以为半径的圆的面积; S3:输出圆的面积. 程序框图如右. 【答案】 【题1】 画出求的程序框图. 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】解答 【关键词】无 【解析】 S1:设T; S2:设; S3:设T=T*; S4:设; S5:如果执行S6,否则执行S3; S7:输出T,结束算法. 程序框图如右. 【答案】 【题2】 写出求解一般的二元一次方程组的程序框图. 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】解答 【关键词】无 【解析】 可用公式法求解,对应的程序框图如右: 【答案】 【题1】 画出求解方程(为常数)的程序框图. 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】解答 【关键词】无 【解析】 要求解此方程,需要分情况讨论: 时,此方程有无穷多解,或者无解;时,此方程有唯一解, 需要用一个条件结构来描述. 框图如下面所示,也可以对解的情况进行进一步讨论,写成下面右边的形式. 【答案】 【题2】 已知算法:(1)指出其功能(用算式表示),(2)将该算法用流程图来描述之. S1 输入; S2 若,执行S3;否则,执行S6; S3 ; S4 输出; S5 结束; S6 若,执行S7;否则执行S10; S7 ; S8 输出; S9 结束; S10 ; S11 输出; S12 结束. 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】解答 【关键词】无 【解析】 这是一个输入的值,求值的函数的算法.其中其流程图如下. 【答案】 板块二:基本算法语句 知识内容 Basic语言(A版) 1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本的语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句. 2.赋值语句:表明赋给某一个变量一个具体的确定值的语句. 一般格式:变量=表达式.其中, “=”叫做赋值号. 作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值. 3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句. 一般格式:INPUT “提示内容”;变量 例:INPUT “Maths=”; a, INPUT “Chinese=”;b c=(a+b)/2 END 表示输入数学与语文的成绩,其中c表示它们的平均数. 4.输出语句:以某种形式把求解结果输出的语句. 一般格式:PRINT “提示内容”;表达式 如上例中输出平均成绩可以用:PRINT “The average=”;(a+b)/2 5.条件语句:处理条件结构的算法语句.有以下两种基本格式: 一般格式1:IF 条件 THEN 语句体 END IF 计算机执行语句时,先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句. 一般格式2:IF 条件 THEN 语句体1 ELSE 语句体2 END IF 计算机执行语句时,先对IF后条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2. 6.循环语句:处理算法中的循环结构的语句; 有两种基本语句:UNTIL语句和WHILE语句,前者称为直到型循环语句,后者称为当型循环语句. UNTIL语句:DO 循环体 LOOP UNTIL 条件 WHILE语句的一般格式:WHILE 条件 循环体 WEND Scilab程序语言(B版) 1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句. 2.赋值语句:表明赋给某一个变量一个具体的确定值的语句. 一般格式:变量名表达式;其中“”叫做赋值号. 作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值. 3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句. Scilab中的输入语句常用的是:“input”; 一般格式:变量名=input(“提示内容”) 例:a=input(“x1”);b=input(“x2”);aver=(a+b)/2 表示输入,的值,求它们的算术平均数, 在Scilab界面内运行结果如下: -->a=input("x1");b=input("x2");aver=(a+b)/2 x1--> 此时通过键盘输入x1的值,如,再按“Enter”键,界面出现: x2--> 输入x2的值,如,再按“Enter”键,这时界面出现: aver = 5. 4.输出语句:以某种形式把求解结果输出的语句. Scilab中有:print,write,format,printf,disp等输出语句,主要介绍print语句: 一般格式:print(%io(2),表达式);其中参数%io(2)表示在屏幕上输出. 5.条件语句:处理条件分支结构的算法语句. Scilab程序语言中常用的条件语句为if语句. 一般格式:if 表达式 语句序列1; else 语句序列2; end 最简格式:if 表达式 语句序列1; end 6.循环语句:处理算法中的循环结构的语句; Scilab有两种循环语句:for循环和while循环. for循环的格式:for 循环变量=初值:步长:终值 循环体; end while语句的一般格式:while 表达式(即条件) 循环体; end <教师备案> 1.计算机能够直接或间接理解的程序语言有很多种,比如C语言,Basic语言,以及一些应用数学软件:Matlab,Mathsmatics,Scilab对应的计算机语言.这里的基本语句结构在这些语言中都是存在的,但是对应不同的程序语言,都会有自己的输入指令与方法.这里是以一种语言为例,让大家理解程序语句的含义,为以后深入学习程序设计打下基础. 2.赋值语句: ⑴赋值号左边只能是变量名,而不是表达式;如是错误的; ⑵赋值号左右不能对换,是将赋值号右边的表达式的值赋给左边的变量;如表示用的值替代变量原先的值,与不同; ⑶不能利用赋值语句进行代数式(或符号)的演算;如是不能实现的;并且在一个赋值语句中,只能给一个变量赋值; ⑷赋值号与数学中的等号的意义不同,执行赋值语句后,右面表达式的值会赋给左边,如果左边变量原来有一个值,会自动被冲掉,如表示将的原值加再赋给,即的值加. 3.输入语句:在某些算法中,变量的初值要根据情况经常地改变,一般我们把程序与初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要程序运行时,输入相应的数据即可,这个过程在程序语言中,用“输入语句”来控制.输入语句中还有read输入语句等. 输入语句要求输入的一般都是具体的常数,也可输入单个或多个字符,格式为: 变量名=input(“提示内容”,“string”),string表示输入字符型变量. 4.循环语句: for语句:先把初值赋给循环变量,记下终值和步长,循环变量增值到超过终值时,执行end后面的语句,不超过时,执行for后面的语句;循环变量起计数作用,控制算法中循环次数,有初值与终值,步长是指循环变量每次增加的值,步长为时,可以省略; while语句:先判断条件是否成立,并在符合条件时,执行循环体;直到某次不符合时,跳到end后面的语句. 对应的基本框图是: 5.在程序语言中,乘、除、乘方、求平方根、绝对值,分别用下列符号表示:*、/、^、sqrt()、abs().程序语言中,一般“=”为赋值号,“==”表示等号. 、、分别写成:、、. 在程序中,如果赋值语句后面用分号隔开,则被赋值的变量不会输出,一般不随便使用逗号或句号,而是直接使用回车或空格. 在Scilab语句中,变量名一般用一个字母表示,不可以用几个字母表示.如可以用s表示变量名,但不能用sum表示变量名,但在有些程序语言中,可以用多个字母表示变量名. 典例分析: Basic语言(A版) 【题1】 下列关于条件语句的叙述正确的是( ) A.条件语句中必须有ELSE和END IF B.条件语句中可以没有END IF C.条件语句中可以没有ELSE,但必须有END IF结束 D.条件语句中可以没有END IF,但必须有ELSE 【考点】Basic语言 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】C 【题2】 下边程序运行后的输出结果为( ) A. B. C. D. 【考点】Basic语言 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】C 【题3】 下边方框中为一个求20个数的平均数的程序,则在横线上应填的语句为( ) A.i>20 B.i<20C.i>=20 D.i<=20 【考点】Basic语言 【难度】1星 【题型】选择 【关键词】无 【解析】 该算法程序中,使用了UNTIL循环语句,按照该种循环特征,当某一次条件满足时,不再执行循环体,跳到LOOP UNTIL句的后面,执行其他的语句.根据问题要求,应填i>20. 【答案】A 【题2】 将下列的程序补充完整 INPUT x IF x<=0 THEN y=x*x—1; ELSE y=-x*x-1; END IF PRINT y END 输入,输出结果为_______;输入,输出结果为_____. 【考点】Basic语言 【难度】1星 【题型】填空 【关键词】无 【解析】 ,故;,;故输出的结果分别为; 【答案】 【题3】 分别用WHILE语句和UNTIL语句写出计算的值的算法,并写出程序框图. 【考点】Basic语言 【难度】2星 【题型】解答 【关键词】无 【解析】 WHILE语句: i=1 s=0 WHILE i<=100 s=s+1/i i=i+1 WEND PRINT s END UNTIL语句: i=1 s=0 DO s=s+1/i i=i+1 LOOP UNTIL i>100 PRINT s END 程序框图: 【答案】 【题1】 如图所示,在边长为的正方形的边上有一点,沿着折线,由点(起点)向点(终点)运动.设点运动的路程为,的面积为,求与之间的函数关系式.并画出程序框图,写出程序. 【考点】Basic语言 【难度】3星 【题型】解答 【关键词】无 【解析】 由题意可得 程序框图如图: 程序: INPUT “x=”;x IF x>=0 AND x<=4 THEN y=2*x ELSE IF x<=8 THEN y=8 ELSE y=2*(12-x) END IF END IF PRINT y END 【答案】 Scilab程序语言(B版) 【题1】 在界面内,输入如下程序: 在输入完程序,击键后,输出的值为( ) A. B. C. D. 【考点】Scilab程序语言 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】C 【题2】 下面程序输出的结果是 .(注:表示的绝对值) 【考点】Scilab程序语言 【难度】1星 【题型】填空 【关键词】2009,海淀,高二,期中测试 【解析】 【答案】 【题3】 在求时,下列程序中所缺少的一步是: s=0; for i=1:1:50 ____________ end print(%io(2),s) 如果要用while循环语句计算此式的值,请写出相应的程序. 【考点】Scilab程序语言 【难度】1星 【题型】填空 【关键词】无 【解析】 缺少的一步是:. 用while循环语句: s=0;i=1; while i<=50 s=s+i;i=i+1; end print(%io(2),s) 【答案】 【题1】 写出将任意三个整数按从小到大的顺序排列的算法,画出相关的程序框图,并写出程序. 【考点】Scilab程序语言 【难度】2星 【题型】解答 【关键词】无 【解析】 用数学语言写此排序算法: S1:输入、、三个数的值; S2:如果,则; S3:如果,则; S4:如果,则; S5:依次输出、、的值,即为所求的从小到大的排列. 程序框图: 程序: a=input(“a=”);b=input(“b=”);c=input(“c=”); if b 《九章算法》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数.以具体的例子来说明更相减损术求最大公约数的原理: 以求和的最大公约数为例: , 每次操作后得到的两个数与前两个数的最大公约数相同,而且逐渐减少,故总能得到相等的两个数,即为所求的最大公约数. 2.辗转相除法 又称欧几里得算法,是由欧几里得在公元前300年左右首先提出来的求两个数的最大公约数的算法。 辗转相除法的步骤: 对于给定的两个数,以其中较大的数除以较小的数得到一个余数,将较小的数与余数看成一对新的数,重复上面的步骤,直到余数为零为止,此时上一步中较小的数即为所求的最大公约数。 以求和的最大公约数为例: ,故即为所求。 3.秦九韶算法——求多项式的值的算法 对于任意一个元的多项式,如何更快地计算它在某点所取到的值? 秦九韶算法: 已知一个多项式函数,计算多项式在某点处的函数值的一种算法,是我国古代数学家秦九韶提出的, 具体如下. 对任意一个元多项式, 改写成如下形式: , 求多项式的值时,先计算最内层括号内的一次多项式的值,即, 然后由内向外逐层计算一次多项式的值,即,,,. 这样,求一个次多项式的值,就转化为求个一次多项式的值. 令,则递推公式为,其中. 到目前为止,此算法仍然是世界上多项式求值的最先进的算法. 秦九韶算法与其它算法在计算量上面的比较:, ⑴直接求和法:先计算各个单项式的值,再把它们相加, 乘法次数为,加法次数; ⑵逐项求和法:先计算的各项幂的值,再分别相乘,计算幂值需要乘法次,将幂值与多项式系数相乘需要乘法次,故共需要乘法次,加法次. 此方法对直接求和法有所改进,但仍然比秦九韶算法计算量大很多. ⑶秦九韶算法:计算量仅为乘法次,加法次. 典例分析: 辗转相除法与更相减损术 【题1】 用辗转相除法计算和的最大公约数时,需要做的除法次数是 ( ) A.1 B.2 C.3 D.4 【考点】辗转相除法与更相减损术 【难度】1星 【题型】选择 【关键词】无 【解析】 ,,故只需要两步计算. 【答案】 【题2】 分别用辗转相除法与更相减损术求与的最大公约数,并且由此比较这两种算法. 【考点】辗转相除法与更相减损术 【难度】2星 【题型】解答 【关键词】无 【解析】 更相减损术: 故它们的最大公约数为. 辗转相除法: ;;故它们的最大公约数为. 联系:都是求最大公约数的方法; 区别:①计算上辗转相除法以除法为主,更相减损术以减法为主; ②计算次数上,辗转相除法计算次数相对较少,特别是当两个数差别较大时区别明显; ③从结果输出的时候看,辗转相除法当“余数为”时输出“除数”,更相减损术当“差和减数相等”时输出“差”. 【答案】 【题3】 求两个数的最大公约数还有一种方法叫辗转相除法,即对于任意两个正整数,用两个数中的较大的数除以较小的数,再将所得的商与较小的数组成一组新的数,用同样的方法处理,一直到所得到的两个数呈倍数关系,这时所得的较小的数即为所求的最大公约数. 如:求与的最大公约数: ,余数为,考虑和,此时有,考虑和,它们有倍数关系,故最大公约数为. 请写出利用辗转相除法求任意两个正整数的最大公约数的算法步骤,对应的程序框图以及程序. 【考点】辗转相除法与更相减损术 【难度】2星 【题型】解答 【关键词】无 【解析】 S1:输入两个正整数; S2:计算除以所得的余数; S3:如果,则执行S4,否则转到S6; S4:把赋予,把赋予; S5:执行S2; S6:输出. 辗转相除法(B版)程序: a=input(“a=”); b=input(“b=”); r=1; while r<>0 r=mod(a,b); a=b; b=r; end print(%io(2),b) //r=mod(a,b)的含义是r为a除以b的余数. 辗转相除法(A版)程序: INPUT (“a,b=”);a,b DO r=a MOD b a=b b=r LOOP UNTIL r=0 PRINT b END // r=a MOD b的含义是r为a除以b的余数 【答案】 秦九韶算法 【题1】 用秦九韶算法求次多项式,当时,求需要算乘方、乘法、加法的次数分别为( ) A. B. C. D. 【考点】秦九韶算法 【难度】2星 【题型】选择 【关键词】无 【解析】 【答案】D 【题2】 设计利用秦九韶算法计算次多项式当时的值的程序框图. 【考点】秦九韶算法 【难度】2星 【题型】解答 【关键词】无 【解析】 程序框图如下: 【答案】 课后作业 习题1. 指出下列哪一个不是算法 ( ) A.解方程的过程是移项和系数化为1 B.从济南到温哥华需要先乘火车到北京,再从北京乘飞机到温哥华 C.解方程 D.利用公式,计算半径为的圆的面积为 【考点】算法的含义 【难度】1星 【题型】选择 【关键词】无 【解析】 【答案】C 习题2. 设计一个算法求解方程组 【考点】算法分析 【难度】2星 【题型】解答 【关键词】无 【解析】 法一(高斯消元法) S1:①×5-②:; S2:解上式得; S3:再代入①求解得. S4:输出计算的结果. 法二(公式法) S1:,,,,,; S2:,,; S3:判断; S4:计算,. S5:输出计算的结果. 【答案】 习题1. 已知,写出求该函数的函数值的算法,并画出相应的程序框图. 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】解答 【关键词】无 【解析】 算法: S1:输入; S2:若,则,否则; S3:输出函数值. 程序框图如右. 【答案】 习题2. 已知程序框图如图所示,则执行该程序后输出的结果是_______________. 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】填空 【关键词】2018,海淀,一模,文科第13题 【解析】 ∵,∴对应的. 【答案】 习题1. 如图,下程序框图的程序执行后输出的结果是 . 【考点】算法的三种基本逻辑结构与程序框图 【难度】2星 【题型】填空 【关键词】2018,朝阳,一模,文科第11题 【解析】 将经过次运行后的值列表如下.于是. 1 2 3 4 5 ... ... 10 2 3 4 5 6 11 1 3 6 10 15 55 【答案】55 习题2. 写出下列程序的运行结果:______. i=0 s=0 WHILE i<=20 s=s+i i=i+1 WEND PRINT s 【考点】Basic语言 【难度】1星 【题型】填空 【关键词】无 【解析】 计数变量从开始,循环到为止,当时,跳出循环, 故;输出结果为; 【答案】 习题1. 为了在运行下列程序之后输出,键盘输入的值应为 . 【考点】Scilab程序语言 【难度】1星 【题型】填空 【关键词】2009,海淀,高二,期中测试 【解析】 【答案】或 习题2. 分别用自然语言、程序框图描述等值算法,并写出等值算法的程序. 【考点】辗转相除法与更相减损术 【难度】2星 【题型】解答 【关键词】无 【解析】 自然语言: S1:输入两个正整数; S2:如果不等于,则执行第三步(S3);否则转到第五步(S5); S3:把的差赋予; S4:如果,则把赋予,把赋予;否则把赋予,执行第二步(S2); S5:输出最大公约数. 程序(A版Basic语言): INPUT (“a,b=”);a,b WHILE a<>b IF a>b THEN a=a-b ELSE b=b-a END IF WEND PRINT b END 程序(B版Scilab程序语言): a=input(“a=”); b=input(“b=”); while a<>b if a>b a=a-b; else b=b-a; end end print(%io(2),b) 程序框图如下: 【答案】查看更多