综合检测
(120分钟,150分)
一、选择题(每小题5分,共40分.在每小题给出的四个选项中,只有一项是符合题目要求的) 1.下列运算不属于我们所讨论算法范畴的是( )
A.已知圆的半径求圆的面积 B.随意抽4张扑克牌算到二十四点的可能性 C.已知坐标平面内两点求直线方程 D.加减乘除法运算法则 【解析】B. A、C、D均可以按照一定的步骤完成
2.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤、从下列选项中选最好的一种算法( )
A.S1 洗脸刷牙、S2刷水壶、S3 烧水、S4 泡面、S5 吃饭、S6 听广播 B.刷水壶 、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5 听广播 C.刷水壶 、S2烧水同时洗脸刷牙、S3泡面、S4吃饭 同时 听广播 D.吃饭 同时 听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶 【解析】C.
3.以下关于排序的说法中,正确的是( )
A.排序就是将数按从小到大的顺序排序
B.排序只有两种方法,即直接插入排序和冒泡排序
C.用冒泡排序把一列数从小到大排序时,最小的数逐趟向上漂浮 D.用冒泡排序把一列数从小到大排序时,最大的数逐趟向上漂浮 【解析】C.由冒泡排序的特点知C正确. 4.下列语句中:①m?⑤
x3?x2 ②T?T?I ③32?A ④A?A?2
A?2?(B?1)?2?B?2 ⑥p?((7x?3)x?5)x?1 其中是赋值语句的个数为( )
A.6 B.5 C.4 D.3 【解析】C. ①②④⑥为赋值语句
5.把“二进制”数1011001(2)化为“五进制”数是( )
A.224(5) B.234(5) C.324(5) D.423(5) 【解析】C.先转化成“十进制”,再转化为“五进制”数. 6.840和1764的最大公约数是( )
A.84 B.12 C.168 D.252 【解析】A.用辗转相除法或更相减损术可求得.
7.下面为一个求20个数的平均数的程序,在横线上应填充的语句为 ( )
A.i>20 B.i<20 C.i>=20 D.i<=20 【解析】A.依题意须循环20次
8.为了在运行下面的程序之后得到输出y=16,键盘输入x应该是( )
A.3或?3 B.?5 C.?5或5 D.5或?3 【解析】C.令(x?1)22?16得:x??5或x?3(舍),令(x?1)?16得:x?5或x??3(舍)
S=0 i=1 DO INPUT x S=S+x i=i+1 LOOP UNTIL _____ a=S/20 PRINT a END 第7题图
二、填空题:(本大题共7小题,其中13—15小题是选做题;每小题5分,共30分)
第1页 共4页
9.已知有下面程序,如果程序执行后输出的结果是11880,那么在程序 UNTIL后面的“条件”应为 【解析】iINPUT x IF x<0 THEN y=(x+1)?(x+1) ELSE y=(x-1)?(x-1) End if 开始 Print y end ?9(或i??9)11880?12?11?10?9] 10.给出下面的程序框图,那么其循环体执行的次数是 【解析】499.
11.比较大小:45(6)i=12 s=1 DO s = s * i i = i-1 LOOP UNTIL 条 件 PRINT s END (第9题)程序 i从2运行到998步长为2,运行次数为499 i=2,sum=0 sum=sum+i i=i+2 否 第8题i?1000是 ?32(4) 123(5)
结束 (第10题图) 【解析】? 由于45(6)所以45(6)所以45(6)?4?6?5?29,32(4)?3?4?2?14,
?32(4)?29?14?43,而123(5)?1?52?2?5?3?38,
?32(4)?123(5)
12.用等值算法求294和84的最大公约数时,需要做 次减法. 【解析】4.由等值算法可求得
选做题(从13题、14题、15题中任选2题)
13.下列四个有关算法的说法中,正确的是 . ( 要求只填写序号 ) ⑴算法的某些步骤可以不明确或有歧义,以便使算法能解决更多问题;
INPUT x ⑵正确的算法执行后一定得到确定的结果; ⑶解决某类问题的算法不一定是唯一的; ⑷正确的算法一定能在有限步之内结束. 【解析】(2)(3)(4).从算法的定义可得
14.若输入3,则下列程序执行后输出的结果为 【解析】
else If x<0 THEN y?1x2 y?x Print y end 14题 3.?3?0,y?3.
第1页 共4页
15.读程序,完成下面各题
(1)输出结果是 .
(2)输出结果是 .
x=1 y=2 z=3 x=y y=z z=x PRINT x,y,z 第15题(1) j=1 s=0 WHILE s≤10 s=s+j j=j+1 END WHILE PRINT j 第15题(2) 【解析】(1)2,3,2 (2)6 正确理解算法语句和循环语句的含义 三、解答题:(本大题6小题,共80分) 16.(13分)将十进制数30化为二进制.
【解析】把一个十进制的数转换为相应的二进制数,用2反复去除欲被转换的十进制数30,直到商是0为止,所得余数(从末位读起)就是该十进制数30的二进制表示. 所以30(10)?11110(2) (13分)
17.(12分)设计算法流程图,要求输入自变量x的值,输出函数
???2x?5, x?0? f(x)??0, x?0 的值,
???x?3, x?0?2并用复合IF语句描述算法. 【解析】(12分)
18.(14分)设计程序框图求
INPUT x IF x<0 THEN f(x)? ELSE IF x=0 THEN ?2x?3 f(x)?0 ELSE f(x)? END IF END IF END ?2x?5 1111的值. ???????1?22?33?449?50第1页 共4页
相关推荐: