选修模块算法和程序设计等级考试试题
胡永跃
第一卷(4页)
一、单项选择题(共20个空,每空2分,共40分)
1.人们利用计算机解决问题的基本过程一般有如下五个步骤(①~⑤),请按各步骤的先后依次在下列选项(A~D)中选择正确的答案(    )
①调试程序 ②分析问题 ③设计算法 ④构建数学模型 ⑤编写程序
(A)①②③④⑤  (B)②④③⑤①  (C)④②③⑤①  (D)②③④①⑤
2.下列各种基本数据类型说明符中表示整数型的是(    )
(A) Integer    (B) Boolean    (C) Single    (D) String
3.下列各项中,合法的变量名是(    )
(A) &90    (B) abc=9  (C) hello    (D) 888.f
4.有两个条件P 、Q,只要有一个条件为真时,结果确定为真的是(    )。
(A)Not P    (B)P And Q  (C)P OR Q    (D)NOT P AND NOT Q
5.下列代数式的Visual Basic表达式是(    )
(A)(x^5-cos(29*3.14/180))/(sqr(exp(x)+log(y) +5))
(B)(x^5-cos(29))/(sqr(exp(x)+ln(y))+5)
(C)(x^5-cos(29*3.14/180))/(sqr(exp(x)+ln(y))+5)
(D)(x^5-cos(0.506))/(sqr(exp(x)+log(y))+5)
6.在VB中,表达式(18+25/3)Mod 5 的值是(    )。
(A)0    (B)1    (C)2    (D)3
7.VB函数InStr ()检查是否包含另一子串:含有子串则返回值为子串在父串中第一次出现的位置,不包含子串则返回值为0。InStr("CATbCACBC", "BC")的值为(    )
(A)0    (B)4    (C)8    (D)1
8.VB函数Right ()从字串右端取部分字串:将某一字串从结尾起先取固定长度的字串。Right("Visual Basic 6.0",6)的值为(    )
(A)sic 6.0    (B)asic 6.0    (C)Visual    (D)ic 6.0
9.程序如下:
k=-20
  do while  (k=0)
k=k+1
  loop
以下说法正确的是(    )
(A)do while 语句执行了20次;(B) While 循环是无限循环
(C)循环体语句一次也不执行  (D) 循环体语句执行一次
10.VB中将两个字符串连接起来的运算符有:+和&,那么 "123"+45结果是(    )
(A)168    (B)12345    (C)"123"    (D)45
11.已知A,B,C,D是简洁变量,且都已有互不相同的值,执行语句B=8:A=C:D=A:D=B后,其值相等的变量是(    )
(A)A,D    (B)A,C    (C)C,B    (D)B,A
12.要交换变量A和B之值,应运用的语句组是(    )
(A)A=B:B=C:C=A    (B)C=A:A=B:B=C  (C)A=B:B=A  (D)C=A:B=A:B=C
13.模块化程序设计方法主要通过(    )来实现。
(A)递归算法和递归程序    (B)过程和函数的定义和调用
(C)程序的循环结构        (D)对象
14.在窗体上画一个叮嘱按钮,然后编写如右方所示事务过程。程序运行后,单击叮嘱按钮,程序打印的结果为(    )
(A)76    (B)10    (C)72    (D)48   
Private Sub Command1_Click()
  Dim I As Integer, j As Integer, x As Integer
      x = 4
      For I = 1 To 4
        For j = 1 To 3
          x = x + 6
      Next j
    Next I
      Print x
End Sub
15.在窗体上画一个叮嘱按钮,然后编写如右方所示事务过程。程序运行后,单击叮嘱按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为(    )(A)2      (B)3    (C)14    (D)15   
Prevate Sub Command1_Click()
 Dim a as integer,b as integer, x as integer
   x=0
   Do Until x=-1
    a = InputBox(“请输入A的值”)
    a = Val(a)
    b = InputBox(“请输入B的值”)
    b = Val(b)
    x = InputBox(“请输入x的值”)
    x = cint(x)
    a = a+b+x
   Loop
   Print a
End Sub
16.在窗体上画一个文本框(其中Name属性为Text1),然后编写如右方所示事务过程。运行程序的结果是(    )
(A)在文本框Text1中输出aaa(B)在文本框Text1中输出55
(C)编译错误                (D)在文本框Text1中没有输出   
画出while语句的流程图Private Sub Form_Load()
  Dim i As Integer, sum As Integer
    Text1.Text = "aaa"
    For i = 1 To 10
        sum = sum + i
    Next i
    Text1.Text = sum
End Sub
17."猴子吃桃"问题:一天,有一只猴子从树上摘下若干个桃子,当即吃了一半,觉得不过瘾,又吃了一个。其次天小猴子接着吃剩下的一半,还觉得不过瘾,又吃了一个。以后每天都是吃前一天剩下的一半并再吃多一个。到第四天,猴子按规则吃完桃子后,只剩一个桃子。问小猴子第一天摘了多少个桃子。右图所示是依据分析所画出的部分流程图。接受倒推算法,其中设定M的初始值为1(第四天吃完后剩下的桃子数),D为天数(初始值为5)。请在下面的①和②(对应流程图中相应空缺位置)填入相应选项(A~D):
①(    )(A)M=M*2  (B)M=M*2+1  (C)M=2*(M+1)  (D)M=2M+1
②(    )(A)D=1  (B)D>1  (C)D<1  (D)D=0       
18.由10个数组成的数列:12、5、15、20、46、98、75、36、13、57,假如用依次查法从左边第一个数起先出数据75的查次数是①(    );假如将数列从大到小排序后再用折半查法到数据75的最少查次数是②(    )。
(A)7    (B)4    (C)3    (D)2
二、推断题(对打√,错打×)。(每小题1分,共15分)
1.一个算法至少有一个输入。(    )
2.任何一个算法所包含的计算步骤都是有限的。(    )
3.算法可以不输出任何结果。(    )
4.机器语言是能够被计算机干脆接受和执行的计算机语言。(    )
5.假如用某种高级语言编写的程序中只有第N行的一个语句有语法错误,用编译程序翻译时,计算机会先翻译前面的N-1行程序并由计算机执行前N-1行程序,直到第N行有语法错误的语句才停止执行并等待用户修改。(    )
6.说明程序将某个高级语言编写的程序全部说明为机器语言程序后才由计算机执行该程序。(    )
7.从本套试题的第一大题(选择题)的第3小题中的流程图我们可以看出,它既包含了程序的依次结构、循环结构,也包含了分支结构。(    )
8.当a=5,b=7,c=-2,d=1时,逻辑表达式:A+b>c+d AND a>=5 OR NOT c>0 OR D<0的运算结果为True。(    )
9.模块化程序设计方法反映了结构化程序设计的"自顶而下、逐步求精"的基本思想。也就是说,将一个大而困难的问题,由总体到局部,逐步分解为若干个小的可解的基本问题,再通过求解这些基本问题最终求得原问题的解。(    )
10.递归算法就是一种干脆或间接地调用自身的算法。(    )
11.结构化程序设计方法是一种面对过程的设计思想,它把程序定义为"数据结构+算法" 。(    )
12.在面对对象程序设计中,一个程序对象的属性用变量来表示;而对象的行为用对象中的代码段来实现。(    )
13.在面对对象程序设计中,类表达的是一种抽象的概念,它描述了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自己的属性。(    )
14.通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为穷举法。
著名的"百鸡问题"求解,一般接受穷举法将全部可能列出来并推断其是否符合条件,15.假如符合就将其打印出来,否则接着推断下一组数据。(    )
三、阅读以下两段程序代码,写出运行结果:(每小题5分,共10分)
1、 Private Sub Command1_Click()
For i = 2 To 9
          a = (i * i) Mod 10
          If a = i Then Print i * i
Next i
End Sub
  当运行程序点击按钮Command1时,将出现结果为:____________________
2、运行时,单击窗体然后在输入框中依次输入10、37、50、55、64、20、28、-19、0,写出运行结果___________________________________________
Private Sub Form_Click()
  Dim x As Integer
  Do
      x = Val(InputBox("x="))
      If (x Mod 10) + Int(x / 10) = 10 Then Print x;
  Loop Until x = 0
End Sub
其次卷
四、程序设计。(第一题15分,其次题20分,共35分)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。