![2020高考文科数学(人教版)一轮复习讲义:第40讲算法初步与程序框图01](http://img-preview.51jiaoxi.com/3/3/5749388/0/0.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
![2020高考文科数学(人教版)一轮复习讲义:第40讲算法初步与程序框图02](http://img-preview.51jiaoxi.com/3/3/5749388/0/1.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
![2020高考文科数学(人教版)一轮复习讲义:第40讲算法初步与程序框图03](http://img-preview.51jiaoxi.com/3/3/5749388/0/2.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
2020高考文科数学(人教版)一轮复习讲义:第40讲算法初步与程序框图
展开第40讲 算法初步与程序框图
1.了解算法的含义,了解算法思想.
2.理解程序框图的三种基本结构:顺序结构、条件结构、循环结构.
3.通过模仿、操作、探索,学会程序框图来表达解决问题的过程,学会灵活、正确地阅读理解程序框图.
知识梳理
1.算法的概念
算法通常是指可以用 计算机 来解决的某一类问题的程序或步骤,这些程序或步骤必须是 明确 和 有效 的,而且能够在 有限步 之内完成.
2.程序框图的概念、表示及功能
(1)程序框图又称为 流程图 ,是一种用 程序框 、 流程线 及 文字说明 来表示算法的图形.
(2)程序框图基本图形及功能:
程序框 | 名 称 | 功 能 |
终端框(起止框) | 表示一个算法的 起始与结束 | |
输入、输出 框 | 表示一个算法 输入和输出的信息 | |
处理框(执行框) | 赋值、计算 | |
判断 框 | 判断某一条件 是否成立 ,成立时在出口处标明“ 是 ”;不成立时标明“ 否 ”.
| |
流程线 | 连接程序框 | |
连接点 | 连接程序框图的两部分 |
3.算法的逻辑结构
算法的三种基本逻辑结构: 顺序 结构、 条件 结构、 循环 结构.
(1)顺序结构是由若干个 依次执行 的步骤组成的,这是任何一个算法都离不开的基本结构.其结构形式如右图所示.
(2)条件结构是指在算法中通过对 条件 的判断,根据 条件是否成立 而选择不同 流向 的算法结构.
其结构形式为
(3)循环结构是指在算法中,从某处开始, 按照一定的条件,反复执行某些步骤 的结构.反复执行的步骤称为 循环体 .循环体又分为 当型(WHILE型) 和 直到型(UNTIL型) .
①当型(WHILE型)循环结构:在每次执行循环体前,对条件进行判断,当条件满足时, 执行 循环体,否则 终止 循环.这种循环叫做当型(WHILE型)循环.如下图(1).
②直到型(UNTIL型)循环结构.在执行了一次循环体后,对条件进行判断,如果条件 不满足 ,就继续执行循环体,直到条件 满足 时终止循环.这种循环叫做直到型(UNTIL型)循环.如下图(2).
热身练习
1.下列给出三个程序框图:
其中①是 顺序 结构;②是 条件 结构;③是 循环 结构.
2.程序框图中涉及各种语句,阅读程序框图需要对这些语句正确理解.下面是对“赋值语句”的理解:
①n=1表示将1这个数赋予给变量n;
②a=b表示将b的值赋予a;
③b=a表示将a的值赋予b;
④n=n+1表示n+1的值赋予n.
其中正确的理解有 ①②③④ .(填上你认为所有正确理解的序号)
上述四种情形都是赋值语句的常见情况,都是正确的.
3.(2017·江苏卷)下图是一个算法流程图.若输入x的值为,则输出y的值是 -2 .
(条件结构)输入x=,≥1不成立,执行y=2+log2=2-4=-2.输出y的值为-2.
4.(2017·北京卷)执行如图所示的程序框图,输出的s值为(C)
A.2 B.
C. D.
(“当型”循环结构)开始:k=0,s=1;
第一次循环,k=1,s=2;
第二次循环,k=2,s=;
第三次循环,k=3,s=,此时不满足循环条件,输出s,
故输出的s值为.
5.(2018·北京卷)执行如图所示的程序框图,输出的s值为(B)
A. B.
C. D.
第一次循环:s=1-=,k=2,k<3,不满足k≥3;
第二次循环:s=+=,k=3,满足k≥3,退出循环.
输出s的值为.
条件结构的程序框图
(经典真题)运行如下程序框图,如果输入的t∈[-1,3],则输出的s属于
A.[-3,4] B.[-5,2]
C.[-4,3] D.[-2,5]
由判断框中的条件为t<1,可得函数被分成两段,即t<1与t≥1.又由满足条件t<1时函数解析式为s=3t,不满足时函数的解析式为s=4t-t2,
于是得分段函数的解析式为s=
当t∈[-1,1)时,s=3t∈[-3,3);
当t∈[1,3]时,s=4t-t2=-(t2-4t)=-(t-2)2+4∈[3,4].所以s∈[-3,4].
故当输入的t∈[-1,3]时,输出的s∈[-3,4].
A
虽然条件结构的程序框图的结构比较简单,但由于选择支路较多,容易出现错误.解决此问题可按下列步骤进行:
第一步,先弄清变量的初始值;
第二步,按照程序框图从上到下或从左到右的顺序,依次对每一个语句、每一个判断框进行读取,在读取判断框时,应注意后面的结论分别对应着什么样的结果,然后按照对应的结果继续往下读取程序框图;
第三步,输出结果.
1.执行如图所示的程序框图.如果输入的t∈[-2,2],则输出的S属于(D)
A.[-6,-2] B.[-5,-1]
C.[-4,5] D.[-3,6]
由程序框图可知,输出的S满足:
S=
当t∈[-2,0)时,S=2t2-2,此时,S∈(-2,6];
当t∈[0,2]时,S=t-3,此时,S∈[-3,-1].
故输出的S∈[-3,6].
循环结构的程序框图
(2016·全国卷Ⅰ)执行下面的程序框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )
A.y=2x B.y=3x
C.y=4x D.y=5x
输入x=0,y=1,n=1,
第一次循环,x=0,y=1,不满足x2+y2≥36;
第二次循环,x=,y=2,不满足x2+y2≥36;
第三次循环,x=,y=6,满足x2+y2≥36,
输出的x=,y=6.
由于点(,6)在直线y=4x上,故选C.
C
解决此类型问题的最常用方法是列举法,即依次执行循环结构中的每一步,直到循环为止,但在执行循环体的过程中,要注意:
第一,要明确图中的累计变量、计数变量等,明确每一次执行循环体前和执行循环体后,变量的值发生的变化;
第二,要明确循环体终止的条件是什么,会判断什么时候终止循环体.
2.(2018·天津卷)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为(B)
A.1 B.2 C.3 D.4
输入N的值为20,
第一次执行条件语句,N=20,i=2,=10是整数,
所以T=0+1=1,i=3<5;
第二次执行条件语句,N=20,i=3,=不是整数,
所以i=4<5;
第三次执行条件语句,N=20,i=4,=5是整数,
所以T=1+1=2,i=5,此时i≥5成立,所以输出的T=2.
程序框图功能的识别
(经典真题)执行如下的程序框图,如果输入的N=10,那么输出的S=( )
A.1+++…+ B.1+++…+
C.1+++…+ D.1+++…+
当输入的N=10时,由于k=1,S=0,T=1.
所以T==1,S=1,k=2,此时不满足k>10;
k=2时,T==,S=1+,k=3,此时不满足k>10;
k=3时,T==,S=1++,k=4,此时不满足k>10;
……
k=10时,T==,S=1+++…+,k=11,此时满足k>10.
因此,输出的S=1+++…+.
B
解决此类循环次数较多的问题,可按如下步骤进行:
第一步,先对循环结构执行若干次,发现规律;
第二步,从运算的结果观察出程序框图的功能;
第三步,根据判断框中循环的控制条件,对临近循环结束时进行验证,防止“多算”或“漏算”.
3.(2018·广州一模)执行如图所示的程序框图,则输出的S=(D)
A. B.
C. D.
本题循环次数较多,可先运行几次,发现规律,再根据循环控制条件确定何时终止循环.
因为n=2,S=0,
第一次循环,S==(-),n=4,
第二次循环,S=+=(-+-)=(-),n=6,
第三次循环,S=++=(-+-+-)=(-),n=8,
……
临近循环结束时,取n=18,再循环一次
S=(-),n=20,
此时n≥19成立,退出循环,输出的S=(-)=.
1.条件结构主要用在一些需要依据条件进行判断的算法中,如分段函数的求值,数据大小关系的确定等问题中.
2.循环结构主要用于一些有规律的重复计算的算法中,如累加求和,累乘求积等问题常常需要用循环结构来设计算法.这类问题,设计好循环体是关键.设定循环体时,要注意所给条件的规律,然后选择合适的累加变量、累乘变量或计数变量,并注意初始值的确定.如累加循环体结构的设计步骤:
(1)确定循环体:S=S+“通项”;
(2)初始化变量;
(3)设定循环控制条件,即设定进入或退出循环的条件.
类似地可以得到累乘型循环结构的设计步骤.
3.设计循环结构时,一定要注意首次循环和末次循环的结果是否与题设吻合,以免“多算”或“漏算”.
4.高考中,主要考查程序框图的阅读与理解,循环结构是高考考查的重点.解决此类问题,首先要读懂程序框图的执行方向和其中的判断条件,对于循环结构,要明确循环次数和终止条件,弄清每次循环前和循环后每个变量的值.不论是条件结构还是循环结构,最基本的解决方法都是列举法,即依次执行程序框图中的每一步,直至程序结束为止.