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>n
B.k<n
C.k≥n
D.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≥3
B.n≥4
C.n≥5
D.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.5
B.8
C.24
D.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.0
B.e
C.0或e
D.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+1
B.i<34,n=n+3
C.i>34,n=n+3
D.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场比赛得分情况进行统计,如下表:
场次i | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
得分xi | 100 | 104 | 98 | 105 | 97 | 96 | 100 |
为了对这个队的情况进行分析,此人设计计算σ的算法流程图如图所示(其中是这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.84
C.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.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.