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

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

选择题

1.程序流程图中带有箭头的线段表示的是( )。(C)

A. 图元关系

B. 数据流

C. 控制流

D. 调用关系

解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。

2.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。(C)

A. 需求分析阶段

B. 概念设计阶段

C. 逻辑设计阶段

D. 物理设计阶段

解析:逻辑结构设计的任务:概念结构是各种数据模型的共同基础,为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。它包括从E-R图向关系模式转换和逻辑模式规范化及调整、实现。

3.在窗体上用复制、粘贴的方法建立了一个命令按钮数组,数组名为ComTest1。设窗体Form1标题为“MyForm1”,双击控件数组中的第3个按钮,打开代码编辑器,编写如下代码:

Privae Sub ComTest1_Click(Index As Integer)

Form1.Caption=\(D)

A. Form1

B. ComTest1

C. MyForm1

D. MyForm2

解析:本题考查控件数组。建立控件数组以后,数组中的每个元素依靠Index属性来区分,名称相同。题目中程序运行时,不要单击哪个命令按钮,窗体的标题都会改成“Myform2”。

4.下面关于算法的叙述中,正确的是( )。(B)

A. 算法的执行效率与数据的存储结构无关

B. 算法的有穷性是指算法必须能在执行有限个步骤之后终止

C. 算法的空间复杂度是指算法程序中指令(或语句)的条数

D. 以上三种描述都正确

解析:算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

5.算法的有穷性是指(  )。(A)

A. 算法程序的运行时间是有限的

B. 算法程序所处理的数据量是有限的

C. 算法程序的长度是有限的

D. 算法只能被有限的用户使用

解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

6.设a=2,b=3,c=4,d=5,下列表达式的值是( )。

3>2*b Or a=c And bc Or ba+c(B)

A. 1

B. True

C. False

D. -1

解析:一个表达式可能含有多种运算,计算机按一定的顺序对表达式求值。一般顺序如下:(1)首先进行函数运算;(2)接着进行算术运算,其次序为:算术运算符,幂运算符(^)优先级最高,其次是取负运算(一)、乘(*)、浮点除(/)、整除(\)、取模(Mod)、加(+)、减(-)、字符串连接符(&);(3)然后进行关系运算(=、>、<、、=):(4)最后进行逻辑运算(Not、And、Or、Xor、Eqv、Imp)

本题先计算“2*b=6、a+c=5”,然后计算“3>2*b=False”、“a=c=False”、“b<c=True”、“ba+c=True”,那么表达式转化为“False Or False And True Or True”,所以最后结果为“True”。

7.以下关于Do Until…Loop循环的说法正确的是( )。(C)

A. 先进入循环执行语句段落后,再判断是否再进入循环

B. 先进入循环执行语句段落后,再判断是否不再进入循环

C. 执行前先判断是否不满足条件,若不满足才进入循环

D. 执行前先判断是否不满足条件,若满足才进入循环

解析:本题考查Do LIntil…Loop循环的。对于这种循环结构,条件判断在循环体前,因此有可能一次循环体也不运行。在Until引出的循环条件为False时执行循环体,条件为True时退出循环。

8.8.6787E+8写成普通的十进制数是( )。(B)

A. 86 787 000

B. 867 870 000

C. 8 678 700

D. 8 678 700 000

解析:本题考查浮点数的表示。E表示10,后面的整数为10的幂。也就是数学中的8.6787×108形式。

9.有以下程序段,当在消息框中输入8后,y的值为( )。

x=InputBox(“Enter lan Integer\(D)

A. 18

B. 1 9

C. 20

D. 21

解析:本题考查程序段的分析。SelectCase语句描述了当x取不同值时y值的情况。当在输入框中输入8,并单击“确定”按钮后,x得到的值为8。此时,满足Select Case语句中的第二个Case语句,因此执行v=5+2*x=5+2*8=21。

10.下面叙述中错误的是(  )。(A)

A. 软件测试的目的是发现错误并改正错误

B. 对被调试的程序进行\

C. 程序调试通常也称为Debug

D. 软件测试应严格执行测试计划,排除测试的随意性

解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A)错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。

11.在VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是( )。(D)

A. B. C. D. 解析:无法重复,运行,添加标准EXE工程,

12.某人编写了下面的程序:

Private Sub Command1_Click()

Dim a As Integer,b As Integer

a=InputBox(\(A)

A. 把过程pro的形式参数n As Integer改为ByVal n As Integer

B. 把Call pro(a+b)改为pro a+b

C. 把n=n\10改为n=n/10

D. 在pro b语句之后增加语句c%=a+b,再把Call pro(a+b)改为pro c

解析:在过程定义中过程的形式参数定义时如果没有ByVal指明参数的传递方式,那么默认为地址传递,这样过程中对形参的改变将影响到实参的值。本程序中过程定义语句Private Sub pro(n As Integer)说明形参n为按地址传递的,而在过程内语句n=n\10改变了形参的值,因此,a、b的值就不再是最初输入的值了,表达式a+b就不是期望的两个输入数的和。因此得不到正确结果。

只要把Private Sub pro(n As Integer)改为Private Sub pro(ByVal n As Integer),程序即可得到正确结果,因此A选项正确。

13.以下说法中正确的是( )。(D)

A. 事件过程也是过程,只能由其他过程调用

B. 事件过程的过程名是由程序设计者命名的

C. 事件过程通常放在标准模块中

D. 事件过程是用来处理由用户操作或系统激发的事件的代码

解析:事件过程也是过程,其他过程或系统都可以调用它。故A选项错误。

事件过程的过程名是由系统命名的。故B选项错误。

通常事件过程放在窗体模块中。故C选项错误。

事件过程是用来处理由用户操作或系统激发的事件的代码。只有当用户或系统触发事件后,才执行相应的事件过程。故D选项正确。

14.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为(  )。(A)

A. 16

B. 10

C. 6

D. 4

解析:根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。

15.有三个关系R、S和T如下:

(D)

A. 自然连接

B. 并

C. 交

D. 差

解析:关系T中的元组是关系R中有而关系S中没有的元组的集合,即从关系R中除去与关系s中相同元组后得到的关系T。所以做的是差的运算。

16.下列有关数据库的描述,正确的是( )。(B)

A. 数据库设计是指设计数据库管理系统

B. 数据库技术的根本目标是要解决数据共享的问题

C. 数据库是一个独立的系统,不需要操作系统的支持

D. 数据库系统中,数据的物理结构必须与逻辑结构一致

解析:数据库设计的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。

17.程序运行时,单击命令按钮,则产生的操作是(  )。(A)

A. 窗体左上角移动到距屏幕左边界、上边界各200的位置

B. 窗体左上角移动到距屏幕右边界、上边界各200的位置

C. 窗体由当前位置向左、向上各移动200

D. 窗体由当前位置向右、向下各移动200

解析:Move方法是窗体的移动方法,其中200,200是窗体左上角的坐标(X,Y)。坐标系是以屏幕左上角为原点,向右为X轴正方向,向下为Y轴正方向。所以本题中窗体左上角移动到距屏幕左边界、上边界各200的位置。故A选项正确。

18.下列关于二叉树的叙述中,正确的是( )。(B)

A. 叶子结点总是比度为2的结点少一个

B. 叶子结点总是比度为2的结点多一个

C. 叶子结点数是度为2的结点数的两倍

D. 度为2的结点数是度为1的结点数的两倍

解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。

19.要计算x的平方根并放入变量y,正确的语句是(  )。(D)

A. y=Exp(x)

B. y=Sgn(x)

C. y=Int(x)

D. y=Sqr(x)

解析:Exp函数是e为底的指数函数,即ex;Sgn是符号函数,正数返回1,负数返回-1,0返回0;Int是取整函数,取<=N 的最大整数;Sqr是求平方根函数。故D选项正确。

20.求1 !+2 !+…+10!的程序如下:

Private Function s(x As Integer)

f=1

For i=1 To x

f=f*i

Next

s=f

End Function

Private Sub Commandl_Click()

Dim i As Integer

Dim y As Long

For i=1 To 10

Next

Print y

End Sub

为实现功能要求,程序的横线处应该填入的内容是( )。(C)

A. Call s(i)

B. Call s

C. y=y+s(i)

D. y=y+s

解析:题目中过程s的功能是实现一个数的阶乘,而题目是求1到10的阶乘的和,则程序空缺处应该是过程s返回值的累加,因此就应该为y=y+s(i)。

21.为了声明一个长度为128个宇符的定长字符串变量StrD,以下语句中正确的是( )。(D)

A. Dim StrD As String

B. Dim StrD As String(128)

C. Dim StrD As String[128]

D. Dim StrD As String*128

解析:有定长和不定长的字符串变量。默认情况下,定义的字符串变量属于不定长的,字符串长度可以改变,比如:Dim str As String 。如果声明一个定长字符串变量,形如Dim str As String*字符个数。故D选项正确。

22.设有以下程序代码:

Private Sub Command1_Click()

a=Array(1,2,7,10,6)

b=Array(5,4,7,8,2)

i=0

j=0

Do

If i<=UBound(a)And j<=UBound(b)Then

If a(i)<b(j)Then

Print a(i);

i=i+1

Else

Print b(j);

j=j+1

End If

Else

If i<=UBound(a)Then

Print a(i);

i=i+1

End If

If j<=UBound(b)Then

Print b(j);

j=j+1

End If

End If

Loop Until i>UBound(a)And j>UBound(b)

End Sub

上面事件过程执行后产生的输出是( )。(D)

A. 1 5 2 4 7 7 10 8 6 2

B. 1 2 2 4 5 6 7 7 8 10

C. 1 2 7 10 6 5 4 7 8 1

D. 1 2 5 4 7 7 8 2 10 6

解析:程序中变量a和变量b分别为数组变量,并且使用Array函数给两个数组进行了初始化,变量i和j初始值均为0,程序进入Do……Loop Until循环结构,程序执行过程如下所示:

第一次循环,变量i=0,j=0,if i<=uBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)UBound(a)And j>uBound(b),条件为假,继续执行循环。

第二次循环,变量i=1,j=0,ifi<=UBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)uBound(a)And j>UBound(b),条件为假,继续执行循环。

第三次循环,变量i=2,j=0,if i<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)UBound(a)And j>UBound(b),条件为假,继续执行循环。

第四次循环,变量i=2,j=l,ifi<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)UBound(a)And j>L/Bound(b),条件为假,继续执行循环。

第五次循环,变量i=2,j=2,ifi<=UBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)UBound(a)And j>UBound(b),条件为假,继续执行循环。

第六次循环,变量i=2,j=3,ifi<=UBound(a)andj<=UBound(b)条件为真,执行判断语句if a(i)UBound(a) And j>UBound(b),条件为假,继续执行循环。

第七次循环,变量i-3,j=3,if i<=UBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)UBound(a) And j>UBound(b),条件为假,继续执行循环。

第八次循环,变量i=3,j=4,ifi<=uBound(a)and j<=UBound(b)条件为真,执行判断语句if a(i)UBound(a)And j>UBound(b),条件为假,继续执行循环。

第九次循环,变量i=3,j=5,if i<=uBound(a)and j<=uBound(b)条件为假,执行判断语句If iuBound(a)And i>UBound(b),条件为假,继续执行循环。

第十次循环,变量i=4,j=5,if i<=UBound(a)and j<=UBound(b)条件为假,执行判断语句If iuBound(a)And i>UBound(b),条件为真,循环结束。

所以程序输出的结果为1 2 5 4 7 7 8 2 10 6,D选项正确。本题选择D选项。

23.以下关于过程及过程参数的描述中,错误的是( )。(C)

A. 过程的参数可以是控件名称

B. 调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)

C. 只有函数过程能够将过程中处理的信息返回到调用程序中

D. 窗体可以作为过程的参数

解析:过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故选项A、D正确。

调用过程时使用的实参的个数、类型、顺序应与过程中形参相同。故选项B正确。

在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中,Sub过程也可以。Sub过程中形参声明时前面有关键字ByRef或省略ByRef(默认)时,实参和形参之间传递的是地址,Sub过程中形参的变化也会引起实参的变化,这样Sub过程中处理的信息也可以传回调用程序中。故选项c说法错误。

24.软件设计中模块划分应遵循的准则是(C)

A. 低内聚低耦合

B. 高耦合高内聚

C. 高内聚低耦合

D. 以上说法均错误

解析:根据软件设计原理提出如下优化准则:① 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。② 一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。③ 软件结构的深度、宽度、扇入、扇出应适当。④ 模块的大小要适中。C正确。

25.编写如下程序:

Private Sub Command1_Click()

For i=1 To 4

Print Space(12-3*i);

For j=1 To i

Print j;

Next j

For k=i-1 To 1 Step-1

Print k;

Next k

Print

Next i

End Sub

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

(C)

A.

B.

C.

D.

解析:Print Space(12-3*i)语句为打印空格符。根据变量i的值变化,打印的个数不同。For循环的执行根据变量值进行相应的打印。

26.数据库技术的根本目标是( )。(B)

A. 数据存储

B. 数据共享

C. 数据查询

D. 数据管理

解析:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享,所以数据库技术的根本目标是解决数据共享问题。

27.为了使标签中的内容居中显示,应把Alignment属性设置为( )。(C)

A. 0

B. 1

C. 2

D. 3

解析:本题考查Alignment属性。控件的Alignment属性表示控件中的文字水平对齐方式,属性值可取3种值:0为左对齐,1为右对齐,2为居中。

28.对于窗体Form1,下列叙述中正确的是(B)

A. 语句Form1.Hide与Form1.Visible=True的功能是等价的

B. 语句Form1.Hide与Form1.Visible=False的功能是等价的

C. 语句Load Form1与Form1.Visible=False的功能是等价的

D. 语句Unload Form1与Form1.Visible=True的功能是等价的

解析:Form1.Hide:隐藏窗体Form1,使当前窗体不可见。Form1.Visible:设置窗体Form1是否可见,Visible值为True时,窗体Form1可见,值为False时,窗体Form1不可见,故选项A错误,选项B正确;Load(装入)事件,该事件主要用来在启动程序时对属性和相关变量的初始化。在装入窗体后,如果运行程序,将自动触发该事件。Unload(卸载)事件,该事件的作用是从当前的内存中清除一个窗体包括关闭和执行Unload语句所触发的事件。此外如果重新装入该窗体,则窗体中的所有控件都要重新初始化,故选项C和D均错误。正确答案为B选项。

29.窗体上有名称为Command1的命令按钮,名称分别为List1、List2的列表框,其中List1的MultiSelect属性设置为1(Simple),并有如下事件过程:

Private Sub Command1_Click()

  For i=0 To List1.ListCount-1

    If List1.Selected(i)=True Then

      List2.AddItem Text

    End If

  Next

End Sub

上述事件过程的功能是将List1中被选中的列表项添加到List2中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是(  )。(C)

A. 将For循环的终值改为List1.ListCount

B. 将List1.Selected(i)=True 改为List1.List(i).Selected=True

C. 将List2.AddItem Text 改为List2.AddItem List1.List(i)

D. 将List2.AddItem Text 改为List2.AddItem List1.ListIndex

解析:题目程序不能将List1中的选中项添加到List2中,List2.AddItem Text一行有误,应该改为List2.AddItem List1.List(i)才能使List1中每个选中的行添加到List2中。列表框控件的List属性保存了列表框中所有值的数组,可以通过下标访问数组中的值。

30.设a=10,b=5,c=1,执行语句Print a>b>c后,窗体上显示的是(  )。(B)

A. True

B. False

C. 11

D. 出错

解析:本题中Print语句中的表达式只有\

31.在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编写如下事件过程:

Private Sub Command1_Click()

   Counter=0

   For i=1 To 4

     For j=6 To 1 Step-2

       Counter=Counter+1

     Next j

   Next i

   Label1.Caption=Str(Counter)

End Sub

程序运行后,单击命令按钮,标签中显示的内容是(  )。(B)

A. 11

B. 12

C. 16

D. 20

解析:

32.确定图片框Picture1在窗体上位置的属性是(  )。(B)

A. Width和Height

B. Left和Top

C. Width和Top

D. Height和Left

解析:确定图片框在窗体上位置的属性是Left和Top,它们使用的是相对坐标,以窗体为参考点。

33.假定在窗体上添加了一个通用对话框控件,其名称为CD1,并有如下程序段:

CD1. ShowOpen

CD1.DefaultExt = \(B)

A. file1.doc

B. file1.txt

C. c:\\file1.txt

D. c:\\file1.doc

解析:FileTitle属性用来指定文件对话框中所选择的文件名 (不包括路径)。该属性与FileName属性的区别是:FileName属性用来指定完整的路径,如\

34.为了保存数据,需打开顺序文件\(D)

A. Open E:\\UserData.txt For Input As #1

B. Open \

C. Open E:\\UserData.txt For Output As #1

D. Open \

解析:打开顺序文件的基本格式为:Open \

35.鼠标拖放控件要触发两个事件,这两个事件是(  )。(A)

A. DragOver事件和DragDrop事件

B. Drag事件和DragDrop事件

C. MouseDown事件和KeyDown事件

D. MouseUp事件和KeyUp事件

解析:当鼠标拖动控件到目标对象上,不松开鼠标时,触发目标对象的DragOver事件;松开鼠标时,就会触发目标对象的DragDrop事件。故选A。

36.假定有如下的程序段:

Dim intVar As Integer

intvar = True

Print intVar

则输出结果是(B)

A. 0

B. -1

C. True

D. False

解析:VB 里面 True = -1, False = 0。

37.窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下:

Private Type x

  a As Integer

  b As Integer

End Type

Private Sub Command1_Click()

  Dim y As x

  y.a=InputBox(\(D)

A. x是用户定义的类型

B. InputBox函数弹出的对话框中没有提示信息

C. 若输入的是偶数,y.b的值为该偶数的平方

D. Fix(y.a / 2)把y.a / 2的小数部分四舍五入,转换为整数返回

解析:x是用户定义的一种变量类型,可以使用它来声明变量。InputBox(\

38. 窗体上已有的3个单选按钮组成了1个名为ChkOpt1的控件数组。用于区分控件数组ChkOpt1中每个元素的属性是(  )。(D)

A. Caption

B. ListCount

C. ListIndex

D. Index

解析:控件数组的每个元素都有一个与之关联的下标,下标值由Index属性指定,控件数组的各元素就以这个属性来区分。

39.(B)

A. 选择

B. 差

C. 交

D. 并

解析:关系T是关系R的一部分,并且是关系R去掉R和S相同的元素,符合差操作。

40.窗体上有一个名称为Command1的命令按钮,其单击事件过程如下:

Option Base 1

Private Sub Command1_Click()

Dim a(4, 4) As Integer

For i = 1 To 4

For j = 1 To 4

a(i, j) = Int(Rnd * 100)

Next

Next

x = a(1, 1)

y = a(1, 1)

For i = 1 To 4

For j = 1 To 4

If x < a(i, j) Then x = a(i, j)

If y > a(i, j) Then y = a(i, j)

Next

s = s + a(i, i)

Next

Print x, y, s

End Sub

关于以上程序,以下叙述中错误的是(D)

A. 二维数组元素的值是不大于99的随机整数

B. 计算结果x是二维数组各元素中的最大数

C. 计算结果y是二维数组各元素中的最小数

D. 计算结果 s是二维数组各行第一个元素之和

解析:程序首先通过For循环给数组a元素赋值。取随机数函数返回的值介于0和1之间。乘以100后取整介于0和99。故A)正确。接下来对x和y赋初值(a的第一个元素),在循环内部进行数据大小的比较,把当前比x大的存入x,比y小的存入y,循环结束后,x中存储的是最大值,y中存储的是最小值。故B),C)对。s中存储一维和二维下标相同的数组元素的和。选D)。

基本操作题

请根据以下各小题的要求设计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。程序运行时,单击窗体则显示如图所示的图案。请去掉程序中的注释符,把程序中的?改为正确的内容。

注意:不能修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。

(2)在考生文件夹下有一个工程文件sjt4.vbp,窗体中有一个矩形和一个圆,程序运行时,单击“开始”按钮,圆可以横向或纵向运行(通过选择单选按钮来决定),碰到矩形的边时,则向其相反方向运动,单击“停止”按钮,则停止运动,如图所示。可以通过选择单选按钮随时改变运动方向。

已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。

注意:不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。

(1)

【操作步骤】

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

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

Private Sub Form_Click()

For i=1 To 5’输入5行

For j=1 To 6一i’循环实现输入空格,每行依次减少一个空格

Print””;

Next j

For j=1 To 2*1-1’观察图像每行*的个数

Print”*”;

Next j

Print

Next i

For i=1 To 4

For j=1 To i+1’同问题1

Print””;

Next j

For j=1 To (9-2*1)’同问题2

Print”*”;

Next j

Print

Next i

End Sub

程序结束

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

(2)

【操作步骤】

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

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

Dim d As Integer

Private Sub Commandl_Click()

Timer1.Enabled=True’当单击”开始”按钮时,Timer生效

End Sub

Private Sub Command2_Click()

Timer1.Enabled=False’当单击”停止”按钮时,Timer失效

End Sub

Private Sub Form_Load()

d=1

End Sub

Private Sub Timerl_Timer()

If Optionl Then’判断Optionl是否被单击

Shape2.Top=Shape2.Top+d

*50’实现圆垂直移动

If Shape2.Top<=Shape1.Top Or

Shape2.Top+Shape2.Width>=Shape1.

Top+Shape1.Height Then’判断Shape2与Shape1的位置

d=一d’当圆移出Shape1时,改变移动方向

End If

ElseIf Option2 Then

Shape2.Left=Shape2.Left+

d*50’实现水平移动

If Shape2.Left<=Shape1.Left

Or Shape2.Left+Shape2.Width>=Shape1.

Left+Shape1.Width Then

d=-d’当圆移出Shape1时,则改变移动方向

End If

End If

End Sub

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

解析:

综合应用题

44.在考生目录下已有一个工程文件sjt5.vbp。运行程序后,分别从两个文件中读出数据,放入两个一维数组a、b中。请编写程序,当单击“合并数组”按钮时,将a、b数组中相同下标的数组元素的值求和,并将结果存入数组c。单击“找最大值”按钮时,调用find过程分别找出a、c数组中元素的最大值,并将所找到的结果分别显示在。Text1、Text2中。在给出的窗体文件中已经有了全部控件,但程序不完整。

要求:去掉程序中的注释符,把程序中的?改为确的内容,并编写相应程序,实现程序的

功能。

注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。程序调试通过后,各命令按钮的事件过程必须至少各执行一次。

【操作步骤】

步骤1:打开考生文件夹下的本题工程文件sjt5.vbp,打开代码编辑窗口,在指定位置编写代码。

Max=x(1) Next

For i=2 To UBound(x) t.Text=Max

If x(i)>Max Then For i=1 To UBound(a)

Max=x(i) c(i)=a(i)+b(i)

End If Next

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

步骤3:按键运行程序,先单击“读数据”按钮,再单击“合并数组”按钮,最后单击“找最大值”按钮。

解析:

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

评论0

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