


所属成套资源:2021高考北师大版数学一轮学案
2021高三统考北师大版数学一轮学案:第12章第1讲算法初步
展开第十二章 算法初步、复数、推理与证明第1讲 算法初步基础知识整合1.算法的框图及结构(1)算法算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.(2)程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.通常,程序框图由程序框和流程线组成,一个或几个程序框的组合表示算法中的一个步骤;流程线带有方向箭头,按照算法进行的顺序将程序框连接起来.(3)三种基本逻辑结构顺序结构条件结构循环结构定义由若干个依次执行的步骤组成,这是任何一个算法都离不开的基本结构算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构从某处开始,按照一定的条件反复执行某些步骤的情况,反复执行的步骤称为循环体程序框图2.算法语句的格式及框图(1)输入语句、输出语句、赋值语句的格式与功能语句一般格式功能输入语句INPUT“提示内容”;变量输入信息输出语句PRINT“提示内容”;表达式输出信息赋值语句变量=表达式将表达式所代表的值赋给变量(2)条件语句的格式及框图①IF-THEN格式②IF-THEN-ELSE格式(3)循环语句的格式及框图①UNTIL语句②WHILE语句1.注意区分处理框与输入框,处理框主要是赋值、计算,而输入框只是表示一个算法输入的信息.2.循环结构中必有条件结构,其作用是控制循环进程,避免进入“死循环”,是循环结构必不可少的一部分.3.注意区分当型循环与直到型循环.直到型循环是“先循环,后判断,条件满足时终止循环”,而当型循环则是“先判断,后循环,条件满足时执行循环”.两者的判断框内的条件表述在解决同一问题时是不同的,它们恰好相反.1.(2019·北京高考)执行如图所示的程序框图,输出的s值为( )A.1 B.2 C.3 D.4答案 B解析 k=1,s=1;第一次循环:s=2,判断k<3,k=2;第二次循环:s=2,判断k<3,k=3;第三次循环:s=2,判断k=3,故输出2.故选B.2.下列程序段执行后,变量a,b的值分别为( )A.20,15 B.35,35 C.5,5 D.-5,-5答案 A解析 a=15,b=20,把a+b赋给a,因此得出a=35,再把a-b赋给b,即b=35-20=15.再把a-b赋给a,此时a=35-15=20,因此最后输出的a,b的值分别为20,15.故选A.3.(2019·武昌调研)执行如图所示的程序框图,如果输入的a依次为2,2,5时,输出的S为17,那么在判断框中可以填入( )A.k>nB.k<nC.k≥nD.k≤n答案 A解析 第一次输入a=2,此时S=0×2+2=2,k=0+1=1,不满足k=1>n=2;第二次输入a=2,此时S=2×2+2=6,k=1+1=2,不满足k=2>n=2;第三次输入a=5,此时S=6×2+5=17,k=2+1=3,满足k=3>n=2,循环终止,输出的S=17.故选A.4.(2019·湖南郴州模拟)执行如图所示的程序框图,输出S的值为时,k是( )A.5 B.3 C.4 D.2答案 A解析 模拟执行程序,可得每次循环的结果依次为k=2,k=3,k=4,k=5,大于4,可得S=sin=,输出S的值为.故选A.5.(2020·锦州摸底)若如图所示的程序框图输出的S是30,则在判断框中M表示的“条件”应该是( )A.n≥3B.n≥4C.n≥5D.n≥6答案 B解析 第一次循环,n=1,S=2;第二次循环,n=2,S=6;第三次循环,n=3,S=14;第四次循环,n=4,S=30,故选B.6.执行如图所示的程序框图,若输入x的值为1,则输出n的值为________.答案 3解析 第一次:x=1,x2-4x+3=0≤0.第二次:x=2,n=1,x2-4x+3=-1≤0.第三次:x=3,n=2,x2-4x+3=0≤0.第四次:x=4,n=3,x2-4x+3=3>0,输出n,程序结束.核心考向突破考向一 算法的基本结构 例1 (2019·全国卷Ⅲ)执行如图所示的程序框图,如果输入的为0.01,则输出s的值等于( )A.2-B.2-C.2-D.2-答案 C解析 =0.01,x=1,s=0,s=0+1=1,x=,x<不成立;s=1+,x=,x<不成立;s=1++,x=,x<不成立;s=1+++,x=,x<不成立;s=1++++,x=,x<不成立;s=1+++++,x=,x<不成立;s=1++++++,x=,x<成立,此时输出s=2-.故选C.利用循环结构表示算法应注意的问题(1)注意是利用当型循环结构,还是直到型循环结构.(2)注意准确选择表示累计的变量.(3)注意在哪一步开始循环,满足什么条件不再执行循环体. [即时训练] 1.(2019·天津高考)阅读右边的程序框图,运行相应的程序,输出S的值为( )A.5B.8C.24D.29答案 B解析 i=1,S=0,i不是偶数;第一次循环:S=1,i=2<4;第二次循环:i是偶数,j=1,S=5,i=3<4;第三次循环:i不是偶数,S=8,i=4,满足i≥4,输出S,结果为8.故选B.2.(2020·濮阳模拟)执行如图所示的程序框图(其中b=c mod 10表示b等于c除以10的余数),则输出的b为( )A.2 B.4 C.6 D.8答案 D解析 a=2,b=8,n=1;c=16,a=8,b=6,n=2;c=48,a=6,b=8,n=3;c=48,a=8,b=8,n=4;c=64,a=8,b=4,n=5;c=32,a=4,b=2,n=6;c=8,a=2,b=8,n=7,…,易知该程序框图中a,b的值以6为周期重复出现.又因为2019=6×336+3,所以当n=2019时,b=8.故选D.精准设计考向,多角度探究突破考向二 算法的交汇性问题角度 算法与函数的交汇例2 (2019·潍坊模拟)执行右边的程序框图,如果输出的y值为1,则输入的x值为( )A.0B.eC.0或eD.0或1答案 C解析 程序对应的函数为y=若x≤0,由y=1,得ex=1,得x=0,满足条件;若x>0,由y=2-ln x=1,得ln x=1,即x=e,满足条件.综上,输入的x值为0或e,故选C.角度 算法与数列的交汇例3 (2020·西宁模拟)执行如图所示的程序框图,若输入n=10,则输出的S的值是( )A. B. C. D.答案 B解析 模拟程序的运行,可得程序的功能是利用循环结构计算并输出变量S=++…+的值,可得S=++…+=++…+=1-=.故选B.角度 算法与统计的交汇例4 (2019·九江联考)图1是随机抽取的15户居民月均用水量(单位:吨)的茎叶图,月均用水量依次记为A1,A2,…,A15,图2是统计茎叶图中月均用水量在一定范围内的频数的一个程序框图,则输出的n的值为________.答案 7解析 由程序框图,知算法的功能是计算15户居民中月均用水量大于2.1的户数,由茎叶图得,在这15户居民中,月均用水量大于2.1的户数为7,故输出的n的值为7.解决算法的交汇性问题的方法循环结构的程序框图与数列、不等式、统计等知识综合是高考命题的一个热点,解决此类问题时应把握三点:一是初始值,即计数变量与累加变量的初始值;二是两个语句,即循环结构中关于计数变量与累加变量的赋值语句;三是一个条件,即循环结束的条件,注意条件与流程线的对应关系.[即时训练] 3.(2020·宁夏银川模拟)执行如图所示的程序框图,如果输入的t∈[-2,2],则输出的S属于( )A.[-6,-2] B.[-5,-1]C.[-4,5] D.[-3,6]答案 D解析 当0≤t≤2时,S=t-3∈[-3,-1].当-2≤t<0时,2t2+1∈(1,9],则S∈(-2,6].综上,当-2≤t≤2时,S∈[-3,6],故选D.4.(2019·湖南长沙模拟)如图,给出的是计算1+++…+的值的一个程序框图,则图中判断框内的(1)处和执行框中的(2)处应填的语句是( )A.i>100,n=n+1B.i<34,n=n+3C.i>34,n=n+3D.i≥34,n=n+3答案 C解析 算法的功能是计算1+++…+的值,易知1,4,7,…,100成等差数列,公差为3,所以执行框中的(2)处应为n=n+3,令1+(i-1)×3=100,解得i=34,所以终止程序运行的i值为35,所以判断框内的(1)处应为i>34,故选C.5.在2018~2019赛季NBA季后赛中,当一个球队进行完7场比赛被淘汰后,某个篮球爱好者对该队的7场比赛得分情况进行统计,如下表:场次i1234567得分xi100104981059796100为了对这个队的情况进行分析,此人设计计算σ的算法流程图如图所示(其中是这7场比赛的平均得分),求输出的σ的值.解 由题意,知=×(100+104+98+105+97+96+100)=100,由算法流程图可知s=(100-100)2+(104-100)2+(98-100)2+(105-100)2+(97-100)2+(96-100)2+(100-100)2=70.故σ==.考向三 基本算法语句 例5 (1)(2019·福州质检)下列程序语句的算法功能是( )A.输出a,b,c三个数中的最大数B.输出a,b,c三个数中的最小数C.将a,b,c从小到大排列D.将a,b,c从大到小排列答案 A解析 由程序语句可知,当比较a,b的大小后,选择较大的数赋给a;当比较a,c的大小后,选择较大的数赋给a,最后输出a,所以此程序的作用是输出a,b,c三个数中的最大数.故选A.(2)运行下面的程序,执行后输出的s的值是( )A.11 B.15 C.17 D.19答案 B解析 当i=3时,s=7,当i=5时,s=11,当i=7时,s=15,此时不满足“i<6”,所以输出s=15,故选B. 基本算法语句应用中需注意的问题(1)赋值号“=”的左、右两边不能对调,A=B和B=A的含义及运行结果是不同的.(2)不能利用赋值语句进行代数式的演算(如化简、因式分解等),在赋值语句中的赋值号右边的表达式中每一个“变量”都必须事先赋给确定的值.(3)赋值号与数学中的等号意义不同,比如在数学中式子N=N+1一般是错误的,但在赋值语句中它的作用是将原有的N的值加上1再赋给变量N,这样原来的值被“冲”掉.[即时训练] 6.阅读下面的程序:如果上述程序输入的值是51,则运行结果是( )A.51 B.15 C.105 D.501答案 B解析 因为51÷10=5……1,所以a=5,b=1,x=10×1+5=15.故选B.7.(2019·龙岩质检)如图所示的程序,若最终输出的结果为,则在程序中“____?____”处应填入的语句为( ) A.i>=8 B.i>=7 C.i<7 D.i<8答案 B解析 S=0,n=2,i=1,执行S=,n=4,i=2;S=+=,n=8,i=3;S=+=,n=16,i=4;S=+=,n=32,i=5;S=+=,n=64,i=6;S=+=,n=128,i=7.此时满足题目条件输出的S=,∴“?”处应填上i>=7.故选B.(2019·沈阳模拟)程大位是明代著名数学家,他的《新编直指算法统宗》是中国历史上一部影响巨大的著作.卷八中第33问:“今有三角果一垛,底阔每面七个.问该若干?”如图是解决该问题的程序框图.执行该程序框图,求得该垛果子的总数S为( )A.120 B.84C.56 D.28答案 B解析 初始值i=0,n=0,S=0,第一次循环,i=1,n=1,S=1;第二次循环,i=2,n=3,S=4;第三次循环,i=3,n=6,S=10;第四次循环,i=4,n=10,S=20;第五次循环,i=5,n=15,S=35;第六次循环,i=6,n=21,S=56;第七次循环,i=7,n=28,S=84,此时退出循环,输出S=84,故选B.答题启示求解循环结构的程序框图题的“三注意”(1)注意是当型循环结构,还是直到型循环结构;(2)注意选择准确的表示累计的变量;(3)注意在哪一步开始循环,及执行循环体的条件.对点训练“欧几里得算法”是有记载的最古老的算法,可追溯至公元前300年前,如图所示的程序框图的算法思路就是来源于“欧几里得算法”.执行该程序框图(图中“aMODb”表示a除以b的余数),若输入的a,b分别为675,125,则输出的a=( )A.0 B.25C.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.
