- 2021-06-24 发布 |
- 37.5 KB |
- 25页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
2021届北师大版高考理科数一轮复习教师用书:第十二章 第2讲 算法与程序框图
第2讲 算法与程序框图 一、知识梳理 1.算法与程序框图 (1)算法 ①算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决. ②应用:算法通常可以编成计算机程序,让计算机执行并解决问题. (2)程序框图 定义:程序框图又称流程图,是一种用程序框图、流程线及文字说明来表示算法的图形. 2.三种基本逻辑结构 名称 内容 顺序结构 选择结构 循环结构 定义 由若干个依次执行的步骤组成,这是任何一个算法都离不开的基本结构 算法的流程根据条件是否成立有不同的流向,选择结构就是处理这种过程的结构 从某处开始,按照一定的条件反复执行某些步骤的结构,反复执行的步骤称为循环体 程序框图 常用结论 1.赋值号左边只能是变量(不能是表达式),在一个赋值语句中只能给一个变量赋值. 2.直到型循环是“先循环,后判断,条件满足时终止循环”;当型循环则是“先判断,后循环,条件满足时执行循环”;两者的判断框内的条件表述在解决同一问题时是不同的,它们恰好相反. 二、教材衍化 1.如图为计算y=|x|函数值的程序框图,则此程序框图中的判断框内应填________. 解析:输入x应判断x是否大于等于零,由图知判断框应填x<0. 答案:x<0 2.执行如图所示的程序框图,则输出S的值为________. 解析:按照程序框图依次循环运算,当k=5时,停止循环,当k=5时,S=sin=. 答案: 一、思考辨析 判断正误(正确的打“√”,错误的打“×”) (1)一个程序框图一定包含顺序结构,但不一定包含条件结构和循环结构.( ) (2)条件结构的出口有两个,但在执行时,只有一个出口是有效的.( ) (3)输入框只能紧接开始框,输出框只能紧接结束框.( ) (4)输入语句可以同时给多个变量赋值.( ) (5)在算法语句中,x=x+1是错误的.( ) 答案:(1)√ (2)√ (3)× (4)√ (5)× 二、易错纠偏 (1)注意循环结构中控制循环的条件; (2)注意区分程序框图是条件结构还是循环结构. 1.若[x]表示不超过x的最大整数,执行如图所示的程序框图,则输出S的值为________. 解析:由程序框图可以看出,当n=8时,S>6时,程序结束,故输出S=[]+[]+[]+[]+[]=7. 答案:7 2.更相减损术是出自中国古代数学专著《九章算术》的一种算法,其内容如下:“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”如图是关于该算法的程序框图,如果输入a=153,b=119,那么输出的a的值是________. 解析:第一次循环得,a=153-119=34;第二次循环得,b=119-34=85;第三次循环得,b=85-34=51;第四次循环得,b=51-34=17;第五次循环得,a=34-17=17,此时a=b,输出a=17. 答案:17 顺序结构与条件结构(自主练透) 1.给出一个如图所示的程序框图,若要使输入的x值与输出的y值相等,则这样的x值的个数是( ) A.1 B.2 C.3 D.4 解析:选C.由程序框图知y= 由已知得或或解得x=0或x=1或x=3,这样的x值的个数是3. 2.(2020·江西新余模拟)定义运算a⊗b为执行如图所示的程序框图输出的S的值,则式子⊗的值是( ) A.-1 B. C.1 D. 解析:选D.由程序框图可知程序的功能是计算并输出分段函数S=的值,因为⊗=1⊗,且1>-,所以1⊗=1×=,故选D. 3.(2020·北京第八十中学阶段测评)阅读如图所示的程序框图,如果输出的函数值在区间内,则输入的实数x的取值范围是( ) A.[-2,2] B.[0,2] C.[-2,-1] D.[-2,0] 解析:选D.由程序框图可得分段函数y=令2x∈,则x∈[-2,0],所以输入的实数x的取值范围是[-2,0].故选D. 顺序结构和条件结构的运算方法 (1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤、赋值量及其范围进行逐步运算即可. (2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断. (3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支. 循环结构(多维探究) (1)(2019·高考全国卷Ⅲ)执行右边的程序框图,如果输入的ε为0.01,则输出s的值等于( ) A.2- B.2- C.2- D.2- 第(1)题图 第(2)题图 (2)(2020·益阳、湘潭调研)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法,如图所示的程序框图给出了利用秦九韶算法求多项式值的一个实例.若输入n,x的值分别为3,3,则输出v的值为( ) A.15 B.16 C.47 D.48 【解析】 (1)执行程序框图,x=1,s=0,s=0+1=1,x=,不满足x<ε=, 所以s=1+=2-,x=,不满足x<ε=, 所以s=1++=2-,x=,不满足x<ε=, 所以s=1+++=2-,x=,不满足x<ε=, 所以s=1++++=2-,x=,不满足x<ε=, 所以s=1+++++=2-,x=,不满足x<ε=, 所以s=1++++…+=2-,x=,满足x<ε=, 输出s=2-,选C. (2)执行程序框图,n=3,x=3,v=1,i=2≥0,v=1×3+2=5,i=1≥0;v=5×3+1=16,i=0≥0;v=16×3+0=48,i=-1<0,退出循环,输出v的值为48.故选D. 【答案】 (1)C (2)D 角度二 由输出结果判断输入量的值 (1)(2020·黑龙江哈尔滨六中期中)执行如图所示的程序框图,若输出的结果是,则输入的a为( ) A.3 B.6 C.5 D.4 (2)(2020·安徽江南十校第二次联考)元朝著名数学家朱世杰在《四元玉鉴》中有一首诗:“我有一壶酒,携着游春走,遇店添一倍,逢友饮一斗,店友经四处,没了壶中酒,借问此壶中,当原多少酒?”用程序框图表达如图所示,即最终输出的x=0,则输入的x值为( ) A. B. C. D. 【解析】 (1)第1次循环,n=1,S=;第2次循环,n=2,S=+;第3次循环,n=3,S=++;第4次循环,n=4,S=+++=.因为输出的结果为,所以判断框的条件为n<4,所以输入的a为4.故选D. (2)输入x,i=1;x←2x-1,i=2;x←2(2x-1)-1=4x-3,i=3;x←2(4x-3)-1=8x-7,i=4;x←2(8x-7)-1=16x-15,i=5,退出循环.依题意可知16x-15=0,解得x=.故选A. 【答案】 (1)D (2)A 角度三 辨析程序框图的算法功能 (1)(2020·河北许昌模拟)如图所示的程序框图的功能是( ) A.求1-+-+…-的值 B.求1++++…+的值 C.求1++++…+的值 D.求1-+-+…+的值 (2)如图所示的程序框图的算法思路源于《算法统宗》中的“李白沽酒”问题,则该程序框图的功能是( ) A.输入a的值,计算a·22 019-3×22 018-3 B.输入a的值,计算a·22 020-3×22 019-3 C.输入a的值,计算a·22 019-3×(1+2+22+…+22 018) D.输入a的值,计算a·22 020-3×(1+2+22+…+22 019) 【解析】 (1)输入a=1,n=1,S=0;S=1,a=-1,n=3;S=1-,a=1,n=5;S=1-+,a=-1,n=7;S=1-+-,a=1,n=9;…;S=1-+-+…-,a=1,n=21,21>19,退出循环.输出S=1-+-+…-,故选A. (2)由程序框图可知,i=1,m=2(2a-3)-3=a·22-3×(2+1),1<2 019成立;i=2,m=2[a·22-3×(2+1)]-3=a·23-3×(22+2+1),2<2 019成立;…;i=2 019,m=a·22 020-3×(1+2+…+22 019),2 019<2 019不成立,结束循环.故输出的m=a·22 020-3×(1+2+…+22 019),所以该程序框图的功能是输入a的值,计算a·22 020-3×(1+2+22+…+22 019).故选D. 【答案】 (1)A (2)D 角度四 完善程序框图 (1)(2019·高考全国卷Ⅰ)如图是求的程序框图,图中空白框中应填入( ) A.A= B.A=2+ C.A= D.A=1+ (2)如图所示的程序框图是为了求出满足2+++…+<2 019的最大正整数n的值,那么在中,应填入( ) A.T<2 019 B.T≤2 019 C.T≥2 018 D.T≥2 019 【解析】 (1)A=,k=1,1≤2成立,执行循环体;A=,k=2,2≤2成立,执行循环体;A=,k=3,3≤2不成立,结束循环,输出A.故空白框中应填入A=.故选A. (2)执行程序框图,T=0,i=1;T=0+2=2,i=2;T=2+=2+,i=3;…;T=2+++…+,i=i+1.由题中程序框图的功能是求出满足2+++…+<2 019的最大正整数n的值,知T=2+++…+≥2 019满足判断框内成立的条件,此时结束循环.故判断框中应填T≥2 019.故选D. 【答案】 (1)A (2)D 与循环结构有关问题的常见类型及解题策略 (1)已知程序框图,求输出的结果,可按程序框图的流程依次执行,最后得出结果. (2)完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式. (3)对于辨析程序框图功能问题,可将程序执行几次,即可根据结果作出判断. [提醒] (1)注意区分当型循环和直到型循环. (2)循环结构中要正确控制循环次数. (3)要注意各个框的顺序. 1.执行如图所示的程序框图,其中t∈Z,若输入的n=5,则输出的结果为( ) A.48 B.58 C.68 D.78 解析:选B.由a=7t+2,t∈Z可知,a被7整除后的余数为2.n=5,a=5×5+3=28,28=7×4,不满足条件;n=5+2=7,a=5×7+3=38,38=7×5+3,不满足条件;n=7+2=9,a=5×9+3=48,48=7×6+6,不满足条件;n=9+2=11,a=5×11+3=58,58=7×8+2,满足条件.故输出的a=58. 2.(2020·内蒙古鄂尔多斯西部四校联考)秦九韶是我国南宋时期的数学家,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.下面的程序框图是秦九韶算法的一个实例.执行程序框图,若输入n,x的值分别为3,3,且输出v的值为0,则y的值为( ) A.3 B.-1 C.1 D.5 解析:选B.输入n=3,x=3,v=1,i=2,第一次循环,v=y+2,i=1;第二次循环,v=y(y+2)+1,i=0;结束循环.因为输出的v=0,所以y(y+2)+1=0,所以y=-1.故选B. 第2题图 第3题图 3.(2020·安徽黄山山质检)执行如图所示的程序框图,若输出的S值为-20,则在判断框内应填写( ) A.i>3 B.i<4 C.i>4 D.i<5 解析:选D.执行程序框图,i=1,S=10,满足判断框内的条件,第1次执行循环体,S=10-21=8,i=2,满足判断框内的条件,第2次执行循环体,S=8-22=4,i=3,满足判断框内的条件,第3次执行循环体,S=4-23=-4,i=4,满足判断框内的条件,第4次执行循环体,S=-4-24=-20,i=5,此时,应该不满足判断框内的条件,退出循环.输出的S值为-20,则判断框内应填写i<5,故选D. 基本算法语句(自主练透) 1.设计一个计算1×3×5×7×9×11×13的算法,下面给出了程序的一部分,则在①处不能填入的数是( ) S=1 i=3 While i<① S=S*i i=i+2 Wend Print S End A.13 B.13.5 C.14 D.14.5 解析:选A.若填13,当i=11+2=13时,不满足条件,终止循环,因此得到的是1×3×5×7×9×11的计算结果,故不能填13,但填的数字只要超过13且不超过15时均可保证终止循环,得到的是1×3×5×7×9×11×13的计算结果. 2.表示函数y=f(x)的程序如图所示 输入 x If x>0 Then y=1 Else If x=0 Then y=0 Else y=-1 End If End If 输出 y 则关于函数y=f(x)有下列结论: ①y=f(x)的图象关于原点对称; ②y=f(x)的值域为[-1,1]; ③y=f(x)是周期为1的周期函数; ④y=f(x)在R上是增函数; ⑤函数y=f(x)-kx(k>0)有三个零点. 其中正确结论的序号为________.(填上所有正确结论的序号) 解析:由程序知y=f(x)=, 其图象如图 图象关于原点对称,①正确;值域为{1,0,-1},②错误;不是周期函数,在R上也不是增函数,③④错误;当k>0时,y=f(x)与y=kx有三个交点,故⑤正确. 答案:①⑤ (1)条件语句、输入与输出语句,要注意赋值语句一般格式中的“=”不同于等式中的“=”,其实质是计算“=”右边表达式的值,并将该值赋给“=”左边的变量. (2)解决此类问题关键要理解各语句的含义,以及基本算法语句与算法结构的对应关系. [基础题组练] 1.(2020·陕西汉中模拟)执行如图所示的程序框图,输出K的值为( ) A.99 B.98 C.100 D.101 解析:选A.执行程序框图,得K=1,S=0;S=0+lg=lg 2,K=2;S=lg 2+lg =lg 3,K=3;S=lg 3+lg =lg 4,K=4;S=lg 4+lg =lg 5,K=5;…;S=lg 98+lg =lg 99,K=99;S=lg 99+lg =lg 100=2,退出循环.所以输出K=99,故选A. 2.(2020·广东江门调研)执行如图所示的程序框图,若判断框内为“i≤3”,则输出S=( ) A.2 B.6 C.10 D.34 解析:选D.因为“i≤3”,所以执行程序框图,第一次执行循环体后,j=2,S=2,i=2≤3;第二次执行循环体后,j=4,S=10,i=3≤3;第三次执行循环体后,j=8,S=34,i=4>3,退出循环.所以输出S=34.故选D. 3.(2020·河南洛阳质检)执行如图所示的程序框图,若输出的S=,则判断框内填入的条件不可以是( ) A.k≤7 B.k<7 C.k≤8 D.k<8 解析:选C.模拟执行程序框图,可得S=0,k=0;k=2,S=;k=4,S=+;k=6,S=++;k=8,S=+++=.由题意,此时应不满足条件,退出循环,输出S的值为.结合选项可得判断框内填入的条件不可以是“k≤8”.故选C. 4.(2020·重庆调研)执行如图所示的程序框图,当输出的值为1时,输入的x值是( ) A.±1 B.1或 C.-或1 D.-1或 解析:选C.因为输出的值为1,所以根据程序框图可知或得x=1或x=-,故选C. 5.(2020·陕西商洛模拟)执行如图所示的程序框图,输出的n的值是( ) A.5 B.7 C.9 D.11 解析:选C.法一:执行程序框图,n=1,S=0;S=0+=,n=3;S=+=,n=5;S=+=,n=7;S=+=,n=9,此时满足S≥,退出循环.输出n=9,故选C. 法二:由程序框图知,该程序框图的作用是由++…+==≥,解得n≥7,所以输出的n的值为7+2=9,故选C. 6.执行如图所示的程序框图,如果输入的x,y,z的值分别为1,2,3,则输出的S等于( ) A. B. C. D. 解析:选C.k=6,S=+2=4,y=1,x=4;k=5,S=+1=,y=4,x=;k=4,S=+4=,y=,x=;k=3,S=+=,y=,x=;k=2,终止循环,输出的S=.选C. 7.(2020·黑龙江哈尔滨四校联考)已知函数f(x)=cos ,执行如图所示的程序框图,则输出的S的值为( ) A.670 B. C.671 D.672 解析:选C.执行程序框图,y=f(1)=cos =,S=0+=,n=1+1=2;y=f(2)=cos =-,S=,n=2+1=3;y=f(3)=cos π=-1,S=,n=3+1=4;y=f(4)=cos =-,S=,n=4+1=5;y=f(5)=cos =,S=+=1,n=6;y=f(6)=cos 2π=1,S=1+1=2,n=7,…,直到n=2 016时,退出循环.因为函数y=cos 是以6为周期的周期函数,2 015=6×335+5,f(2 016)=cos 336π=cos(2π×138)=1,所以输出的S=336×2-1=671.故选C. 8.(2020·重庆巴蜀中学一模)执行如图所示的程序框图,若输入的a为24,c为5,输出的数为3,则输入的b有可能为( ) A.11 B.12 C.13 D.14 解析:选B.结合程序框图,若输出的数为3,则经过循环之后的b=a+3=27,由27÷5=5……2,并结合循环结构的特点可得,输入的b除以5的余数为2,结合选项可得,b有可能为12,故选B. 9.(2020·陕西彬州第一次质监)如图1是某高三学生进入 高中三年来的数学考试成绩茎叶图,第1次到第14次的考试成绩依次记为A1,A2,…,A14.如图2是统计茎叶图中成绩在一定范围内考试次数的一个程序框图,执行程序框图,输出的结果是( ) A.7 B.8 C.9 D.10 解析:选B.该程序框图的作用是求14次考试成绩超过90分的次数.根据茎叶图可得超过90分的次数为8,故选B. 10.(2020·湖南三湘名校联盟第一次联考)中国有个名句“运筹帷幄之中,决胜千里之外”.其中的“筹”原意是指《孙子算经》中记载的算筹,古代是用算筹来进行计算,算筹是将几寸长的小竹棍摆在平面上进行运算,算筹的摆放形式有纵横两种,如下表: 表示一个多位数时,像阿拉伯记数一样,把各个数位的数码从左到右排列,但各位数码的筹式需要纵横相间,个位,百位,万位用纵式表示,十位,千位,十万位用横式表示,以此类推,例如2 268用算筹表示为执行如图所示的程序框图,若输入的x=1,y=2,则输出的S用算筹表示为( ) 解析:选C.x=1,y=3,i=2;x=2,y=8,i=3;x=14,y=126,i=4.退出循环,输出S=1 764,用算筹表示为,故选C. 11.中国古代名著《孙子算经》中的“物不知数”问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”即“有数被三除余二,被五除余三,被七除余二,问该数为多少?”为解决此问题,现有同学设计如图所示的程序框图,则框图中的“”处应填入( ) A.∈Z B.∈Z C.∈Z D.∈Z 解析:选A.根据题意可知,此程序框图的功能是找一个满足下列条件的数a:a=3k+2,a=5n+3,a=7m+2,k,n,m∈Z,根据程序框图可知,数a已经满足a=5n+3,n∈Z,所以还要满足a=3k+2,k∈Z和a=7m+2,m∈Z并且还要用一个条件给出,即a-2既能被3整除又能被7整除,所以a-2能被21整除,故在“”处应填入∈Z,选A. 12.程序框图如图,若输入的S=1,k=1,则输出的S为________. 解析:第一次循环,k=2,S=4;第二次循环,k=3,S=11;第三次循环,k=4,S=26;第四次循环,k=5,S=57.此时,终止循环,输出的S=57. 答案:57 13.如图程序框图的算法思路源于我国古代数学名著《九章算术》中的“ 更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=________. 解析:开始:a=14,b=18, 第一次循环:a=14,b=4;第二次循环:a=10,b=4; 第三次循环:a=6,b=4;第四次循环:a=2,b=4; 第五次循环:a=2,b=2. 此时,a=b,退出循环,输出a=2. 答案:2 14.公元前6世纪的毕达哥拉斯是最早研究完全数的人.完全数是一种特殊的自然数,若一个数所有的真因子(即除了自身以外的约数)的和,恰好等于它本身,则称该数为完全数.如6的真因子有1,2,3,且1+2+3=6,故6是完全数.现为判断一个非零自然数是否是完全数,编拟如下的程序框图,则空白框内应填________. 解析:程序框图的循环结构部分的功能是累计非零自然数x的真因子之和,如果t=是整数,那么就将i这个数累加到变量S中,所以空白框内应填S=S+i. 答案:S=S+i 15.若[x]表示不超过x的最大整数,则图中的程序框图运行之后输出的结果为________. 解析:根据题意,得=[4.975]=4,所以该程序框图运行后输出的结果是40个0,40个1,40个2,40个3,40个4的和,所以输出的结果为S=40+40×2+40×3+40×4=400. 答案:400 [综合题组练] 1.执行如图的程序框图,若输入的n为2 018,则输出的是( ) A.前 1 008 个正偶数的和 B.前 1 009 个正偶数的和 C.前 2 016 个正整数的和 D.前 2 018 个正整数的和 解析:选B.模拟程序的运行过程知,该程序运行后计算并输出S=2+4+6+…+2 018 的值.故选B. 2.“欧几里得算法”是有记载的最古老的算法,可追溯至公元前300年前,如图所示的程序框图的算法思路就是来源于“欧几里得算法”.执行该程序框图(图中“aMODb”表示a除以b的余数),若输入的a,b分别为675,125,则输出的a=( ) A.0 B.25 C.50 D.75 解析:选B.初始值:a=675,b=125, 第一次循环:c=50,a=125,b=50; 第二次循环:c=25,a=50,b=25; 第三次循环:c=0,a=25,b=0, 此时不满足循环条件,退出循环.输出a的值为25,故选B. 3.我国古代数学著作《周髀算经》有如下问题:“今有器中米,不知其数.前人取半,中人三分取一,后人四分取一,余米一斗五升.问,米几何?”如图是解决该问题的程序框图,执行该程序框图,若输出的S=1.5(单位:升),则输入k的值为( ) A.4.5 B.6 C.7.5 D.9 解析:选B.由程序框图知S=k---=1.5,解得k=6,故选B. 4.执行如图所示的程序框图,如果输入的a依次为2,2,5时,输出的s为17,那么在判断框中可以填入( ) A.k查看更多