国家二级(VB)机试模拟试卷340附答案解析

国家二级(VB)机试模拟试卷340

选择题

1.软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和( )。(B)

A. 阶段性报告

B. 需求分析

C. 需求总结

D. 都不正确

解析:软件需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性.

2.单击命令按钮时,下列程序段的执行结果为( )。

Priate Sub Commandl Click()

Print Funcl(24,1 8)

End Sub

Public Function Func I(m As Integer,n As IntegeOAs Integer

Do Whilemn

Do While m>n:m=m-n:Loop

Do While m<n:n=n-m:Loop

Loop

Funcl=m

End Function(B)

A. 8

B. 6

C. 4

D. 2

解析:本题考查循环程序的分析。在函数Funcl中,程序主要由一条嵌套的循环语句构成,如果mn,外循环内部的第一条内循环为除去m中包含的所有的n的倍数。第二条内循环为除去n中包含的m的倍数。最后计算到m和n相等。

3.要想不使用Shift或Ctrl键就能在列表框中同时选择多个项目,则应把该列表框的MultiSelect属性设置为( )。(B)

A. 0

B. 1

C. 2

D. 其他

解析:本题考查列表框的MultiSelect属性。默认状况下列表框仅可以选择一项,通过设置MultiSelect属性值可改变多选设置,该属性有3种值:0表示禁止多选;1表示简单多选,在选项上单击可以选定多项;2为借助Ctrl和Shift键进行的多项选择。

4.在利用菜单编辑器设计菜单时,为了把组合键\(B)

A. 退出(X&)

B. 退出(&X)

C. 退出(X#)

D. 退出(#X)

解析:要使菜单项的快捷键设置为Alt+字母,就要在菜单项的标题中设置为 &+字母。本题把\

5.窗体上有一个名称为Text1的文本框和一个名称为Command1的命令按钮,要求程序运行时,单击命令按钮(如图所示),就可以把文本框中的内容写到文件Out.txt中,每次写入的内容附加到文件原有内容之后。以下能正确实现上述功能的程序是( )。

(C)

A. Private Sub Command1_Click()

Open\

B. Private Sub Command1_Click()

Open\

C. Private Sub Command1_Click()

Open\

D. Private Sub Command1_Click()

Open\

解析:本题考查文件的打开方式。题目中要求在命令按钮单击事件中,往文件中写入信息,并且是追加到原有信息的后面,因此,要用Append方式打开文件。

6.下面程序的运行结果是( )。

Private Sub Form Click()

i=0

Do Until 0

i=i+1

Ifi>10 Then Exit Do

Loop

Print i

End Sub(C)

A. 0

B. 10

C. ll

D. 出错

解析:本题考查Do Until…Loop循环的。对于这种循环结构,条件判断在循环体前,因此有可能一次循环体条件也不执行。由Until引出的循环为,当条件为False时执行循环体;为True时退出循环。初始时,题中Until后面的条件为0,因此会一直运行循环体,直到i大于10成立,退出循环。i第一次大于10的值为11,因此最后输出11。

7.下列队列的描述中,正确的是( )。(D)

A. 队列属于非线性表

B. 队列在队尾删除数据

C. 队列按“先进后出”进行数据操作

D. 队列按“先进先出”进行数据操作

解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的操作数是依据先进先出的原则进行的。因此队列亦称作先进先出的线性表,或后进后出的线性表。

8.下列选项中不属于软件生命周期开发阶段任务的是( )。(C)

A. 软件测试

B. 概要设计

C. 软件维护

D. 详细设计

解析:软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其中开发阶段包括概要设计、详细设计、实现和测试。

9.设a是整型变量,与函数IIf(a>0,-a,a)有相同结果的代数式是( )。(B)

A. |a|

B. -|a|

C. a

D. -a

解析:IIf函数可以用来执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本,其格式为:result=IIf(条件,True部分,False部分)。其中“result”是函数的返回值,“条件”是一个逻辑表达式。当“条件”为真时,IIf函数返回“True部分”,否则返回“False部分”。“True部分”或“False部分”可以是表达式、变量或其他函数。本题中IIf函数的作用是如果a>0则返回-a,否则返回a,等价于-|a|。

10.下列可以打开立即窗口的操作是( )。(D)

A. Ctrl+D

B. Ctrl+E

C. CM+F

D. Ctrl+G

解析:<Ctrl+D>快捷键打开的是添加文件对话框;<Ctrl+E>快捷键打开的是菜单编辑器对话框;<Ctrl+F>快捷键不打开任何对话框:<Ctrl+G>快捷键打开的是立即窗口。

11.下列程序执行后,变量a的值为( )。

Dim a,b,C,dAs Single

a=10:b=20:c=40

If b>a Then

d=a:a=b:b=d

End If

If c>a Then

d=a:a=c:c=d

End If

If c>b Then

d=b:b=c:c=d

End If(B)

A. 10

B. 40

C. 20

D. 100

解析:本题考查选择语句。程序段中包括3条选择语句,其作用分别为:如果a小于b那么交换a和b,如果a小于c那么交换a和c,如果b小于c那么交换b和c,相当于对a、b、c做了降序排列。

12.下面是求最大公约数的函数的首部( )。

Function fun(By Val x As Integer,ByVal y As Integer)As Integer

若要输出8、12、16这3个数的最大公约数,

下面正确的语句是(D)

A. Print fun(8,12),fun(12,16),fun(16,8)

B. Print fun(8,12,16)

C. print fun(8,12),fun(12,16),fun(16)

D. Print fun(8,fun(12,16))

解析:函数过程在传递参数时,形参表与实参表中对应变量的名字不必相同,但参数的个数、对应位置和对应类型必须相同。本题中的fun函数有两个参数,任何对于fun的调用都必须传递实参为两个整犁值;选项A)中得到3个结果,显然不是我们所需要的;选项D)中的函数嵌套调用能够求出3个数的最大公约数。

13.两个或两个以上的模块之间关联的紧密程度称为( )。(A)

A. 耦合度

B. 内聚度

C. 复杂度

D. 连接度

解析: 耦合度是模块间互相连接的紧密程度的度量;内聚度是一个模块内部各个元素间彼此结合的紧密程度的度量。

14.下列程序段的执行结果为( )。

Form1.Cls

a=\(B)

A. ABC

B. BBABBA

C. ABBABA

D. AABAAB

解析:本题考查字符串函数。字符串函数Mid(a,i,i)的作用是从字符串a中第i个位置开始取i个字符构成子串,Left(a,i)的作用是从字符串a的左边取i个字符构成子串,Right(a,i)则表示从字符串a的右边取i个字符构成子串。由于循环体中,x和y总是小断的发乍变化,因此仪需要考虑最后一次x、y的取值即可。在最后一次循环中x为BB,y为AB,z为BA,因此3个字符串合并为BBABBA。

15.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

  Dim array1(10, 10)As Integer

  Dim i As Integer, j As Integer

  For i=1 To 3

    For j=2 To 4

      array1(i, j)=i+j

    Next j

  Next i

  Text1.Text=array1(2, 3)+array1(3, 4)

End Sub

程序运行后,单击命令按钮,在文本框中显示的值是(  )。(D)

A. 15

B. 14

C. 13

D. 12

解析:程序中通过For循环为数组中部分元素赋值,没有赋值的元素值将默认为0。循环中i=2,j=3时,array1(i,j)=i+j,即array1(2,3)=5,i=3,j=4时,array1(3,4)=3+4,即array1(3,4)=7。5+7=12,因此程序文本框中显示值是12。

16.在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序代码:

Option Base 1

Dim arr()As Integer

Private Sub Commandl_Click()

Dim i As Integer,j As Integer

Dim S As Integer

ReDim arr(4.2)

S=0

For i=1 To 3

For j=1 To 2

art(i,j)=i+j

Next j

Next i

ReDim Preserve art(4,4)

For j=3 To 4

art(3,j)=j+10

Next j

For i=1 To 4

S=S+arr(i,i)

Next i

Print s

End Sub

程序运行过程中,当单击Command1时,输出结果为( )。(A)

A. 0

B. 18

C. 19

D. 程序出错

解析:动态数组的定义通常分为两步:首先在窗体层、标准模块或过程中用Dim或Public声明一个没有下标的数组(括号不能省略),然后在过程中用ReDim语句定义带下标的数组。“Option Base 1”语句表示数组下标从1开始,程序开头定义一个数组arr,在Commandl_Click过程中,使用ReDim重新定义数组的大小,双重For循环为数组元素赋值,arr(1,1)=2;arr(1,2)=3;arr(2,1)=3;arr(2,2)=4;arr(3,1)=4;arr(3,2)=5。语句“ReDim Preserve arr(4,4)”表示重新分配数组时,不清除数组中原来的数据。接下来的For语句中,循环变量j从3执行到4,arr(3,3)=3+10=13;arr(3,4)=4+10=14。最后一个For循环,循环变量i从1开始执行到4结束,每次累加数组元素的值,即s=arr(1,1)+arr(2,2)+arr(3,3)+arr(4,4)=2+4+13+0=19。故C选项正确。

17.编写如下程序:

Private Sub Command1_Click()

  Dim m As Integer, n As Integer

  n=2

  For m=1 To 3

    Print proc(n);

  Next m

End Sub

Function proc(i As Integer)

  Dim a As Integer

  Static b As Integer

  a=a+1

  b=b+1

  proc=a * b+i

End Function

程序运行后,单击命令按钮Command1,输出结果为(  )。(B)

A. 3 3 3

B. 3 4 5

C. 3 5 6

D. 1 2 3

解析:变量b定义为Static即静态变量,它的特点是每次调用都会保留上次的值。程序click事件中调用了3次proc(n),即proc(2):

第一次,a=a+1=0+1=1, b=b+1=0+1=1 , proc=a*b+i=1*1+2=3;

第二次,a=a+1=0+1=1, b=b+1=1+1=2 , proc=a*b+i=1*2+2=4;

第三次,a=a+1=0+1=1, b=b+1=2+1=3 , proc=a*b+i=1*3+2=5;

因此输出的结果为3 4 5。

18.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为(B)

A. 219

B. 229

C. 230

D. 231

解析:二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,则n2=79,总结点数为n0+n1+n2=80+70+79=229,答案为B。

19.窗体上有一个名称为CD1的通用对话框,一个名称为Text1的文本框,窗体的单击事件过程如下:

Private Sub Form_Click()

CD1.DialogTitle = \(A)

A. 通用对话框的标题被改为\

B. 通用对话框被打开为颜色对话框

C. 若选择颜色对话框中的\

D. 若选择颜色对话框中的\

解析:

20.程序运行时,当在空文本框中依次输入1234时,窗体上显示的是( )。

Private sub Text l_Change()

Print Textl;

End Sub(C)

A. 1234

B. 12

C. 1 121231234

D. 10

解析:本题考查文本框的Change事件,Change事件是每次文本框中的文本发生改变都要触发的事件,因此输入1234后,Change事件触发了4次,每次都是把文本框的现有的内容输出,依次输出为1121231234。

21.以下程序段的功能是( )。

X=8.6

y=Int(x+0.5)

   Print y(B)

A. 输出y的绝对值

B. 实现x的四舍五入

C. 实现x的绝对值

D. 实现y的四舍五入

解析:本题考查函数Int的功能,Int(x)的作用是取不大于x的最小的整数,可以实现数据的四含五入。

22.语句:Print Asc(Chr$(Mid$(\(A)

A. 65

B. A

C. 8765

D. W

解析:Mid$(字符串,p,n)从第P个字符开始,向后截取n个字符。

Chr$()是求ASCII字符的函数,格式是Chr$(表达式),其中\

23.在窗体上画一个名称为Textl的文本框,然后画3个单选按钮,并用这3个单选按钮建立一 个名为Optionl的控件数组,程序运行后,如果单击某个单选按钮,则文本框中的字体根据 所选择的单选按钮切换,如图1所示。请选择适合空白处的语句( )。

(C)

A. Option Text

B. Index Text

C. Index Font

D. Option Font

解析:本题考查控件数组。Optionl数组中每个元素的名字为Optionl,依靠不同的Index属性来区分不同的控件。变量a表示选择不同按钮后的不同字体,字体名属性为Font属性集的默认属性(FontName),这里可以直接使用Font属性。

24.下列描述中,错误的是(A)

A. 图片框控件和图像框控件都支持Print方法

B. 设计阶段,可以通过Picture属性把图形文件装入图片框

C. 运行期间,可以用LoadPicture函数把图形文件装入图片框

D. 运行期间,可以用LoadPicture函数删除图片框中的图形

解析:图片框控件可以作为其他控件的容器,可以使用Print方法在其中显示文本,而图像框不具有这些功能。选A)。

25.下面关于菜单的叙述中正确的是(A)

A. 为了使得选中一个菜单项就可以执行某种操作,要为它的Click事件过程编写执行该操作的代码

B. 同一级菜单中的菜单项不能同名,但不同级菜单中的菜单项可以同名

C. 只能使用鼠标右键把弹出式菜单弹出来

D. 弹出式菜单中的菜单项不能再有自己的子菜单

解析:Click事件在鼠标单击时触发,要使得选中菜单项就执行某种操作,可以在Click事件过程中编写需要执行的操作代码。A正确。VB中的菜单项不管是同级还是不同级都不允许同名,B错误。一般情况下,不显示弹出式菜单。需要时用PopupMenu方法显示弹出式菜单。C错误。VB中允许有多级弹出式菜单,D错误。

26.设有如下通用过程:

Public Function Fun(xStr As String)As String

   Dim tStr As String, strL As Integer

   tStr=\(C)

A. ABCDEF

B. abcdef

C. AFBECD

D. DEFABC

解析:通用过程Fun的主要功能在于

tStr=tStr & Mid(xStr, i, 1)& Mid(xStr, strL-i+1, 1)

这一句。其中Mid(xStr, i, 1)的意思是从字符串的左边开始依次取一个字符,Mid(xStr, strL-i+1, 1)的意思是从串的右边开始依次取一个字符。整个这条一语句的用意就是从一个字符串两端依次各取一对字符连成一个字符串。因此当Fun过程的参数为\

27.在面向对象方法中,不属于\(A)

A. 一致性

B. 分类性

C. 多态性

D. 标识唯一性

解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A。

28.编写程序,要求输入一个正整数,计算各位数字之和,并将计算结果显示在窗体上。程序如下:

Private Sub Command1_Click()

Dim Sum As Integer, k As Long

k = Val(InputBox(\(A)

A. k Mod 10

B. k

C. left(CStr(k), 1

D. mid (CStr(k), 1,1)

解析:k = Val(InputBox(\

29.在窗体上画两个名称分别为Hscroll1、Hscroll2的滚动条控件;6个名称分别为Label1、Label2、Label3、Label4、Label5、Label6的标签,其中,Label4-Label6分别显示“A”、“B”、“A*B”等文字信息,标签Label1、Label2分别显示其右侧的滚动条Value属性值,Label3显示A*B的计算结果,如图1所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮“计算”时,对标签Label1、Label2中显示的两个值求积,并将结果显示在Label3中。以下不能实现求积功能的事件过程是( )。

(D)

A. Private Sub Commandl_Click()

Label3.Caption=Str(Val(Label1.Caption)*Val(Label2.Caption))

End Sub

B. Private Sub Commandl Click()

Label3.Caption:HScrolll.Value*HScroll2.Value

End Sub

C. Private Sub Commandl_Click()

Label3.Caption:HScroll1*HScroll2

End Sub

D. Private Sub Commandl_Click()

Label3.Caption=HScroll1.Text*HScroll2.Text

End Sub

解析:本题考查滚动条的属性。滚动条Value属性表示滑块的位置值,为数值型;而标签的Caption为字符串型。因此,要将滚动条的Value属性值显示在标签上,需要进行类型转换(将数值型数据转换成字符串型数据)。

30.假定窗体上有一个标签,名为Label。为了使该标签透明并且没有边框,则正确的属性设置为( )。(A)

A. Labell.BackStyle=0

Label1.BorderStyle=0

B. Label1.BackStyle=1

Label1.BorderStyle=1

C. Label1.BackStyle=True

Label1.BorderStvle=True

D. Label1.BackStyle=False

Label1.BorderStyle=False

解析:标签控件的BackStyle属性是设置背景,当BackStyle属性值设置为0时,则标签为“透明”的,当BackStyle属性值设置为1时,则标签为将覆盖背景;标签控件的BorderStyle属性是设置标签的边框,当BorderStyle属性值设置为0时,则标签无边框,当BorderStyle属性值设置为1时,则标签有边框。因此选项A正确。

31.某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为(B)

A. n+1

B. n-1

C. 2n

D. n/2

解析:对任何一棵二叉树,度为0的节点(即叶子节点)总是比度为2的节点多一个。二叉树中有n个叶子节点,则度为2的节点个数为n-1,B选项正确。

32.编写如下程序:

Private Sub Command1_Click()

Dim a As Integer, i As Integer

a = 2

For i = 1 To 3

Print fun_s(a);

Next i

End Sub

Function fun_s(a As Integer) As Integer

Dim b As Integer

Static c As Integer

a = a + 1

b = b + 1

c = c + 1

fun_s = a + b + c

End Function

程序运行后,单击命令按钮Command1,输出结果为(C)

A. 4 5 6

B. 5 6 7

C. 5 7 9

D. 4 6 8

解析:程序初始定义全局变量a,i。a=2。在fun_s中,定义了静态变量c,能够保留上一次程序调用的值,而b不保留上次的值,每次调用函数时,自动初始化为0。利用For循环,三次调用函数fun_s,执行结果为:第一次调用函数,a = a + 1=2+1=3,b = b + 1=0+1=1, c = c + 1=0+1=1,fun_s = a + b + c=5;第二次调用函数,a = a + 1=3+1=4,b = b + 1=0+1=1,c = c + 1=1+1=2,fun_s = a + b + c=7;第三次调用函数,a = a + 1=3+1=4,b = b + 1=0+1=1, c = c + 1=2+1=3,fun_s = a + b + c=9。故选择C项。

33.假定有如下事件过程:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 2 Then

PopupMenu mnuColor

End If

End Sub

则以下描述中错误的是(D)

A. mnuColor是在菜单编辑器中已定义的弹出式菜单的名称

B. 在窗体上,不管按下鼠标的哪个按键,系统都会触发执行该事件过程

C. 参数Shift可表示shift、Ctrl和Alt键的按键状态

D. 只有在窗体上按下鼠标左键才可弹出菜单mnuColor

解析:MouseDown是按下鼠标时触发的事件。鼠标键参数,Button=2,按下右键,触发弹出菜单。选项D错误,故本题正确答案为D。

34.有下面程序代码:

Private Sub Command1_Click()

Dim a%(10)

For k = 1 To 9

a(k) = InputBox(\(D)

A. 12 32 65 34 87 56 79 50 52

B. 6 12 32 65 34 87 56 79 50 52

C. 12 32 65 34 87 56 79 50 52 6

D. 12 32 6 65 34 87 56 79 50 52

解析:数组作为过程的参数时,进行的是按地址传递,即将实参数组的起始地址传递给形参。本题首先用数组a(k)接收键盘中输入的数,进行初始化;proc()过程实现从a(10)开始依次将后一位值赋值给其前一位,直到a(4)。当k=3时,结束循环,并将x的值赋值给a(3)。故正确答案为选项D。

35.结构化程序的三种基本控制结构是(A)

A. 顺序、选择和重复(循环)

B. 过程、子程序和分程序

C. 顺序、选择和调用

D. 调用、返回和转移

解析:结构化程序的三种基本控制结构:顺序、选择和重复,故A选项正确。

36.下面不能作为结构化方法软件需求分析工具的是(A)

A. 系统结构图

B. 数据字典(DD)

C. 数据流程图(DFD图)

D. 判定表

解析:结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。

37.结构化程序所要求的基本结构不包括(  )。(B)

A. 顺序结构

B. GOTO跳转

C. 选择(分支)结构

D. 重复(循环)结构

解析:1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。

38.窗体上有一个名称为CD1的通用对话框,一个名称为Command1的命令按钮,相应的事件过程如下:

Private Sub Command1_Click()

  CD1.Filter=\(B)

A. 初始过滤器为\

B. 指定的初始目录为\

C. 以上程序代码实现打开文件的操作

D. 由于指定文件类型是.ppt,所以导致打开文件的操作失败

解析:通用对话框的FilterIndex属性值表示默认的过滤器,值为2表示初始过滤器为过滤器中的第2个,即\

39.Private Function f(y As Integer)

  f=y * y

End Function

运行上述程序,如下叙述中正确的是(  )。(A)

A. 程序运行出错,x变量的类型与函数参数的类型不符

B. 在窗体上显示100

C. 函数定义错,函数名f不能又作为变量名

D. 在窗体上显示10

解析:变量x在按钮单击事件过程中没有定义,因此系统自动将它定义为Variant类型,由于过程中参数类型为Integer,所以程序运行时会提示\

40.以下过程定义中正确的过程首行是(  )。(C)

A. Private Sub Proc(Optional a as Integer,b as Integer)

B. Private Sub Proc(a as Integer)as Integer

C. Private Sub Proc(a()As Integer)

D. Private Sub Proc(ByVal a()As Integer)

解析:A选项错误原因:Sub过程的第1个参数a用Optional 关键字声明,说明为可选参数,那么后面的参数b也必须是可选参数,用Optional声明。

B选项错误原因:Sub过程无返回值,不用指明返回值数据类型。D选项错误原因:可以用ByVal关键字声明变量,不能声明数组。C选项正确。

基本操作题

请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。

41.在名称为Form1的窗体上画一个名称为CD1的通用对话框,通过属性窗口设置CD1的初始路径为C:\,默认的文件名为None,标题为“保存等级考试”,如图2所示。

[操作步骤]

步骤1:新建一个“标准。EXE”工程,选择[工程]→[部件]命令,在弹出的“部件”对话框的列表中选中“MicroSoft Common DiMog Control6.0”项目,单击“确定”按钮。

步骤2:在窗体Form1上画一个通用对话框,其相关属性设置如表12—7所示。

[*]

步骤3:编写Form1的Iroad事件,加入下面的代码:

CD1.ShowSave

步骤4:按要求将文件保存至考生文件夹中。

解析:通用对话框的InitDir属性用于为打开或另存为对话指定初始的目录,如果此属性没有指定,则使用当前目录。

通用对话框的初始路径由InitDir属性设置,默认文件名由FileName属性设置,标题由DialogTitle属性设置。

42.在名称为Form1的窗体上设计一个菜单。要求在窗体上添加名为menu0,标题为“菜单命令”的主菜单,再添加两个名称分别为“menu1”、“menu2”,标题分别为“不可用菜单项”、“上一菜单项可用”的子菜单,并且使程序运行时,menu1子菜单不可用,menu2子菜单已经选中(运行时的效果如图3所示)。

[操作步骤]

步骤1:新建一个“标准EXE”工程,打开VB菜单设计器设计菜单,各菜单项及属性设置如表12—8所示。

[*]

步骤2:打开代码编辑窗口,编写“上一菜单项可用”命令的Click事件过程。

参考代码:

Private Sub menu2_Click()

menu1.Enabled=True

End Sub

步骤3:按要求将文件保存至考生文件夹中。

解析:①VB中的菜单是通过菜单编辑器来设计的。菜单编辑器中的基本设置项有:“标题”项,对应出现在菜单中的显示内容;“名称”项,系统识别菜单项的唯一关键字(不能重复);“索引”项,用于设置菜单数组中各元素的索引号;“快捷键”项,是一个下拉列表框,用于设置菜单项的快捷键;“帮助上下文”项,设置当鼠标移动到某菜单项上按<Fl>键时显示的帮助信息在帮助文件中的对应位置;Visible(可见)项,用于设置控件或菜单项在程序运行时是否可见,值为True表示可见,值为False表示不可见;Enabled(有效)项,用于设置控件或菜单项在程序运行时是否有效,值为True时表示有效,值为False时表示无效(显示为灰色)。通过编辑按钮区的七个按钮可对菜单进行添加、插入、删除、提升(设置为上一级菜单)、缩进(设置为下一级菜单)、上移、下移等操作。

②文本框的Text属性用于设置或返回其显示的文本内容。

本题原程序设计思路:在“上一菜单项可用”命令的单击事件过程中,通过语句设置“不可用菜单项”命令的Enabled属性值为True。

简单应用题

43.(1)在考生文件夹下有一个工程文件sjt3.vbp。程序的功能是通过键盘输入正整数到文本框中。在“除数”框架中选择一个单选按钮,然后单击“处理数据”命令按钮,将大于文本框中的正整数,并且能够被所选除数整除的5个数添加到列表框List1中,如图所示。在窗体文件中已经给出了全部控件,但程序不完整。

要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。

(2)在考生文件夹下有一个工程文件sjt4.vbp。程序运行后,单击“开始”按钮,图片自上而下移动,同时滚动条的滑块随之移动。每隔0.5秒移动一次,当图片顶端移动到距窗体下边界的距离少于200时,则再回到窗体的顶部,重新向下移动,如图所示。在窗体文件中已经给出了全部控件,但程序不完整。

(1)步骤1:打开本题工程文件。

步骤2:打开代码编辑窗口中,去掉程序中的注释符“t”,将问号改为正确的内容。

参考答案

Private Sub Command1_Click()

Dim y As Integer

For i=0 To 2’循环三个单选按钮

If Option1(i).Value=True Then’当某个按钮被选

Y=Val(Optionl(i).Caption)’提取按钮名并转换为数值

End If

Next

Call calc(y)’调用子函数

End Sub

Private Sub calc(y As Integer)

ClearList’执行子函数

i=1

x=Val(Text1.Text)+1

Do While i<=5’只需要显示5个数

If x Mod y=0 Then’判断x是否能被y整除

List1.AddItem x’添加满足条件的数至表

i=i+1’统计

End If

x=x+1’自加,判断下次循环

Loop

End Sub

Private Sub ClearList()’清空列表框的项目

For k=LiStl.LiStCount一1 To 0 Step—1

List1.RemoveItem k

Next k

End Sub

步骤3:调试并运行程序,关闭程序后按题目要求存盘。

(2)步骤1:打开本题工程文件。

步骤2:打开代码编辑窗口,去掉程序中的注释符“’”,将问号改为正确的内容。

参考答案

Private Sub Command1_Click()

Timerl.Enabled=True

End Sub

Private Sub Command2_Click()

Timerl.Enabled=False

End Sub

Private Sub Form Load()

Timerl.Interval=500’设置Timerl执行间隔数,以毫秒计算

End Sub

Private Sub Timerl_Timer()

Picturel.Top=Picturel.Top+200’顶端位置保持一致

Vscroll1.Value=Picturel.Top’滚动条滑块的位置与图片顶端位置保持一致

If VScrolll.Value +200 >=Form1.Height一200 Then

Picturel.Top=0’当图片顶端移动到距窗体下边界距离少于200时,则图片重新向下移动

End If

End Sub

步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析:(1)calc()函数实现将大于文本框中的正整数,并且能够被所选除数整除的5个数添加到列表框List1中,首先调用ClearList()函数清空列表框,运用Val()函数使Text1的值由字符转化为数值,Do While语句控制产生整数的个数为5个,通过Mod()函数和If语句判断是否能被所选数整除,并用列表框的AddItem方法,把能被整除的数添人列表框中。在Command1_Click事件过程中,向文本框中输入正整数,并运用Val(Optionl(i).Caption)语句提取单选按钮数组中所选的数值,再通过调用calc()函数实现数据的处理过程。

(2)在Command1_Click事件过程中,Timerl的Enabled属性设置为True,图片开始移动,在Command2_Click事件过程中,Timerl的Enabled属性设置为False,图片停止移动。窗体装入时Timerl的Interval属性设置为500,表示Timerl时间间隔为0.5秒。在Timerl_Timer事件过程中,Picturel的Top属性值的改变使图片自上而下移动,VScroll1的Value属性值等于Picturel的Top属性值,使滚动条的滑块随之移动。运用If语句,通过对VScrolll的Value属性值和Form1的Height属性值来判断图片顶端移动到距窗体的下边界的距离是否少于200,如果少于,则Picturel的Top属性值为0,图片再回到窗体顶部,重新向下移动。

综合应用题

44.在考生目录下有一个工程文件sjt5.vbp,包含了所有控件和部分程序。程序运行时,单击”打开文件”按钮,则弹出”打开”对话框,默认文件类型为”文本文件”,默认目录为考生目录。选中in5.txt文件,如图2-20(a)所示,单击”打开”按钮,则把文件中的内容读入并显示在文本框(Textl)中;单击”修改内容”按钮,则可把Textl中的大写字母”E”、”N”、”T”改为小写,把小写字母”e”、”n”、”t”改为大写;单击”保存文件”按钮,则弹出”另存为”对话框,默认文件类型为”文本文件”,默认目录为考生目录,默认文件为”out5.txt”,如图2-20(b)所示,单击”保存”按钮,则把Textl中修改后的内容存到out5.txt文件中。

窗体中已经给出了所有控件和程序,但程序不完整,去掉程序中的注释符,把程序中的?改为正确的内容,并编写”修改内容”按钮的Click事件过程。

注意:考生不得修改已经存在的程序。必须把Textl中修改后的内容用”保存文件”按钮存储结果,否则无成绩。最后,按原文件名把程序存盘。

步骤1:打开考生文件中的本题工程文件sjt5.vbp,在代码编辑窗口,去掉程序中的注释符”’“,将问号”?”改为正确的内容。

参考代码:

CommonDialogl.FilterIndex=2

Open CommonDialogl.FileName For Input As#1

Textl.Text=s

CommonDialog 1.Action.=2

步骤2:按指定位置编写”修改文件”的单击事件过程。

参考代码:

PriVate Sub Command2_Click( )

考生需要编写的程序

s=““

str_len=Len(Text1)

For k=1 To str_len

ch=Mid$(Text1,k,1)

If ch=“E”Or ch=“N”Or ch=“T”

Then

s=s&LCase(ch)

ElseIf ch=“e”Or ch=“n”Or ch

=“t”Then

s=s&UCase(ch)

Else

s=s&ch

End If

Next k

Textl=s

End Sub

步骤3:按要求将文件保存至考生文件夹中。

步骤4:按<F5>键运行程序,先单击”打开文件”按钮,接着单击”修改内容”按钮,然后单击”保存文件”按钮。

解析:

资源下载《国家二级(VB)机试模拟试卷340附答案解析.doc》 文档下载价格为10下载币,请先
将本套试题Word文档或文章下载到电脑,方便收藏和打印
资源下载
《国家二级(VB)机试模拟试卷340附答案解析.doc》
试题含答案和解析word文档下载价格:10 下载币
《国家二级(VB)机试模拟试卷340附答案解析.doc》
试题含答案和解析word文档VIP优惠:免费
将本套试题Word文档或文章下载到电脑,方便收藏和打印
0

评论0

没有账号? 注册  忘记密码?