届高三数学一轮复习导学案教师讲义第12章第2讲 算法与程序框图.docx
《届高三数学一轮复习导学案教师讲义第12章第2讲 算法与程序框图.docx》由会员分享,可在线阅读,更多相关《届高三数学一轮复习导学案教师讲义第12章第2讲 算法与程序框图.docx(27页珍藏版)》请在冰豆网上搜索。
届高三数学一轮复习导学案教师讲义第12章第2讲算法与程序框图
第2讲 算法与程序框图
[学生用书P202]
1.算法与程序框图
(1)算法
①算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.
②应用:
算法通常可以编成计算机程序,让计算机执行并解决问题.
(2)程序框图
定义:
程序框图又称流程图,是一种用程序框图、流程线及文字说明来表示算法的图形.
2.三种基本逻辑结构
名称
内容
顺序结构
条件结构
循环结构
定义
由若干个依次执行的步骤组成,这是任何一个算法都离不开的基本结构
算法的流程根据条件是否成立有不同的流向,条件结构就是处理这种过程的结构
从某处开始,按照一定的条件反复执行某些步骤的结构,反复执行的步骤称为循环体
程序框图
3.基本算法语句
(1)三种语句的一般格式和功能
语句
一般格式
功能
输入语句
INPUT “提示内容”;变量
输入信息
输出语句
PRINT “提示内容”;表达式
输出结果
赋值语句
变量=表达式
将表达式的值赋给变量
(2)条件语句
①条件语句与程序框图中的条件结构相对应.
②条件语句的格式及框图:
a.IFTHEN格式
b.IFTHENELSE格式
(3)循环语句
①算法中的循环结构是由循环语句来实现的.
②循环语句的格式及框图:
a.UNTIL语句
b.WHILE语句
判断正误(正确的打“√”,错误的打“×”)
(1)算法只能解决一个问题,不能重复使用.( )
(2)程序框图中的图形符号可以由个人来确定.( )
(3)输入框只能紧接开始框,输出框只能紧接结束框.( )
(4)条件结构的出口有两个,但在执行时,只有一个出口是有效的.( )
(5)5=x是赋值语句.( )
(6)输入语句可以同时给多个变量赋值.( )
答案:
(1)×
(2)× (3)× (4)√ (5)× (6)√
执行如图所示的程序框图,则输出S的值为( )
A.10 B.17
C.19D.36
解析:
选C.执行程序:
k=2,S=0;S=2,k=3;S=5,k=5;S=10,k=9;S=19,k=17,此时不满足条件k<10,终止循环,输出结果为S=19,故选C.
(教材习题改编)阅读下面的程序:
INPUTx
IF x<0 THEN
x=-x
END IF
PRINT x
END
则程序执行的是( )
A.求实数x的绝对值
B.求实数x的相反数
C.求一个负数的绝对值
D.求一个负数的相反数
解析:
选A.程序是执行求实数x的绝对值,故选A.
执行如图所示的程序框图,则输出的A是________.
解析:
i=0,A=2;A=2+=,i=1;A=2+=,i=2;A=2+=,i=3;A=2+=,i=4,输出A,故输出的A=.
答案:
执行如图所示的程序框图,则输出的s值为________.
解析:
k=0,s=0,满足k≤2;s=0,k=1,满足k≤2;
s=1,k=2,满足k≤2;s=1+23=9,k=3,不满足k≤2,输出s=9.
答案:
9
顺序结构与条件结构[学生用书P203]
[典例引领]
(1)阅读如图所示的程序框图,若输入的a,b,c分别是21,32,75,则输出的a,b,c分别是( )
A.75,21,32 B.21,32,75
C.32,21,75D.75,32,21
(2)执行如图所示的程序框图,如果输入的t∈[-1,3],则输出的s属于( )
A.[-3,4]B.[-5,2]
C.[-4,3]D.[-2,5]
【解析】
(1)由程序框图中的各个赋值语句可得x=21,a=75,c=32,b=21,
故a,b,c分别是75,21,32.
(2)由程序框图得分段函数s=
所以当-1≤t<1时,s=3t∈[-3,3);
当1≤t≤3时,s=4t-t2=-(t-2)2+4,
所以此时3≤s≤4.综上函数的值域为[-3,4],
即输出的s属于[-3,4].
【答案】
(1)A
(2)A
若本例
(2)的判断框中的条件改为“t≥1?
”,则输出的s的范围是________.
解析:
由程序框图得分段函数s=
所以当1≤t≤3时,s=3t∈[3,9],
当-1≤t<1时,s=4t-t2=-(t-2)2+4,
所以此时-5≤s<3.综上函数的值域为[-5,9],
即输出的s属于[-5,9].
答案:
[-5,9]
顺序结构和条件结构的特点
(1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.
(2)条件结构
利用条件结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一图框中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足.
[通关练习]
1.(2017·高考山东卷)执行如图所示的程序框图,当输入的x值为4时,输出的y的值为2,则空白判断框中的条件可能为( )
A.x>3B.x>4
C.x≤4D.x≤5
解析:
选B.当x=4时,若执行“是”,则y=4+2=6,与题意矛盾;若执行“否”,则y=log24=2,满足题意,故应执行“否”.故判断框中的条件可能为x>4.选B.
2.(2018·福州五校联考)定义[x]为不超过x的最大整数,例如[1.3]=1.执行如图所示的程序框图,当输入的x为4.7时,输出的y值为( )
A.7B.8.6
C.10.2D.11.8
解析:
选C.当输入的x为4.7时,执行程序框图可知,4.7-[4.7]=0.7,即4.7-[4.7]不等于0,因而可得y=7+([4.7-3]+1)×1.6=10.2,输出的值为10.2,故选C.
循环结构(高频考点)
[学生用书P204]
循环结构是高考命题的一个热点问题,多以选择题、填空题的形式呈现,多为容易题或中档题.主要命题角度有:
(1)由框图求输出的结果;
(2)完善程序框图;
(3)由程序框图及输出结果,求输入的值.
[典例引领]
角度一 由框图求输出的结果
(1)(2017·高考全国卷Ⅱ)执行如图程序框图,如果输入的a=-1,则输出的S=( )
A.2 B.3
C.4 D.5
第
(1)题图 第
(2)题图
(2)(2016·高考全国卷Ⅰ)执行如图所示的程序框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )
A.y=2xB.y=3x
C.y=4xD.y=5x
【解析】
(1)由程序框图可得S=0,a=-1,K=1≤6;
S=0+(-1)×1=-1,a=1,K=2≤6;
S=-1+1×2=1,a=-1,K=3≤6;
S=1+(-1)×3=-2,a=1,K=4≤6;
S=-2+1×4=2,a=-1,K=5≤6;
S=2+(-1)×5=-3,a=1,K=6≤6;
S=-3+1×6=3,a=-1,K=7>6,退出循环,输出S=3.故选B.
(2)输入x=0,y=1,n=1,得x=0,y=1,x2+y2=1<36,不满足条件,执行循环;n=2,x=,y=2,x2+y2=+4<36,不满足条件,执行循环;n=3,x=+1=,y=6,x2+y2=+36>36,满足条件,结束循环,所以输出的x=,y=6,满足y=4x,故选C.
【答案】
(1)B
(2)C
角度二 完善程序框图
(1)(2018·湖南十校联考)执行如图所示的程序框图,若输出S的值为-20,则条件框内应填写( )
A.i>3?
B.i<4?
C.i>4?
D.i<5?
(2)(2017·高考全国卷Ⅰ)如图所示的程序框图是为了求出满足3n-2n>1000的最小偶数n,那么在
和两个空白框中,可以分别填入( )
A.A>1000和n=n+1
B.A>1000和n=n+2
C.A≤1000和n=n+1
D.A≤1000和n=n+2
【解析】
(1)由程序框图可得,第一次循环,S=10-2=8,i=2;第二次循环,S=8-4=4,i=3;第三次循环,S=4-8=-4,i=4;第四次循环,S=-4-16=-20,i=5,结束循环,故条件框内应填写“i<5?
”,选D.
(2)因为要求的是最小偶数n,
所以处理框中应填入n=n+2,排除A,C;
判断框中填入A≤1000时,
才能循环,排除B,故选D.
【答案】
(1)D
(2)D
角度三 由程序框图及输出结果,求输入的值
(2017·高考全国卷Ⅲ)执行如图所示的程序框图,为使输出S的值小于91,则输入的正整数N的最小值为( )
A.5B.4
C.3D.2
【解析】 要求N的最小值,观察选项,发现其中最小的值为2,不妨将2代入检验.当输入的N为2时,第一次循环,S=100,M=-10,t=2;第二次循环,S=90,M=1,t=3,此时退出循环,输出S=90,符合题意,故选D.
【答案】 D
利用循环结构表示算法的步骤
利用循环结构表示算法,第一要先确定是利用当型循环结构,还是利用直到型循环结构;第二要选择准确的表示累计的变量;第三要注意在哪一步开始循环,满足什么条件不再执行循环体.
[通关练习]
1.(2018·湖南五市十校联考)执行如图所示的程序框图,则输出的a值为( )
A.-3B.
C.-D.2
解析:
选D.第1次循环,a=-3,i=2;第2次循环,a=-,i=3;第3次循环,a=,i=4;第4次循环,a=2,i=5;…所以周期为4,故最后输出的a的值为2.
2.(2018·贵阳检测)辗转相除法,又名欧几里得算法,是求两个正整数的最大公因子的算法.它是已知最古老的算法之一,在中国则可以追溯至东汉时期出现的《九章算术》.图中的程序框图所描述的算法就是欧几里得辗转相除法.若输入m=5280,n=12155,则输出的m的值为
________.
解析:
法一:
依题意,当输入m=5280,n=12155时,执行题中的程序框图,进行第一次循环时,m除以n的余数r=5280,m=12155,n=5280,r≠0;进行第二次循环时,m除以n的余数r=1595,m=5280,n=1595,r≠0;进行第三次循环时,m除以n的余数r=495,m=1595,n=495,r≠0;进行第四次循环时,m除以n的余数r=110,m=495,n=110,r≠0;进行第五次循环时,m除以n的余数r=55,m=110,n=55,r≠0;进行第六次循环时,m除以n的余数r=0,m=55,n=0,r=0,此时结束循环,输出的m的值为55.
法二:
依题意,注意到5280=25×3×5×11,12155=5×11×221,因此5280与12155的最大公因子是55,即输出的m的值为55.
答案:
55
基本算法语句[学生用书P206]
[典例引领]
阅读下面两个算法语句:
i=1
WHILE i*(i+1)<20
i=i+1
WEND
PRINT “i=”;i
END
图1
i=1
DO
i=i+1
LOOP UNTIL i*(i+1)<20
PRINT “i=”;i
END
图2
执行图1中语句的结果是输出________;
执行图2中语句的结果是输出________.
【解析】 执行图1中语句,得到(i,i·(i+1))的结果依次为(1,2),(2,6),(3,12),(4,20),故输出i=4.
执行图2中语句的情况如下:
i=1,i=i+1=2,i·(i+1)=6<20(是),
结束循环,输出i=2.
【答案】 i=4 i=2
解决算法语句的三个步骤
(1)通读全部语句,把它翻译成数学问题;
(2)领悟该语句的功能;
(3)根据语句的功能运行程序,解决问题.
[通关练习]
1.为了在运行如图所示的程序之后得到结果y=16,则键盘输入的x应该是( )
INPUT x
IF x<0 THEN
y=(x+1)*(x+1)
ELSE
y=(x-1)*(x-1)
END IF
PRINT y
END
A.±5 B.5
C.-5D.0
解析:
选A.因为y=
所以当x<0时,令(x+1)2=16,所以x=-5;
当x≥0时,令(x-1)2=16,所以x=5,所以x=±5.
2.下列程序执行后输出的结果是________.
i=11
S=1
DO
S=S*i
i=i-1
LOOPUNTIL i<9
PRINT S
END
解析:
程序反映出的算法过程为
i=11⇒S=11×1,i=10;i=10⇒S=11×10,i=9;
i=9⇒S=11×10×9,i=8;
i=8<9退出循环,执行“PRINT S”,故S=990.
答案:
990
解决程序框图问题要注意几个常用变量
(1)计数变量:
用来记录某个事件发生的次数,如i=i+1.
(2)累加变量:
用来计算数据之和,如S=S+i.
(3)累乘变量:
用来计算数据之积,如p=p×i.
循环结构中的条件判断
循环结构中的条件是高考的热点,主要是控制循环的变量应该满足的条件是什么.满足条件则进入循环或退出循环,此时要特别注意当型循环与直到型循环的区别.
条件结构中的条件判断
条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断.
解决算法问题应关注三点
(1)赋值号左边只能是变量(不能是表达式),在一个赋值语句中只能给一个变量赋值.
(2)注意条件结构与循环结构的联系:
循环结构有重复性,条件结构具有选择性没有重复性.
(3)直到型循环是“先循环,后判断,条件满足时终止循环”,当型循环则是“先判断,后循环,条件满足时执行循环”;两者的判断框内的条件表述在解决同一问题时是不同的,它们恰好相反.
[学生用书P341(单独成册)]
1.执行如图所示的程序框图,若输出i的值为2,则输入x的最大值是( )
A.5 B.6
C.11D.22
解析:
选D.执行该程序可知
解得
即8所以输入x的最大值是22.
2.(2018·新疆第二次适应性检测)阅读如图所示的程序框图,运行相应的程序,则输出的n的值为( )
A.3B.4
C.5D.6
解析:
选C.依题意,结合题中的程序框图,注意到sin+sin+sin=<3,sin+sin+sin+sin=+>3,
因此输出的n的值为5,选C.
3.(2018·太原模拟)执行如图所示的程序框图,已知输出的s∈[0,4].若输入的t∈[0,m],则实数m的最大值为( )
A.1B.2
C.3D.4
解析:
选D.由程序框图得s=,
图象如图所示.
由图象得,
若输入的t∈[0,m],输出的s∈[0,4],
则m的最大值为4,故选D.
4.(2017·高考天津卷)阅读如图所示的程序框图,运行相应的程序,若输入N的值为19,则输出N的值为( )
A.0B.1
C.2D.3
解析:
选C.由程序框图可知,N的取值依次为19,18,6,2,故输出N的值为2.
5.运行如图所示的程序框图,若输出的点恰有5次落在直线y=x上,则判断框中可填写的条件是( )
A.i>6B.i>7
C.i>8D.i>9
解析:
选D.要使输出的点恰有5次落在直线y=x上,则i=2,3,4,…,9都不满足判断框内的条件,i=10满足判断框内的条件,则判断框内可填写的条件是i>9,故选D.
第5题图 第6题图
6.(2018·郑州第一次质量预测)我们可以用随机模拟的方法估计π的值,下面的程序框图表示其基本步骤(函数RAND是产生随机数的函数,它能随机产生(0,1)内的任何一个实数).若输出的结果为781,则由此可估计π的近似值为( )
A.3.119B.3.124
C.3.132D.3.151
解析:
选B.根据题意,本题可以转化为在平面直角坐标系中,在{(x,y)|07.执行如图所示的程序框图,则输出的s的值为________.
解析:
由程序框图可知k=1,s=2;k=2,s=;k=3,s=.此时k<3不成立,故输出s=.
答案:
8.(2018·武昌调研)执行如图所示的程序框图,若输入的x=2017,则输出的i=________.
解析:
执行框图得a=2017,i=1,b==-≠2017,所以i=2,a=-,b==≠2017,所以i=3,a=,b==2017=x,所以输出的i=3.
答案:
3
第8题图 第9题图
9.(2018·石家庄质量检测
(二))执行如图所示的程序框图,则输出K的值为________.
解析:
第一次循环,得S=lg2,K=2;第二次循环,得S=lg2+lg=lg3,K=3;第三次循环,得S=lg3+lg=lg4,K=4;第四次循环,得S=lg4+lg=lg5,K=5;…;第98次循环,得S=lg98+lg=lg99,K=99;第99次循环,得S=lg99+lg=lg100=2,此时不满足循环条件,退出循环,故输出的K=99.
答案:
99
10.我国古代数学著作《周髀算经》有如下问题:
“今有器中米,不知其数.前人取半,中人三分取一,后人四分取一,余米一斗五升.问,米几何?
”如图是解决该问题的程序框图,执行该程序框图,若输出的S=1.5(单位:
升),则输入k的值为________.
解析:
由程序框图知S=k---=1.5,解得k=6.
答案:
6
1.秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的程序框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为( )
A.35 B.20
C.18D.9
解析:
选C.根据程序框图有:
n=3,x=2,v=1,i=2≥0,所以v=1×2+2=4,i=1≥0,所以v=4×2+1=9,i=0≥0,所以v=9×2+0=18,i=-1<0,不满足条件,跳出循环,输出v=18.
2.(2018·东北四市教研联合体一模)庄子说:
“一尺之锤,日取其半,万世不竭”.这句话描述的是一个数列问题.现用程序框图描述,如图所示,若输入某个正整数n后,输出的S∈,则输入的n的值为( )
A.7B.6
C.5D.4
解析:
选C.由程序框图,可知:
S=+++…+
==1-,
因为
所以<1-<,
即43.(2018·福州综合质量检测)执行如图所示的程序框图,若输入的m=168,n=112,则输出的k,m的值分别为( )
A.4,7B.4,56
C.3,7D.3,56
解析:
选C.对第一个当型循环结构,第一次循环:
k=1,m=84,n=56,m,n均为偶数;第二次循环:
k=2,m=42,n=28,m,n均为偶数;第三次循环:
k=3,m=21,n=14,因为m不是偶数,所以结束第一个循环.又m≠n,所以执行第二个当型循环结构,第一次循环:
d=|21-14|=7,m=14,n=7,m≠n;第二次循环:
d=|14-7|=7,m=7,n=7,因为m=n,所以结束循环,输出k=3,m=7,故选C.
4.如图,给出的是计算++…+的值的一个程序框图,则图中判断框内
(1)处和执行框中的
(2)处应填的语句是( )
A.i>100,n=n+1B.i>100,n=n+2
C.i>50,n=n+2D.i≤50,n=n+2
解析:
选C.经第一次循环得到的结果是
经第二次循环得到的结果是
经第三次循环得到的结果是
据观察S中最后一项的分母与i的关系是分母=2(i-1),
令2(i-1)=100,解得i=51,即需要i=51时输出.
故图中判断框内
(1)处和执行框中的
(2)处应填的语句分别是i>50,n=n+2.
5.下面左图是某学习小组学生数学考试成绩的茎叶图,1号到16号同学的成绩依次为A1,A2,…,A16,右图是统计茎叶图中成绩在一定范围内的学生人数的算法流程图,那么该算法流程图输出的结果是( )
A.6B.10
C.91D.92
解析:
选B.由算法流程图可知,其统计的是数学成绩大于等于90的人数,所以由茎叶图可知:
数学成绩大于等于90的人数为10,因此输出的结果为10.
6.阅读如图所示的程序框图,则输出的s的值为__________________________.
解析:
依题意,执行题中的程序框图,最后输出的是数列的前2016项和.注意到数列是以2π÷=6为周期的数列,且2016=6×336,数列的前6项和等于0,因此数列的前2016项和等于336×0=0.
答案:
0