- 729.48 KB
- 2021-05-13 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第3讲 算法与算法框图
最新考纲 1.了解算法的含义,了解算法的思想;2.理解算法框图的三种基本逻辑结构:顺序、选择、循环;3.了解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义;4.了解流程图、结构图及其在实际中的应用.
知 识 梳 理
1.算法的含义
算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决.
2.算法框图
在算法设计中,算法框图可以准确、清晰、直观地表达解决问题的思想和步骤,算法框图的三种基本结构:顺序结构、选择结构、循环结构.
3.三种基本逻辑结构
(1)顺序结构:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.
其结构形式为
(2)选择结构:需要进行判断,判断的结果决定后面的步骤,像这样的结构通常称作选择结构.
其结构形式为
(3)循环结构:指从某处开始,按照一定条件反复执行某些步骤的情况.反复执行的处理步骤称为循环体.
其基本模式为
4.基本算法语句
任何一种程序设计语言中都包含五种基本的算法语句,它们分别是:输入语句、输出语句、赋值语句、条件语句和循环语句.
5.赋值语句
(1)一般形式:变量=表达式
(2)作用:将表达式所代表的值赋给变量.
6.条件语句
(1)If—Then—Else语句的一般格式为:
If 条件 Then
语句1
Else
语句2
End If
(2)If—Then语句的一般格式是:
If 条件 Then
语句
End If
7.循环语句
(1)For语句的一般格式:
(2)Do Loop语句的一般格式:
诊 断 自 测
1.判断正误(在括号内打“√”或“×”) 精彩PPT展示
(1)算法框图中的图形符号可以由个人来确定.( )
(2)一个算法框图一定包含顺序结构,但不一定包含选择结构和循环结构.( )
(3)在算法语句中,X=X+1是错误的.( )
(4)选择结构的出口有两个,但在执行时,只有一个出口是有效的.( )
答案 (1)× (2)√ (3)× (4)√
2.执行如图所示的算法框图,输出S的值为( )
A.- B. C.- D.
解析 按照算法框图依次循环运算,当k=5时,停止循环,当k=5时,S=sin =.
答案 D
3.(2016·全国Ⅱ卷)中国古代有计算多项式值的秦九韶算法,如图是实现该算法的算法框图.执行该算法框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=( )
A.7 B.12 C.17 D.34
解析 由框图可知,输入x=2,n=2,a=2,s=2,k=1,不满足条件;a=2,s=4+2=6,k=2,不满足条件;a=5,s=12+5=17,k=3,满足条件输出s=17,故选C.
答案 C
4.(必修3P20A1改编)根据给出的算法框图,计算f(-1)+f(2)=________.
解析 由算法框图,f(-1)=-4,f(2)=22=4.
∴f(-1)+f(2)=-4+4=0.
答案 0
5.(2016·北京卷改编)执行如图所示的算法框图,输出的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
考点一 算法的基本结构
【例1】 (1)(2017·合肥质检)阅读如图所示的算法框图,运行相应的程序.若输入x的值为1,则输出y的值为( )
A.2 B.7 C.8 D.128
(2)(2017·北京海淀区模拟)执行如图所示的算法框图,若输入的a值为1,则输出的k值为( )
A.1 B.2 C.3 D.4
解析 (1)由算法框图知,y=
∵输入x的值为1,比2小,
∴执行的程序要实现的功能为9-1=8,故输出y的值为8.
(2)初始值k=0,a=1,b=1.
第一次循环,a=-,k=1;
第二次循环,a=-2,k=2;
第三次循环,a=1,
此时a=b=1,输出k=2.
答案 (1)C (2)B
规律方法 (1)高考对算法初步的考查主要是对算法框图含义的理解与运用,重点应放在读懂框图上,尤其是选择结构、循环结构.特别要注意选择结构的条件,对于循环结构要搞清进入或退出循环的条件、循环的次数,是解题的关键.
(2)解决算法框图问题要注意几个常用变量:
①计数变量:用来记录某个事件发生的次数,如i=i+1.
②累加变量:用来计算数据之和,如S=S+i.
③累乘变量:用来计算数据之积,如p=p×i.
【训练1】 (1)(2017·西安调研)根据下面框图,当输入x为2 017时,输出的y=( )
A.2 B.4 C.10 D.28
(2)(2016·山东卷)执行下面的算法框图,若输入n的值为3,则输出的S的值为________.
解析 (1)因为x所有的值构成首项为2 017,公差为-2的等差数列.由算法框图知,当x=-1时,输出y值.
∴输出的y=3+1=4.
(2)第一次循环:S=-1,1≥3不成立,i=2;
第二次循环:S=-1,2≥3不成立,i=3;
第三次循环:S=-1=1,3≥3成立,输出S=1.
答案 (1)B (2)1
考点二 算法框图的识别与完善(多维探究)
命题角度一 由算法框图求输出结果
【例2-1】 (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.
由于点在直线y=4x上,则x,y的值满足y=4x.
答案 C
命题角度二 完善算法框图
【例2-2】 执行如图所示的算法框图,若输出k的值为8,则判断框内可填入的条件是( )
A.s≤
B.s≤
C.s≤
D.s≤
解析 执行第1次循环,则k=2,s=,满足条件.
执行第2次循环,则k=4,s=+=,满足条件.
执行第3次循环,则k=6,s=+=,满足条件.
执行第4次循环,k=8,s=+=,不满足条件,输出k=8.
因此条件判断框应填“s≤”.
答案 C
规律方法 (1)①第1题的关键在于理解算法框图的功能;②第2题要明确何时进入或退出循环体,以及累加变量的变化.
(2)解答此类题目:①要明确算法框图的顺序结构、选择结构和循环结构;②理解算法框图的功能;③要按框图中的条件运行程序,按照题目的要求完成解答.
【训练2】 (1)(2017·南昌质检)执行如图所示的算法框图,输出的S值为-4时,则输入的S0的值为( )
A.7 B.8
C.9 D.10
(2)(2016·兰州诊断)如图,程序输出的结果S=132,则判断框中应填( )
A.i≥10 B.i≥11
C.i≤11 D.i≥12
解析 (1)根据算法框图知,当i=4时,输出S.第一次循环得到S=S0-2,i=2;第2次循环得到S=S0-2-4,i=3;第3次循环得到S=S0-2-4-8,i=4.
依题意,得S0-2-4-8=-4,则S0=10.
(2)由题意,S表示从12开始的逐渐减小的若干个连续整数的乘积,由于12×11=132,故此循环体需要执行两次,∴每次执行后i的值依次为11,10,由于i的值为10时,就应该结束循环,再考察四个选项,B符合题意.
答案 (1)D (2)B
考点三 基本算法语句
【例3】 根据下图算法语句,当输入x为60时,输出y的值为( )
输入 x
If x<=50 Then
y=0.5* x
Else
y=25+0.6*( x-50)
End If
输出 y
End
A.25 B.30
C.31 D.61
解析 通过阅读理解知,算法语句是一个分段函数y=f(x)=
∴y=f(60)=25+0.6×(60-50)=31.
答案 C
规律方法 解决算法语句有三个步骤:首先通读全部语句,把它翻译成数学问题;其次领悟该语句的功能;最后根据语句的功能运行程序,解决问题.
【训练3】 程序:
输入 x
If x<0 Then
y=-x+1
Else
If x=0 Then
y=0
Else
y=x+1
End If
End If
输出 y
End
上面程序表示的函数是________.
答案 y=
[思想方法]
1.选择结构一般用在需要对条件进行判断的算法程序中,如求分段函数的函数值等.
2.循环结构常常用在一些有规律的科学计算中,如累加求和,累乘求积,多次输入等.利用循环结构表示算法:第一要选择准确的表示累计的变量,第二要注意在哪一步结束循环.解答循环结构的算法框图,最好的方法是完整执行每一次循环,防止执行程序不彻底,造成错误.
[易错防范]
1.注意起止框与处理框、判断框与循环框的不同.
2.注意选择结构与循环结构的联系:循环结构有重复性,选择结构具有选择性没有重复性,并且循环结构中必定包含一个选择结构,用于确定何时终止循环体.
3.关于赋值语句,有以下几点需要注意:
(1)赋值号左边只能是变量名字,例如3=m是错误的;
(2)赋值号左右不能对换,赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量,例如Y=x,表示用x的值替代变量Y的原先的取值,不能改写为x=Y.因为后者表示用Y的值替代变量x的值.
(3)在一个赋值语句中只能给一个变量赋值,不能出现多个“=”.
基础巩固题组
(建议用时:30分钟)
一、选择题
1.执行如图所示的算法框图,若输入的实数x=4,则输出结果为( )
A.4 B.3 C.2 D.
解析 依题意,输出的y=log24=2.
答案 C
2.(2017·汉中质检)根据如图所示算法框图,当输入x为6时,输出的y=( )
A.1 B.2
C.5 D.10
解析 当x=6时,x=6-3=3,此时x=3≥0;当x=3时,x=3-3=0,此时x=0≥0;当x=0时,x=0-3=-3,此时x=-3<0,则y=(-3)2+1=10.
答案 D
3.一个算法的算法框图如图所示,若该程序输出的结果是,则判断框内应填入的条件是( )
A.i<4 B.i>4 C.i<5 D.i>5
解析 i=1进入循环,i=2,T=1,P==5;再循环,i=3,T=2,P==1;再循环,i=4,T=3,P==;再循环,i=5,T=4,P==
,此时应满足判断条件,所以判断框内应填入的条件是i>4.
答案 B
4.(2016·四川卷)秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图所示的算法框图给出了利用秦九韶算法求某多项式值的一个实例,若输入n,x的值分别为3,2,则输出v的值为( )
A.9 B.18 C.20 D.35
解析 由算法框图知,初始值:n=3,x=2,v=1,i=2,
第一次循环:v=4,i=1;
第二次循环:v=9,i=0;
第三次循环:v=18,i=-1.
i=-1<0,结束循环,输出v=18.
答案 B
5.(2017·合肥调研)阅读右面的算法框图,运行相应的程序,则输出S的值为( )
A.-10 B.6
C.14 D.18
解析 算法框图为直到型循环结构,初始值S=20,i=1.
执行一次循环,i=2,S=20-2=18.
执行两次循环,i=2×2=4,S=18-4=14.
执行三次循环,i=2×4=8,S=14-8=6满足i>5,终止循环,输出S=6.
答案 B
6.根据程序写出相应的算法功能为( )
A.求和:12+32+52+…+9972
B.求和:12+32+52+…+9992
C.求和:12+32+52+…+9952
D.求和:12+32+52+…+20012
答案 B
7.(2016·天津卷)阅读右边的算法框图,运行相应的程序,则输出S的值为( )
A.2 B.4
C.6 D.8
解析 初始值S=4,n=1.
循环第一次:S=8,n=2;
循环第二次:S=2,n=3;
循环第三次:S=4,n=4,满足n>3,输出S=4.
答案 B
8.(2015·全国Ⅱ卷)下面算法框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”,执行该算法框图,若输入的a,b分别为14,18,则输出的a等于( )
A.0 B.2 C.4 D.14
解析 执行算法框图:当a=14,b=18时,a<b,则b=18-14=4;当a=14,b
=4时,a>b,则a=14-4=10;当a=10,b=4时,a>b,则a=10-4=6;当a=6,b=4时,
a>b,则a=6-4=2;当a=2,b=4时,a<b,则b=4-2=2,此时a=b=2,输出a为2.故选B.
答案 B
二、填空题
9.(2017·铜川模拟)执行下面的算法框图,若输入的x的值为1,则输出的y的值是________.
解析 当x=1时,1<2,则x=1+1=2;当x=2时,不满足x<2,则y=3×22+1=13.
答案 13
10.(2017·安徽江南名校联考)某算法框图如图所示,判断框内为“k≥n”,n为正整数,若输出的S=26,则判断框内的n=________.
解析 依题意,执行题中的算法框图,进行第一次循环时,k=1+1=2,S=2×
1+2=4;进行第二次循环时,k=2+1=3,S=2×4+3=11;进行第三次循环时,k=3+1=4,S=2×11+4=26.
因此当输出的S=26时,判断框内的条件n=4.
答案 4
11.如图所示的算法框图,若输入的x的值为1,则输出的n的值为________.
解析 由x2-4x+3≤0,解得1≤x≤3.
当x=1时,满足1≤x≤3,所以x=1+1=2,n=0+1=1;
当x=2时,满足1≤x≤3,所以x=2+1=3,n=1+1=2;
当x=3时,满足1≤x≤3,所以x=3+1=4,n=2+1=3;
当x=4时,不满足1≤x≤3,所以输出n=3.
答案 3
12.(2017·安庆模拟)执行如图所示的算法框图,如果输入的t=50,则输出的n=________.
解析 第一次运行后S=2,a=3,n=1;
第二次运行后S=5,a=5,n=2;
第三次运行后S=10,a=9,n=3;
第四次运行后S=19,a=17,n=4;
第五次运行后S=36,a=33,n=5;
第六次运行后S=69,a=65,n=6;
此时不满足S16,则输出n的值为4.
答案 B
14.(2017·长沙雅礼中学调研)执行如图所示的算法框图,如果输入n=3,则输出的S=( )
A. B. C. D.
解析 第一次循环:S=,i=2;
第二次循环:S=+,i=3;
第三次循环:S=++,i=4,满足循环条件,结束循环.
故输出S=++
=(1-+-+-)=.
答案 B
15.(2017·西安模拟)执行如图所示的算法框图,如果输出S=3,那么判断框内应填入的条件是________.
解析 首次进入循环体,
S=1×log23,k=3;
第二次进入循环体,
S=×=2,k=4;依次循环,
第六次进入循环体,S=3,k=8,
此时结束循环,则判断框内填k≤7.
答案 k≤7
16.关于函数f(x)=的算法框图如图所示,现输入区间[a,b],则输出的区间是________.
解析 由算法框图的第一个判断条件为f(x)>0,当f(x)=cos x,x∈[-1,1]时满足.然后进入第二个判断框,需要解不等式f′(x)=-sin x≤0,即0≤x≤1.故输出区间为[0,1].
答案 [0,1]
特别提醒:教师配赠习题、课件、视频、图片、文档等各种电子资源见《创新设计·高考总复习》光盘中内容.