1、《算法初步》单元测试B (本卷满分160) 一、选择题:本大题共10小题,每小题5分,共50分.在每小题给出的四个选项中,有且只有一项是符合题目要求的,请把正确答案填在相应的括号( )内. 1、下面四个问题中必须用条件结构才能实现的个数是 ( ) ①已知梯形上下底为a,b,高为h,求梯形面积;②求方程ax+b=0(a、b为常数)的根; ③求三个数a,b,c中的最小数;④求函数的函数值 A、1个 B、2个 C、3个 D、4个 2、有一堆形状、大小相同的珠子,其中只有一粒重量比其它的轻,某同学经过思考,他说根据科学的算法,利用天平
2、三次肯定能找到这粒最轻的珠子,则这堆珠子最多有几粒 A、21 B、24 C、27 D、30 ( ) 3、下面是一个算法的伪代码,如果输入的x值是20,则输出的y值是 ( ) A、100 B、50 C、25 D、150 4、计算算法,图中给出了程序的一部分,则在横线上能填入的数是 A、13.5 B、12.5 C、12 D、11.5 ( ) S←1 For i From 1 To
3、 _ Step 2 S←S×i End For Print S (第4题) S←0 For I From l To 1000 S←S+I End For (第5题) Read x If x≤5 Then y←10x Else y←7.5x End If Print y (第3题) 5、对于所给的算法中,执行循环的次数是 ( ) A.1 000 B.999 C.
4、1001 D.998 6、如图算法输出的结果是 ( ) A、满足1×3×5×…×n>2005的最小整数n B、 1+3+5+…+2005 C、求方程1×3×5×…×n=2005中的n值 D、1×3×5×…×2005 7、 阅读下面的两个伪代码 甲 乙 S←0 I←1000 Whil
5、e i≥1 S←S+i i←i-1 End while Print S S←0 I←1 While i≤1000 S←S+i i←i+1 End while Print S (第7题) S←1 I←1 While S≤2005 i←i+2 S←S×i End while Print i (第6题) 其中对甲乙两程序和输出结果判断正确的是 ( ) A、程序不同,结果不同 B、程序不同,结果相同 C、程序相同,结果
6、不同 D、程序相同,结果相同 8、下面这段伪代码的功能是 ( ) A、统计x1到x10十个数据中负数的个数 B、找出x1到x10十个数据中的负数 C、判断x1的符号 D、求x1到x10十个数据中负数的和 9、为了在运行下面的程序之后得到输出y=16,键盘输入x应该是 ( ) A、3或-3 B、 -5 C、-5或5 D、 5或-3 READ x If x<0 then y (x+1)*(x+1) Else
7、y (x-1)*(x-1) End if Print y End (第9题) i12 s1 WHILE条 件 s s * i i i-1 END WHILE PRINT s END (第10题) n←0 Read x1,x2,…,x10 For i From 1 To 10 If xi<0 Then n←n+1 End If End For Print n (第8题) 10.已知有上面程序,如果程序执行后输出的结果是11880,那么在程序的“条件”应为( )
8、 A、i > 9 B、i >= 9 C、i <= 8 D、i < 8 二、填空题:本大题共6小题,每小题5分,共30分.请把正确答案填在题中相应的横线上. 11、对取某给定的值,用“秦九韶算法”设计求多项式的值时,应先将此多项式变形为 ,它共做了 次乘法 次加法。 12、阅读下面所给伪代码,此段伪代码输出的结果是 ; 13、如果在所给程序中运行后输出的结果为132,那么在程序While后面的“条件”应为_____; aß221 iß2
9、While Mod(a,i)≠0 i ßi + 1 End While Print i (第12题) 开始 输入n s←1 i←1 i<20 是 s←s+1/(2i+1) i←i+1 输出s 结束 14题 14、图中所示的S的表达式为 ; 15、下面是用伪代码写出求成立的的最大整数值的算法过程,请将其补全。 (1)初始值为; (2); (3); (4); (5); (6)如果,则执行语句(7), 否则回到语句(2)继续进行; (7)打印; (8)程序终止
10、 (第16题) 16、这是一个算法的操作说明:由语句(7)打印出的数值为 ; 三、解答题:本大题共5小题,共80分.解答应写出文字说明,证明过程或演算步骤. 打印 x1 输入 输出 结束 Yes No 17.(本题16分).对任意函数,可按图示构造一个数列发生器,其工作原理如下:①输入数据,经数列发生器输出; ②若,则数列发生器结束工作;若,则 将反馈回输入端再输出,并且依此规律继续下去. 现定义. (I)若输入,则由数列发生器产生数列,请写 出数列的所有项; (II)若要数列发生器产生一个无穷的常数
11、列,试求输入的初始数据的值;
(III)若输入时,产生的无穷数列满足:对任意正整数,均有,求的
取值范围.
18、(本题16分)下面是计算应纳税所得额的算法过程,其算法如下:
S1 输入工资x(x<=5000);
S2 如果x<=800,那么y=0;
如果800 12、用是什么?
(2)这个算法的循环体是哪一部分?功能是什么?
(3)这个算法的处理功能是什么?
20、(本题16分)某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下列问题:
(1)写出该城市人口数y(万人)与年份x(年)的函数关系式;
(2)用伪代码表示计算10年以后该城市人口总数的算法;
(3)用流程图表示计算大约多少年以后该城市人口将达到120万人的算法。
21、(本题16分)已知算法(1)、(2)试根据要求分别完成下列两道题:
算法(1) 13、 算法(2)
根据算法(1)的伪代码,指出相应 画出算法(2)的流程图,指出相应算法
算法功能并画出相应的流程图。 功能并求出S值;
江苏省溧阳中学2007-2008学年第一学期高二数学单元测试
《算法初步》水平测试B答案及提示
1、解析:选C,②③③都用条件结构。
2.解析:选C,每次平均分成3组,第三次只能为3个球分组,因此球的个数最多为。
3、解析:选D。
4、解析:选A,到13后就要退出循环体。
5、解析:因为循环中step=1,初值 14、为1,终值为1000,故循环的次数是1000,选A
6、解析:选A。
7、解析:选B,输出的结果都是1到1000的所有自然数的和。
8、解析:选A,利用计数器统计负数的个数。
9、解析:选C, x<0 时,,则,时,,。
10、解析:选B,因为
11、解析: 3次 3次
12、解析:13,此算法表示能够整除221的第一个数。
13、解析:
14、解析:
15、解析:填
16、解析:,(提示:转化为数列来解)
三、解答题:本大题共5小题,共80分.解答应写出文字说明,证明过程或演算步骤.
17、解析:(I)的定义域为,,,,因此只有三项;
(II 15、)要使该数列发生器产生一个无穷的常数数列,则有,则设,即,即时,,因此当时,;时,().
(III) 解不等式得,,要使,则,由于,若,则不合题意;当时,且,依次类推可得数列的所有项均满足,综上所述,。
开始
结束
输入x(x<=5000)
x<=800
x<=1300
输出y
Y
Y
N
N
18、解析:
开始
结束
S<120
输出x
N
Y
19、解:(1)变量y是循环变量,控制着循环的开始和结束
(2)流程图的循环体是与之间的部分,其功能是判断年份是否是闰年,并输出结果
(3)这个算法的处理功能是判断2000年--2500年中,哪些年份是闰年,哪些年份不是闰年,并输出结果。
20、(1)
(2)伪代码如下:
(3)分析:即求满足的
最小正整数,其算法流程图如图。
21、(1)答:功能是求满足不等式的最大正整数。
(或的最小正整数的前一个)
(2)求整数a的所有比它小的正因数的和S=36






