- 1.23 MB
- 2021-06-16 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第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.19 D.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.
(教材习题改编)阅读下面的程序:
INPUT x
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,75 D.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>3 B.x>4
C.x≤4 D.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.7 B.8.6
C.10.2 D.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=2x B.y=3x
C.y=4x D.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>1 000的最小偶数n,那么在和两个空白框中,可以分别填入( )
A.A>1 000和n=n+1
B.A>1 000和n=n+2
C.A≤1 000和n=n+1
D.A≤1 000和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≤1 000时,
才能循环,排除B,故选D.
【答案】 (1)D (2)D
角度三 由程序框图及输出结果,求输入的值
(2017·高考全国卷Ⅲ)执行如图所示的程序框图,为使输出S的值小于91,则输入的正整数N的最小值为( )
A.5 B.4
C.3 D.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.-3 B.
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=5 280,n=12 155,则输出的m的值为
________.
解析:法一:依题意,当输入m=5 280,n=12 155时,执行题中的程序框图,进行第一次循环时,m除以n的余数r=5 280,m=12 155,n=5 280,r≠0;进行第二次循环时,m除以n的余数r=1 595,m=5 280,n=1 595,r≠0;进行第三次循环时,m除以n的余数r=495,m=1 595,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.
法二:依题意,注意到5 280=25×3×5×11,12 155=5×11×221,因此5 280与12 155的最大公因子是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.-5 D.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
LOOP UNTIL 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.11 D.22
解析:选D.执行该程序可知
解得
即86 B.i>7
C.i>8 D.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.119 B.3.124
C.3.132 D.3.151
解析:选B.根据题意,本题可以转化为在平面直角坐标系中,在{(x,y)|0