1、同济中学2016学年度第二学期高一期中测试信息科技试卷(2017.04)(时间60分钟,满分100分)一、单项选择题(每题2分,共64分)1. 下列关于算法说法错误的是( )A利用计算机解决问题的过程一般是:分析问题设计算法编写程序 运行程序B算法可以用自然语言、流程图或程序代码描述C算法的步骤必须是有限的。D算法就是计算的方法。2. 用流程图表达条件“c=0”,要用到以下哪个框?( )A B C D3. 如果atrue,bfalse,ctrue,dfalse,以下逻辑表达式的值为false的个数是() a and b a or b a and c or not d not (a and c)
2、 or d A. 1个 B.2个 C.3个 D.4个4. 以下合法的变量名是( )AA-B Bfor C a_1 D4S 5. 表达式Abs(16)15 Mod 135的值是( )A17 B5 C 16 D16.4 6. 下列用流程图描述的算法中,正确的是( )A. 图1 B. 图2 C. 图3 D. 图47. “如果变量a,b的值中任意一个为0,那么yy1”,能实现该功能的VB语句是()A. If a0 And b0 Then yy1 B. If a*b0 Then yy1C. If a0,b0 Then yy1 D. If aba Then yy18. 下列语句中的等于“=”作用与其他选项
3、不同的是( )Aif a =0 then B. do while x=0C. for x=0 to 5 D. if n mod 3=0 then9. 在如下VisualBasic程序段中,要使循环体tt*j执行5次,循环变量的终值可以是( )For j1 To _ Step 2 tt*jNext jA.5 B.0 C.5 D.1010. 下图是当循环、直到循环两种循环结构,请结合下图选择下列说法中正确的是 ( )A当循环是当条件成立退出循环B当循环不可能出现不执行循环步骤的情况C直到循环是条件成立时执行循环步骤D直到循环至少执行一次循环步骤11. 设计一个含有循环结构的算法,若要确保循环的次数
4、为10次,下列设计中不能达到该目的的流程图个数为( ) A. 1 B.2 C. 3 D. 412. 为了求数列12+32+52+72+992的和,以下说法错误的是( )。A求和通常采用累加器逐个累加,这题要重复累加50次。B这个问题通过循环结构解决。C在Visual Basic中只能用do while/loop语句编程解决这个问题。D解决这个问题的算法不需要输入。13. 以下关于算法基本结构嵌套的叙述中,正确的有( ) 分支结构可以嵌套分支结构 分支结构可以嵌套循环结构 循环结构可以嵌套分支结构 循环结构可以嵌套循环结构A 4个 B. 3个 C. 2个 D. 1个14. 下列流程图属于双重循环
5、结构的是( )。A图 B图 C图 D图15. 以下只能用解析算法求解的是()A已知边长a、b、c,求三角形面积。B. 求用10元、20元和50元三种纸币组合支付360元的不同方案。C求2000以内的素数。D. 求所有的水仙花数的总和。16. 关于枚举算法的说法错误的是( )A.一般是通过循环中嵌套分支结构来实现的。B. 循环结构用来“枚举”,分支结构用于“检验”。C.列举所有可能解的范围时,可以扩大但不能缩小,以防漏解。 D.采用枚举法时,也可能找不到符合条件的解。17. 数组a中存放了一批数据如下表,现采用对分查找方式在这批数据中查找“gou”,以下说法正确的是( )。a(1)a(2)a(3
6、)a(4)a(5)a(6)a(7)houjilongmaniushetuA依次被比较的数据是“ma”,“ji”,“hou”B依次被比较的数据是“ma”,“she”,“tu”C无法进行对分查找,因为这批数据还没排好序D无法进行查找操作,因为这批数据中没有“gou”18. 在Visual Basic中,要定义一个一维数组name,用于存储10位学生姓名信息,则正确的数组定义语句是( )ADim name(1 To 10) As Integer BDim name(1,10) As IntegerCDim name(1,10) As String DDim name(1 To 10) As Stri
7、ng19. 如下算法的功能是:寻找数组元素a(1)到a(10)中的最小值。 处应填写的语句是( ) For i2 to 10If a(i)10 then yx*22else if x5 then yx*3 else y4x/7 end ifend ifprint y A.16 B.21 C.3 D.2128. 如下程序的运行结果是()s=0n=1do while n10s=s+nn=n+3loopprint s,nA. 12 10B. 12 7C. 22 10D. 22 729. 为使下面两段Visual Basic程序能实现相同的功能,左框内划线处的内容为( )a=val(inputbox(
8、“ ”)b=val(inputbox(“ ”)x=aa=bb=xprint a,b a=val(inputbox(“ ”)b=val(inputbox(“ ”)a=a+b_a=a-bprint a,bAb = a + b Ba = b a Cb = b - a Db = a - b30. 为使两段程序能实现相同的功能,左框内划线处的内容为( )x=val(inputbox(“ ”)a=int(x/100)b=int(x mod 100)/10)c=x mod 10x=c*100+b*10+aprint x x=val(inputbox(“ ”)a=x100_c=x mod 10x=c*100+
9、b*10+aprint xAb = x 10 Mod 10 Bb = (x - a * 100) / 10Cb = (x - a * 100) / 10 Db = Int(x - a * 100 - c) / 10)31. 为使下面两段程序能实现相同的功能,右框内划线处的内容为( )s=0For i=1 to 10 x=inputbox(“x=”)s= s+xNext iPrint s s=0t=1Do while _ x=inputbox(“x=”) s=s+x t=t+2loopprint sA t=10 B. t=20 C. t19 D. t2032. 为使下面两段程序能实现相同的功能,
10、右框内划线处的内容为( )s=0For i=1 to 30 s= s+2iNext iPrint s s=0a=1for i=1 to 30 _ s=s+anext iprint s A a=a+1 B. a=a+2 C. a=i2 D. a=a*2二、填空题(每格3分,共9分)33. 以下是两位同学设计的描述“输出所有能被3整除的四位数”的流程图。(1)请将流程图的空缺填写完整 _ _ (2)请问采用枚举算法描述的是 。(从下列选项中选择)图 BA图AB图B C都是 D都不是 图 A三、程序拼装题(4分)34. 如下VB代码要实现的功能是:求。请在下列10条语句中选取5条拼接成一段完整的程序
11、。(注意:每条语句最多使用一次;答题时只要将选取语句的标号按执行先后排列即可)Dim s as single, i as integer(1) For i=2 to 256 step 2(2) For i=1 to 8 step 1(3) S=0(4) S=3(5) i=i+1(6) next i(7) loop(8) s=s+1/i(9) s=s+1/2i(10) print s选取的语句标号序列是:_、_、_、_、_。四、程序改错题(每题3分,共15分)35. 小明根据如下流程图编写了VB程序,但运行时提示有错,请找出程序中的5个错误,并改正。Dim s as integer,j as i
12、nteger,n as integer s=0,j=1,n=0 If j0 then s=s+x n=n+1 Else j=j+1 Loop Print s(1)错误语句的编号是_。(1分)(2)修改为_。(2分)(2)错误语句的编号是_。(1分)(2)修改为_。(2分)(3)错误语句的编号是_。(1分)(2)修改为_。(2分)(4)错误语句的编号是_。(1分)(2)修改为_。(2分)(5)错误语句的编号是_。(1分)(2)修改为_。(2分)五、编写程序题(8分)36. 求满足首尾两个数字相等的所有四位正整数之和。(1)写出能表示“一个四位正整数X的千位数字和个位数字相等”的VB表达式(2分)
13、 _(2)将下列程序填写完整,求所有满足上述条件的四位正整数之和(6分) Dim x as integer,p1 as integer,p2 as integer,s as long S=0 Print “s=”;s同济中学2016学年度第二学期高一期中测试信息科技试卷标准答案(2017.04)(时间60分钟,满分100分)题号单项选择题填空编程题总分得分一、单项选择题(每题2分,共64分)01234567890DABCABBCD1DBCACACADD2BBACBCDCAD3ADD二、 填空题(每格3分,共9分)33. (1)请将流程图的空缺填写完整 i=i+3 _i=i+1_ 。(2)请问采
14、用枚举算法描述的是 B 。(从下列选项中选择)A图AB图B C都是 D都不是三、程序拼装题(4分)34. 选取的语句标号序列是:_4_、_2_、_9_、_6_、_10_。四、程序改错题(每题3分,共15分)35. (1)错误语句的编号是 。(1分)(2)修改为 s=0:j=1:n=0 。(2分)(2)错误语句的编号是 。(1分)(2)修改为 do while j=10 。(2分)(3)错误语句的编号是 。(1分)(2)修改为 x=inputbox(“ ”) 。(2分)(4)错误语句的编号是 。(1分)(2)修改为 end if 。(2分)(5)错误语句的编号是 。(1分)(2)修改为 prin
15、t n 。(2分)五、编写程序题(8分)37. 求满足首尾两个数字相等的所有四位正整数之和。(1)写出能表示“一个四位正整数X的千位数字和个位数字相等”的VB表达式(2分) x1000=x mod 10 (2)将下列程序填写完整,求所有满足上述条件的四位正整数之和(6分) Dim x as integer,p1 as integer,p2 as integer,s as long或X=1000Do while x=9999 If x1000=x mod 10 then s=s+x end if x=x+1loop S=0 For x=1000 to 9999 If x1000=x mod 10 then s=s+x end if next x Print “s=”;s