课件27张PPT。第一章 算法初步章末复习课算法设计 画程序框图 条件结构与条件语句 循环结构与循环语句 点击右图进入…Thank you for watching !章末综合测评(一)
(满分:150分 时间:120分钟)
一、选择题(本大题共12小题,每小题5分,满分60分.在每小题给出的四个选项中,只有一项是符合题目要求的)
1.下面对算法的描述正确的一项是( )
A.算法只能用自然语言来描述
B.算法只能用图形语言来表示
C.同一问题可以有不同的算法
D.同一问题的算法不同,结果必然不同
[答案] C
2.如图所示的程序框图,下列说法正确的是( )
A.该框图只含有顺序结构、条件结构
B.该框图只含有顺序结构、循环结构
C.该框图只含有条件结构、循环结构
D.该框图包含顺序结构、条件结构、循环结构
D [由框图知,三种逻辑结构均含有.]
3.下列算法语句正确的是( )
A.输出语句PRINT A=4
B.输入语句INPUT x=3
C.赋值语句A=A*A+A-3
D.赋值语句55=a
C [输入语句、输出语句中输入、输出的是变量或数值,而不是等式.A、B均错;赋值语句格式是“变量=表达式”,D错;C对.]
4.用辗转相除法,计算56和264的最大公约数时,需要做的除法次数是( )
A.3 B.4
C.6 D.7
B [由辗转相除法264=56×4+40,56=40×1+16,40=16×2+8,16=8×2,即最大公约数为8,做4次除法.]
5.下列各进制数中,最小的是( )
A.1 002(3) B.210(6)
C.1 000(4) D.111 111(2)
A [1 002(3)=29,210(6)=78,1 000(4)=64,111 111(2)=63,故1 002(3)最小.]
6.对于程序:
试问,若输入m=-4,则输出的数为( )
A.9 B.-7
C.5或-7 D.5
D [由程序,先输入m,判断m>-4是否成立,因为m=-4,所以不成立,则执行m=1-m,最后输出结果为5.]
7.如图是求x1,x2,…,x10的乘积S的程序框图,图中空白框中应填入的内容为( )
A.S=S*(n+1) B.S=S*xn+1
C.S=S*n D.S=S*xn
D [由于求x1,x2,…,x10的乘积,故空白处应为“S=S*xn”.]
8.阅读下面的程序:
上述程序的功能是( )
A.计算3×10的值
B.计算39的值
C.计算310的值
D.计算1×2×3×…×10的值
C [该程序使用了循环语句,在i不超过10的条件下,反复执行循环体,依次得到S的值为3,32,33,…,310,所以循环结束时,输出结果为310.]
9.用秦九韶算法求多项式f(x)=4x5-x2+2当x=3时的值时,需要做乘法运算和加法(或减法)运算的次数分别为( )
A.4,2 B.5,3
C.5,2 D.6,2
C [f(x)=4x5-x2+2=((((4x)x)x-1)x)x+2,所以需要做5次乘法运算和2次加(减)法运算.]
10.考拉兹猜想又名3n+1猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1;如果它是偶数,则对它除以2.如此循环,最终都能得到1.阅读如图所示的程序框图,运行相应程序,输出的结果i=( )
A.4 B.5
C.6 D.7
D [模拟算法:开始:a=10,i=1,a=1不成立;a是奇数,不成立,a=5,i=2,a=1不成立;a是奇数,不成立,a=16,i=3,a=1不成立;a是奇数,不成立,a=8,i=4,a=1不成立;a是奇数,不成立,a=4,i=5,a=1不成立;a是奇数,不成立,a=2,i=6,a=1不成立;a是奇数,不成立,a=1,i=7,a=1成立;输出i=7,结束算法.]
11.阅读如图所示的程序框图,运行相应的程序,若输出的结果是4,则程序框图中的处理框“①”处应填写的是( )
A.n=n-1 B.n=n-2
C.n=n+1 D.n=n+2
C [因为起始n=1,输出的n=4,所以排除A、B.若“①”处填n=n+1.则S==-1,n=2,判断-1≠2,继续循环;S==,n=3,判断≠2,继续循环;S==2,n=4,判断2=2,则输出n的值为4,故选C.]
12.对于任意函数f(x),x∈D,可按如图构造一个数字发生器,其工作原理如下:
①输入数据x0∈D,经过数字发生器,输出x1=f(x0);
②若x1?D,则数字发生器结束工作;若x1∈D,则将x1反馈回输入端,再输出x2=f(x1),并依此规律继续下去.
现定义f(x)=2x+1,D=(0,1 000).若输入x0=0,当发生器结束工作时,输出数据的总个数为( )
A.8 B.9
C.10 D.11
C [依题中规律,当输入x0=0时,可依次输出1,3,7,15,31,63,127,255,511,1 023,共10个数据.]
二、填空题(本大题共4小题,每小题5分,共20分,把答案填在题中的横线上)
13.若运行下面的程序,输出的结果为5,则横线处应填写的内容为________.
2或-2 [程序的功能是求所输入的两个数的平方和,由题意得12+y2=5,y=±2.]
14.执行下面的程序后输出的第3个数是________.
2 [第一次输出的数是1,第二次输出的数是x=1+=,第三次输出的数是x=+=2.]
15.运行如图所示的程序框图,若输出的y值的范围是[0,10],则输入的x的取值范围是________.
[-7,9] [本题中的程序框图是计算分段函数y=
的函数值.
当0≤3-x≤10时,-7≤x<-1;当0≤x2≤10时,-1≤x≤1;当0≤x+1≤10时,116.张老师给学生出了一道题:试画一个程序框图,计算S=1++++.同学们有如下四种画法,其中错误的程序框图是________(填相应的序号).
③ [③中,当i=7时,执行最后一次循环,此时S=S+,与题意不符;①②④均正确.]
三、解答题(本大题共6小题,共70分.解答应写出文字说明、证明过程或演算步骤)
17.(本小题满分10分)下面给出了一个问题的算法:
第一步,输入x.
第二步,若x≥4,则y=2x-1;否则,y=x2-2x+3.
第三步,输出y.
问题:(1)这个算法解决的问题是什么?
(2)当输入的x值为多少时,输出的y值最小?
[解] (1)这个算法解决的问题是求分段函数y=的函数值.
(2)当x≥4时,y=2x-1≥7;当x<4时,y=x2-2x+3=(x-1)2+2≥2,所以ymin=2,此时x=1.即当输入的x值为1时,输出的y值最小.
18.(本小题满分12分)分别用辗转相除法和更相减损术求282和470的最大公约数.
[解] 辗转相除法:
470=1×282+188,282=1×188+94,188=2×94,
∴282与470的最大公约数为94.
更相减损术:
470与282分别除以2得235和141.
∴235-141=94,141-94=47,94-47=47.
∴470与282的最大公约数为47×2=94.]
19.(本小题满分12分)下面给出一个用循环语句编写的程序:
(1)指出程序所用的是何种循环语句,并指出该程序的算法功能;
(2)请用另一种循环语句的形式把该程序写出来.
[解] (1)本程序所用的循环语句是WHILE循环语句,其功能是计算12+22+32+…+92的值.
(2)用UNTIL语句改写程序如下:
20.(本小题满分12分)到某银行办理个人异地汇款业务时,银行要收取一定的手续费,汇款不超过100元时,收取1元的手续费;超过100元时,按汇款的1%收取手续费,但最高收取50元的手续费.请你按照银行的规定,设计一个算法,要求输入汇款额x(元)时,输出银行收取的手续费y(元),并画出程序框图.
[解] 算法步骤如下:
第一步,输入x.
第二步,如果x≤100,那么y=1;否则,执行第三步.
第三步,如果x≤5 000,那么y=0.01x;否则,y=50.
第四步,输出y.
程序框图如图.
21.(本小题满分12分)如图(1),在边长为4的正方形ABCD的边上有一点P沿着折线BCDA由点B(起点)向点A(终点)运动.设点P运动的路程为x,△APB的面积为y,且y与x之间的函数关系式用如图(2)所示的程序框图给出.
(1)写出框图中①,②,③处应填写的式子;
(2)若输出的面积y值为6,则程序输入x的值为多少?并指出此时点P在正方形的什么位置上?
[解] (1)框图中①,②,③处应填写的式子分别为y=2x,y=8,y=24-2x.
(2)若输出的面积y值为6,则2x=6或24-2x=6,解得x=3或x=9.
当x=3时,此时点P在正方形的边BC上,且BP=3;
当x=9时,此时点P在正方形的边DA上,且AP=3.
22.(本小题满分12分)某商场第一年销售计算机6 000台,如果以后每年销售比上一年增加12%,那么从第一年起,大约经过几年可使总销量达到150 000台?画出解决此问题的程序框图,并写出程序.
[解] 程序框图如图所示:
程序如下:
算法设计
【例1】 已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.
[解] 第一步,计算x0==1,y0==1,得AB的中点N(1,1).
第二步,计算k1==,得AB斜率.
第三步,计算k=-=-2,得AB垂直平分线的斜率.
第四步,由点斜式得直线AB的垂直平分线的方程,并输出.
算法设计时应注意的问题
(1)与解决问题的一般方法有联系,从中提炼出算法;
(2)将解决问题的过程分为若干个可执行步骤;
(3)引入有关的参数或变量对算法步骤加以表达;
(4)用最简练的语言将各个步骤表达出来;
(5)算法的执行要在有限步内完成.
1.求两底面直径分别为2和4,且高为4的圆台的表面积及体积,写出解决该问题的算法.
[解] 算法如下:
第一步,取r1=1,r2=2,h=4.
第二步,计算l=.
第三步,计算S=πr+πr+π(r1+r2)l与V=π(r+r+r1r2)h.
第四步,输出计算结果.]
画程序框图
【例2】 画出一个计算1×3×5×…×99的程序框图.
[解] 法一:当型循环结构程序框图如图(1)所示.
法二:直到型循环结构程序框图如图(2)所示.
程序框图的画法
对于一个具体的问题,首先设计自然语言描述的算法,这是画框图的基础,其次将算法步骤转化为对应框图.起止框是每个程序框图所不可缺少的,各个框之间用流程线连接,需要断开的地方连接点不可缺少.对于每种框图的功能需要明确,处理框用于数据的处理以及变量的赋值,输入、输出框用于数据的输入与输出,判断框需要填写的是需要进行判断的内容,每个程序框只有一个箭头指向它,并且只能伸出一条流程线(判断框除外).
2.求满足1+2+3+4+…+n>500的最小的正整数n,画出执行该问题的程序框图.
[解] 程序框图:
条件结构与条件语句
【例3】 请写出如图所示的程序框图描述的算法的程序.
[解] 这是一个求分段函数y=的函数值的算法,输入、输出框分别对应输入、输出语句,判断框对应条件语句,算法程序为:
条件结构与条件语句的应用
(1)条件结构主要用在一些需要依据条件进行判断的算法中,如分段函数的求值,数据的大小比较等.在条件结构中,无论条件是否成立,都只能执行两框之一,两框不可能同时执行,也不可能都不执行.(2)条件语句主要有两种格式,一是IF-THEN-ELSE格式,另一种是IF-THEN格式,它们在用法中有所不同.如果要当表达式的结果为假时,执行另一序列的语句,可采用IF-THEN-ELSE格式,否则,可采用IF-THEN格式.在遇到三段以上分类问题时,往往用到条件语句的嵌套,分清层次,内层执行完再执行外层.
3.请根据下图所示算法语句画出相应的程序框图.算法语句具体如下:
[解] 程序框图如图所示:
循环结构与循环语句
【例4】 计算S=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+…+n)的值,画出程序框图并编写程序.
[解] n=1时,S1=1;
n=2时,S2=1+(1+2)=S1+(1+2);
n=3时,S3=S2+(1+2+3);
…
Sn=Sn-1+(1+2+3+4+…+n).
故先考虑Tn=1+2+3+4+…+n的程序框图的画法,求出Tn后,将Sn-1+Tn赋给Sn.
程序框图如下.
程序如下.
循环结构与循环语句的应用
(1)循环结构主要用在一些需要重复执行操作的算法中,如累加、累乘等.循环结构中一定包含条件结构,并且在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都包括在执行或终止循环的条件中.(2)循环语句也有两种格式,WHILE语句和UNTIL语句.在同一个算法中,它们的判断条件的意义恰好是相反的,初始值有时会不同.当先判断再执行循环体时,用WHILE语句,当先执行循环体再判断时,用UNTIL语句,注意二者间的转化.
4.写出计算-12+22-32+42-…-992+1002的值的程序语句.
[解] 程序语句如下: