- 980.50 KB
- 2021-06-16 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
12.3 算法与流程图
1.算法通常是指对一类问题的机械的、统一的求解方法.
2.流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序.
3.三种基本逻辑结构
(1)依次进行多个处理的结构称为顺序结构,是任何一个算法都离不开的基本结构.
其结构形式为
(2)选择结构是先根据条件作出判断,再决定执行哪一种操作的结构.
其结构形式为
(3)循环结构是指需要重复执行同一操作的结构,需要重复执行的同一操作称为循环体.循环结构又分为当型和直到型.
其结构形式为
4.赋值语句、输入语句、输出语句
赋值语句用符号“←”表示,其一般格式是变量←表达式(或变量),其作用是对程序中的变量赋值;输入语句“Read a,b”表示输入的数据依次送给a,b,输出语句“Print x”表示输出运算结果x.
5.算法的选择结构由条件语句来表达,一般是If—Then—Else语句,其一般形式是If A
Then
B
Else
C
End If.
6.算法中的循环结构,可以运用循环语句来实现
(1)当循环的次数已经确定,可用“For”语句表示
“For”语句的一般形式为
For I From“初值”To“终值”Step“步长”
循环体
End For
说明:上面“For”和“End For”之间缩进的步骤称为循环体,如果省略“Step步长”,那么重复循环时,I每次增加1.
(2)不论循环次数是否确定都可以用下面循环语句来实现循环结构当型和直到型两种语句结构.
当型语句的一般格式是
While p
循环体
End While
,
直到型语句的一般格式是
Do
循环体
Until p
End Do
【思考辨析】
判断下列结论是否正确(请在括号中打“√”或“×”)
(1)算法只能解决一个问题,不能重复使用.( × )
(2)流程图中的图形符号可以由个人来确定.( × )
(3)输入框只能紧接开始框,输出框只能紧接结束框.( × )
(4)选择结构的出口有两个,但在执行时,只有一个出口是有效的.( √ )
(5)5=x是赋值语句.( × )
(6)输入语句可以同时给多个变量赋值.( √ )
1.已知一个算法:
(1)m=a.
(2)如果b100,退出循环,故输出的结果为8.
4.执行如图所示的流程图,输出的x值为________.
答案 6
解析 该流程图运行三次,第一次,x=4,y=16;第二次,x=5,y=32;第三次,x=6,y=64>10×6+3=63,退出循环,故输出的x值为6.
5.执行下面的流程图,若输入的ε的值为0.25,则输出的n的值为________.
答案 3
解析 第一次循环:F1=3,F0=2,n=2;
第二次循环:F1=5,F0=3,n=3.
此时==0.2满足≤ε=0.25,
故输出n=3.
题型一 顺序结构与选择结构
命题点1 顺序结构
例1 如图所示的流程图,根据该图和下列各小题的条件回答下面的几个小题.
(1)该流程图解决的是一个什么问题?
(2)当输入的x的值为0和4时,输出的值相等,问当输入的x的值为3时,输出的值为多大?
(3)在(2)的条件下要想使输出的值最大,输入的x的值应为多大?
解 (1)该流程图解决的是求二次函数f(x)=-x2+mx的函数值的问题.
(2)当输入的x的值为0和4时,输出的值相等,
即f(0)=f(4).
因为f(0)=0,f(4)=-16+4m,
所以-16+4m=0,
所以m=4,f(x)=-x2+4x.
则f(3)=-32+4×3=3,
所以当输入的x的值为3时,输出的f(x)的值为3.
(3)因为f(x)=-x2+4x=-(x-2)2+4,
当x=2时,f(x)最大值=4,
所以要想使输出的值最大,输入的x的值应为2.
命题点2 选择结构
例2 执行如图所示的流程图,如果输入的t∈[-1,3],则输出的s
属于________.(填正确序号)
①[-3,4] ②[-5,2]
③[-4,3] ④[-2,5]
答案 ①
解析 根据流程图可以得到分段函数s= 进而在函数的定义域[-1,3]内分段求出函数的值域.所以当-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].
引申探究
若将本例中判断框的条件改为“t≥1”,则输出的s的范围是什么?
解 根据流程图可以得到,当-1≤t<1时,s=4t-t2=-(t-2)2+4,此时-5≤s<3;
当1≤t≤3时,s=3t∈[3,9].
综上可知,函数的值域为[-5,9],即输出的s属于[-5,9].
思维升华 应用顺序结构与选择结构的注意点
(1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.
(2)选择结构
利用选择结构解决算法问题时,重点是判断框,判断框内的条件不同,对应的下一框中的内容和操作要相应地进行变化,故要重点分析判断框内的条件是否满足.
执行如图所示的流程图,如果输入的x,y∈R,那么输出的S的最大值为________.
答案 2
解析 当条件x≥0,y≥0,x+y≤1不成立时输出S的值为1;当条件x≥0,y≥0,x+y≤1成立时S=2x+y,下面用线性规划的方法求此时S的最大值.
作出不等式组表示的平面区域如图中阴影部分(含边界),由图可知当直线S=2x+y经过点M(1,0)时S最大,其最大值为2×1+0=2,故输出S的最大值为2.
题型二 循环结构
命题点1 由流程图求输出结果
例3 (2016·全国乙卷改编)执行如图所示的流程图,如果输入的x=0,y=1,n=1,则输出x,y的值满足________.
答案 y=4x
解析 执行题中的流程图,知
第一次进入循环体:x=0+=0,y=1×1=1,x2+y2<36;
第二次执行循环体:n=1+1=2,x=0+=,
y=2×1=2,x2+y2<36;
第三次执行循环体:n=2+1=3,x=+=,
y=3×2=6,x2+y2>36,满足x2+y2≥36,故退出循环,输出x=,y=6,满足y=4x.
命题点2 完善流程图
例4 (2017·南京月考)如图给出的是计算+++…+的值的一个流程图,其中菱形判断框内应填入的条件是________.
答案 i>10或i≥11
解析 经过第一次循环得到s=,i=2,此时的i不满足判断框中的条件;
经过第二次循环得到s=+,i=3,此时的i不满足判断框中的条件;
经过第三次循环得到s=++,i=4,此时的i不满足判断框中的条件;
…;
经过第十次循环得到s=+++…+,i=11,此时的i满足判断框中的条件,执行输出,
故判断框中的条件是“i>10”或“i≥11”.
命题点3 辨析流程图的功能
例5 根据下面流程图,对大于2的整数n,输出的数列的通项公式是____________.
答案 an=2n
解析 由流程图可知,
第一次运行:i=1,a1=2,S=2;
第二次运行:i=2,a2=4,S=4;
第三次运行:i=3,a3=8,S=8;
第四次运行:i=4,a4=16,S=16.
故an=2n.
思维升华 与循环结构有关问题的常见类型及解题策略
(1)已知流程图,求输出的结果,可按流程图的流程依次执行,最后得出结果.
(2)完善流程图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.
(3)对于辨析流程图功能问题,可将程序执行几次,即可根据结果作出判断.
(2016·四川改编)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的流程图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为________.
答案 18
解析 初始值n=3,x=2,程序运行过程如下:
v=1
i=2 v=1×2+2=4
i=1 v=4×2+1=9
i=0 v=9×2+0=18
i=-1 跳出循环,输出v=18.
题型三 基本算法语句
例6 阅读下面两个算法的伪代码:
i←1
While i*(i+1)<20
i←i+1
End While
Print i
图1
i←1
Do
i←i+1
Until i×(i+1)<20
End Do
Print i
图2
执行图1中伪代码的i的结果是________;
执行图2中伪代码的i的结果是________.
答案 4 2
解析 执行图1中伪代码,得到(i,i(i+1))的结果依次为(1,2),(2,6),(3,12),(4,20),故输出4.
执行图2中伪代码的情况如下:
i=1,i=i+1=2,i·(i+1)=6<20(是),
结束循环,输出2.
思维升华 解决算法语句有三个步骤:首先通读全部语句,把它翻译成数学问题;其次领悟该语句的功能;最后根据语句的功能运行程序,解决问题.
(2015·江苏)根据如图所示的伪代码,可知输出的结果S为________.
S←1
I←1
While I<8
S←S+2
I←I+3
End While
Print S
答案 7
解析 I=1,S=1;
S=1+2=3,I=1+3=4<8;
S=3+2=5,I=4+3=7<8;
S=5+2=7,I=7+3=10>8.
退出循环,故输出7.
12.流程图中变量的取值
典例 执行如图所示的流程图所表示的程序,则输出的A=________.
错解展示
解析 将每次运算的A值用数列{an}表示,
将开始的A=1看作a0,则a1=2a0+1=1,a2=2a1+1=3,…
∴a10=2a9+1=210-1=1 023.
答案 1 023
现场纠错
解析 本题计算的是递推数列a0=1,
an+1=2an+1(n=0,1,2,…)的第11项,
{an+1}是首项为2,公比为2的等比数列,
故a10+1=211,故a10=2 047.
答案 2 047
纠错心得 流程图对计数变量及求和变量取值时,要注意两个变量的先后顺序.
1.(2016·全国丙卷改编)执行如图所示的流程图,如果输入的a=4,b=6,那么输出的n=________.
答案 4
解析 第一次循环:a=6-4=2,b=6-2=4,a=4+2=6,s=6,n=1;
第二次循环:a=4-6=-2,b=4-(-2)=6,a=6-2=4,s=10,n=2;
第三次循环:a=6-4=2,b=6-2=4,a=4+2=6,s=16,n=3;
第四次循环:a=4-6=-2,b=4-(-2)=6,a=6-2=4,s=20,n=4,满足条件S>16,结束循环,输出4.
2.(2016·北京改编)执行如图所示的流程图,输出的S值为________.
答案 9
解析 ①S=0+03=0,k=0+1=1,满足k≤2;
②S=0+13=1,k=1+1=2,满足k≤2;
③S=1+23=9,k=2+1=3,不满足k≤2,输出9.
3.(2015·天津改编)阅读流程图,运行相应的程序,则输出S的值为________.
答案 6
解析 运行相应的程序,第一次循环:i=2,S=20-2=18;第二次循环:i=4,S=18-4=14;第三次循环:i=8,S=14-8=6.8>5,终止循环,输出6.
4.(2016·南京模拟)阅读流程图,运行相应的程序,则程序运行后输出的结果为__________.
答案 9
解析 i=1,S=0,第一次循环:S=0+lg=-lg 3>-1;第二次循环:i=3,S=lg+lg=lg=-lg 5>-1;第三次循环:i=5,S=lg+lg=lg=-lg 7>-1;第四次循环:i=7,S=lg+lg=lg=-lg 9>-1;第五次循环:i=9,S=lg+lg=lg=-lg 11<-1.故输出9.
5.(2017·盐城月考)定义某种运算,ab的运算原理如图所示.设S=1x,x∈[-2,2],则输出的S的最大值与最小值的差为________.
答案 2
解析 由题意可得,S(x)=
∴S(x)max=2,S(x)min=0,
∴S(x)max-S(x)min=2.
6.给出一个算法的流程图(如图所示),该流程图的功能是________.
①输出a,b,c三数中的最大数
②输出a,b,c三数中的最小数
③将a,b,c按从小到大排列
④将a,b,c按从大到小排列
答案 ②
解析 先比较a,b的值,把较小的值赋值给a;再比较a,c的值,把较小的值赋值给a,输出a.故②正确.
7.(2016·南通模拟)如图是一个算法流程图,则输出的k的值是________.
答案 17
解析 该算法流程图循环三次,k的值依次是1,3,17,故输出的k的值是17.
8.如图所示,该伪代码运行的结果为________.
S←0
i←1
While S≤20
S←S+i
i←i+2
End While
Print i
答案 11
解析 该伪代码运行5次,依次为S=1,i=3;S=4,i=5;S=9,i=7;S=16,i=9;S=25,i=11,此时循环结束,故输出11.
9.对一个作直线运动的质点的运动过程观测了8次,第i次观测得到的数据为ai,具体如下表所示:
i
1
2
3
4
5
6
7
8
ai
40
41
43
43
44
46
47
48
在对上述统计数据的分析中,一部分计算见如图所示的流程图(其中是这8个数据的平均数),则输出的S的值是________.
答案 7
解析 本题计算的是这8个数的方差,因为
==44,
所以S=
=7.
10.如图(1)(2)所示,它们都表示的是输出所有立方小于1 000的正整数的流程图,那么应分别补充的条件为:
(1)____________;
(2)______________.
答案 (1)n3<1 000 (2)n3≥1 000
解析 第一个图中,n不能取10,否则会把立方等于1 000的正整数也输出了,所以应该填写n3<1 000;
第二个图中,当n≥10时,循环应该结束,所以填写n3≥1 000.
11.给出一个如图所示的流程图,若要使输入的x值与输出的y值相等,则这样的x值是________.
答案 0,1,3
解析 根据题意,本流程图表示分段函数:
y=
由于输入的x值与输出的y值相等,
由x2=x解得x=0或x=1,都满足x≤2;
由x=2x-3解得x=3,也满足25内,舍去.
可见满足条件的x共三个:0,1,3.
12.(2016·泰州质检)某流程图所给的程序运行结果为20,那么判断框中应填入的关于k的条件是________.
答案 k>8
解析 由题意可知输出结果为20,第1次循环,S=11,k=9,第2次循环,S=20,k=8,此时S满足输出结果,退出循环,所以判断框中的条件为“k>8”.
13.(2016·扬州模拟)执行如图所示的流程图,则输出k的值为________.
答案 3
解析 该流程图运行三次,第一次循环,n=6,k=1;第二次循环,n=3,k=2;第三次循环,n=1,k=3,结束循环,故输出的k的值是3.
14.已知函数f(x)=ax3+x2在x=-1处取得极大值,记g(x)=.流程图如图所示,若输出的结果S>,则判断框中可以填入的关于n的判断条件是________.(填序号)
①n≤2 015 ②n≤2 016 ③n>2 015 ④n>2 016
答案 ②
解析 由题意得f′(x)=3ax2+x,由f′(-1)=0,
得a=,∴f′(x)=x2+x,
即g(x)===-.
由流程图可知S=0+g(1)+g(2)+…+g(n)
=0+1-+-+…+-
=1-
=,
由>,得n>2 015.
故可填入②.