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

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

选择题

1.软件设计中模块划分应遵循的准则是(  )。(B)

A. 低内聚低耦合

B. 高内聚低耦合

C. 低内聚高耦合

D. 高内聚高耦合

解析:软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

2.窗体上有一个图片控件和一个按钮控件,下列程序执行的结果是( )。

Private Sub Command1_Click()

Picture 1.Picture=LoadPicture(“c:\picture.jpg”)

Picturel.Cls

Picture 1.Print“picture”

End Sub(A)

A. 窗体无显示,图片框显示图片和文字picture

B. 窗体上出现picture文本,图片框无显示

C. 窗体上出现picture文本,图片框显示图片picture.jpg

D. 窗体无显示,图片框只显示picture文字

解析:本题考查图片框属性。单击命令按钮时,图片框首先装入图片,然后图片框清空(注意,该方法只能清空在图片框中输出的文本信息和绘图信息,而不能清除有LoadPicture函数装载的图片),最后图片框显示图片和“picture”文字。全部操作都是在图片框中进行的,窗体上没有任何显示。

3.为了在运行时能显示窗体左上角的控制框(系统菜单),可以设置以下哪个属性的值为True( )。(A)

A. ControlBox

B. MinButton

C. MaxBuRon

D. BorderStyle

解析:本题考查窗体的常见属性。窗体中ControlBox属性用来控制是否显示控制菜单,属性值为False时不显示控制菜单。属性MinButton和MaxButton控制是否显示最大化和最小化按钮,属性BorderStyle则是设置窗体的边界样式。

4.设x=4,y=8,z=7,则以下表达式的运算结果是( )。

xz)Or z<x(D)

A. 1

B. -1

C. True

D. False

解析:本题考查逻辑运算。将操作数进行逻辑运算,结果是逻辑值。常见的逻辑运算有逻辑与和逻辑或,格式分别为:“条件表达式1 And 条件表达式2”,条件表达式均为T时结果为T:“条件表达式1 Or条件表达式2”,有一个条件表达式为T时结果为T。Not为取反运算,若xz为FaIse,因此And运算结果为False:又因为z<x为FaIse,所以Or运算为False。

5.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

x=0

do Unti1 x=-1

a=InputBox(\(A)

A. 2

B. 3

C. 14

D. 15

解析:本题输出变量a的值,在每次循环时,都对变量a、b、x进行了赋初值,因此只要考虑最后一次循环即可。也就是当输入a=2,b=1,x=-1时的表达式“a=a+b+x”的值,也就是最后a的值为2,所以选项A。正确。

6.在数据库系统的内部结构体系中,索引属于( )。(B)

A. 模式

B. 内模式

C. 外模式

D. 概念模式

解析: 内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。

7.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。(B)

A. 软件矛盾

B. 软件危机

C. 软件藕合

D. 软件产生

解析: 随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了入们难以控制软件发展的局面,即所谓的”软件危机”。

8.为了使窗体的大小可以改变,必须把它的BorderStyle属性设置为( )。(C)

A. 4

B. 3

C. 2

D. 1

解析:窗体的BorderStyle属性用来确定窗体边框的类型,可设置为6个预定义值:①当BorderStyle属性值设置为0时,窗体无边框;②当BorderStyle属性值设置为1时,固定单边框,可以包含控制菜单框、标题栏、“最大化”按钮、“最小化”按钮,其大小只能用“最大化”和“最小化”按钮来改变:③当BorderStyle属性值设置为2时,这是默认值,可调整的边框,窗体大小可变,并有标准的双线边界;④当BorderStyle属性值设置为3时,固定对话框,可以包含摔制菜单框和标题栏,但没有最大化和最小化按钮,窗体大小不变,并有双线边界:⑤当BorderStyle属性值设置为4时,固定工具窗口窗体大小不能改变,只显示关闭按钮,并用缩小的字体显示标题栏;⑥当BorderStylc属性值设置为5时,可变大小工具窗口,窗体大小可变,只显示关闭按钮,并用缩小的字休显示标题栏。

9.语句Print Format(Int(12345.6789*100+0.5)/100, “0000,0.00”)的输出结果是( )。(D)

A. 12,3456.8

B. 12,34.5

C. 12,3.45

D. 12,345.68

解析:本题考查格式化函数Format,格式化函数Format的作用是使第一个参数的数字按照第二个参数的格式来输出。格式为:0000,0.00,表示小数点前面有多少位全部输出,且每隔3位输出一个逗号,小数点后面保存2位。

10.已知数组Dim a(1 To 10)As Integer,则下面正确调用GetValue函数的是( )。

Private Function GetValue(a( ) As Integer)As Integer

For i=1 To 10

GetValue=GetValue+a(i)

Next i

End Function(B)

A. S=GetValue(a(1 To 10))

B. S=GetValue(a)

C. S=GetValue(a(10))

D. S=GetValue a

解析:考查数组作为函数参数的调用。数组作为函数参数只能进行地址传递。需要注意的是在形参数组中可以忽略维数的定义,但是不能省略圆括号,实参数组名后面可以不跟圆括号。

11.在窗体上画一个命令按钮,然后编写如下事件过程:

Private SUb Commandl_Click()

Dim I,Num

Randomize

Do

For I=1 To 1000

Num=Int(Rnd * 100)

Print Num:

Select Case Num

Case 12

Exit For

Case 58

Exit Do

Case 65,68,92

End

End Seleet

Next I

Loop

End Sub

上述事件过程执行后,下列描述中正确的是( )。(D)

A. Do循环执行的次数为1000次

B. 在For循环中产生的随机数小于或等于100

C. 当所产生的随机数为12时结束所有循环

D. 当所产生的随机数为65、68或92时窗体关闭、程序结束

解析:程序Do循环中嵌套了For循环,Do循环没有设置结束条件,而是在For循环体中的Select语句中设置了退出Do循环和For循环及结束程序的分支,因此Do循环的次数无法确定。随机函数Rnd产生[0,1)之问的一个数,包括0但不包含1,因此Rnd*100的范围是大于等于0小于100。随机数为65、68或92时结束程序关闭窗体,为58时退出Do循环,为12时退出For循环进入下一次Do循环。

12.开发大型软件时,产生困难的根本原因是( )。(A)

A. 大型系统的复杂性

B. 人员知识不足

C. 客观世界千变万化

D. 时间紧、任务重

解析: 随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的”软件危机”。

13.InputBox函数返回值的类型为( )。(B)

A. 数值

B. 字符串

C. 变体

D. 数值或字符串(视输入的数据而定)

解析:考查输入框。在InputBox函数中,第一个参数是提示信息,第二个参数是对话框的标题,第三个参数是输入的默认值,最终产生的返回值是用户输入的字符串类型的值。

14.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( )。(D)

A. l:1联系

B. l:m联系

C. m:l联系

D. m:n联系

解析:因为一个教师可讲授多门课程,而一门课程又能由多个老师讲授所以他们之间是多对多的关系,可以表示为m:n。

15.以下叙述中错误的是( )。(D)

A. 标准模块文件的扩展名是.bas

B. 标准模块文件是纯代码文件

C. 在标准模块中声明的全局变量可以在整个工程中使用

D. 在标准模块中不能定义过程

解析:标准模块独立保存为标准模块文件.bas,故A选项正确。标准模块是应用程序内其他模块访问的过程和声明的容器。当应用程序比较庞大,含有多个窗口,而且几个窗口需要写重复的过程、变量等代码时,就可以把这些重复的代码写在标准模块。故B选项正确。在标准模块中定义的Public变量、Public过程属于全局变量和全局过程,在整个工程中的其他窗体、模块都可以使用。故c选项正确,在标准模块中可以定义过程,故D选项错误。

16.在某个事件过程中定义的变量是(  )。(A)

A. 局部变量

B. 窗体级变量

C. 全局变量

D. 模块变量

解析:在某个事件过程中定义的变量是局部变量;在窗体或标准模块中用Dim或Private定义的变量是窗体级或模块级变量;在窗体或标准模块中用Public定义的变量是全局变量。故选A。

17.已知a=6,b=15,c=23, 则语句print Sgn(a+b Mod 6-c\a)&a+b的输出结果为( )。(D)

A. 6

B. 16

C. 31

D. 121

解析:Print语句表达式中按运算符的优先级从高到低:\>Mod>+>&顺序计算。计算过程:Sgn(6+15Mod 6-23\6)&6+15=Sgn(6+3-5)&2l=Sgn(4)&21=l&2l=“121”。故选项D正确。说明:字符串连接符&两边的操作数不管是字符型还是数值型,系统首先要将其转换为字符型,然后进行连接。

18.下列关于顺序文件的描述中,正确的是(  )。(D)

A. 文件的组织与数据写入的顺序无关

B. 主要的优点是占空间少,且容易实现记录的增减操作

C. 每条记录的长度是固定的

D. 不能像随机文件一样灵活地存取数据

解析:顺序文件的特点是:文件中各记录写入、存放和读取的顺序是一致的,即最先写入的记录放在文件的最前面,后面写入的依次往后面存放,最后写入的记录存放在文件的最后。读取时也是,先读取完前面的记录,才能读取后面的记录。所以文件的组织与数据写入的顺序有关,而且读取文件时效率低,不灵活。故A选项错误,D选项正确。根据顺序文件的特点,文件实现记录的增减不容易。故B选项错误。顺序文件的每条记录中各数据项个数不固定,所以记录的长度也不固定。故C选项错误。

19.设a=2, b=3, c=4, d=5, 表达式

Not a<=c Or 4 * c=b ^ 2 And ba+c

的值是(  )。(D)

A. -1

B. 1

C. True

D. False

解析:计算表达式的值,先计算算术运算符,再计算关系运算符,然后计算逻辑运算符(优先级从高到低为Not And Or),最后结果为Fasle。故D选项正确。

20.在当前文件夹中有一个名为“mytile.txt”的文本文件,其中有若干行文本。窗体中有如下事件过程:

Prirate Sub Command1_Click()

Dim ch$.ascii As Integer

Open\(A)

A. 按行计算文件中每行字符的ASCII码之和,并显示在窗体上

B. 计算文件中所有字符的ASCII码之和,并显示在窗体上

C. 把文件中所有字符的ASCII码显示在窗体上

D. 统计文件中文本行的行数,并显示在窗体上

解析:程序中指定使用顺序输入方式打开文件“myfile.txt”文件,在While……Wend循环结构中判断文件是否到结尾,若没有到达结尾,则使用Line.Input#语句从顺序文件中读取一个完整的行,并把它赋值给一个字段串变量ch,然后使用:For循环语句将刚读取的一行字符串信息依次取出每个字符,并将各字符的ASCII码值相加,最后输出所有字符的ASCII值的和,故本题中A选项正确。本题选择A选项。

21.下面变量定义中错误的是(A)

A. Public mod As Integer

B. Static buf

C. Dim ch As String * 10

D. Dim a!(-5 To -1)

解析:变量名的命名规则是:255个字符以内,第一个字符是字母,其后可以是字母、数字和下划线的组合,最后一个字符也可以是类型说明符。通常使用具有一定含义的变量名,可以帮助说明功能,简化调试过程。保留字不能作为变量名。选项A)中的mod为保留字,所以选项A)错误。

22.设变量x的值是845,则下面语句的输出是

Print x \\ 100 + (x Mod 100) \\ 10 + x Mod 10(A)

A. 17

B. 548

C. 845

D. 485

解析:整除运算(\\)的结果是商的整数部分。例如,7\\2表示整除,商为4.5,结果取整数部分3,不进行四舍五入。如果参加整除的操作数是浮点数,则先按四舍五入的原则将它们变成整数,然后再执行整除运算。例如,对于8.5\\2,先将8.5变成9再进行整除,商为4.5,结果为4。

取余运算(Mod)是求两个整数相除后的余数。如果参加取余运算的操作数是浮点数,则先按四舍五入的原则将它们变成整数,然后再执行取余运算。例如,对于8.5\\2.1,先将8.5变成9,2.1变成2,然后9除以2与1,因此取余结果为1。

算术运算符的优先级:先乘除,后加减;乘方优先于乘除;函数优先于乘方;Mod次于乘除而优先于加减;括号最优先。

本题中,x \\ 100结果为8,(x Mod 100) \\ 10结果为4,x Mod 10结果为5,所以输出为17,选项A)正确。

23.下列链表中,其逻辑结构属于非线性结构的是(A)

A. 二叉链表

B. 循环链表

C. 双向链表

D. 带链的栈

解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。

24.设变量x中的值是395,则下面语句的输出是

Print x \\ 100 + ((x Mod 100) \\ 10) * 10 + (x Mod 10) * 100(D)

A. 935

B. 395

C. 539

D. 593

解析:整除运算(\\)的结果是商的整数部分。例如,7\\2表示整除,商为4.5,结果取整数部分3,不进行四舍五入。如果参加整除的操作数是浮点数,则先按四舍五入的原则将它们变成整数,然后再执行整除运算。例如,对于8.5\\2,先将8.5变成9再进行整除,商为4.5,结果为4。

取余运算(Mod)是求两个整数相除后的余数。如果参加取余运算的操作数是浮点数,则先按四舍五入的原则将它们变成整数,然后再执行取余运算。例如,对于8.5\\2.1,先将8.5变成9,2.1变成2,然后9除以2与1,因此取余结果为1。

算术运算符的优先级:先乘除,后加减;乘方优先于乘除;函数优先于乘方;Mod次于乘除而优先于加减;括号最优先。

本题中,x \\ 100结果为3,((x Mod 100) \\ 10) * 10结果为90,(x Mod 10) * 100结果为500,所以输出为593,选项D正确。

25.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形式。

26.以下可以作为\(A)

A. 框架

B. 图像框

C. 标签

D. 命令按钮

解析:窗体控件、框架控件和图片框控件可以作为其他控件的容器。选A。

27.窗体上有一个如右图所示的图形控件,控件中显示了如图所示的文字,可以判断这个图形控件(  )。

(B)

A. 是图像框(Image)

B. 是图片框(PictureBox)

C. 是形状控件

D. 不是上述3种控件中的一种

解析:图片框是\

28.下面关于组合框的叙述中错误的是(C)

A. 组合框Text属性的值是其编辑区中的文本

B. 组合框Text属性的值是被选中项目的文本

C. 组合框的Text属性是个数组,其中存放着所有项目的文本

D. 组合框Style属性的值决定了组合框的类型

解析:Text属性值是用户所选择的项目的文本或者直接从编辑区输入的文本。故A项和B项表述正确,C项表述错误。组合框的Style属性的值决定了组合框的类型,当style分别设为0,1,2时,组合框分别为下拉式组合框,简单组合框,下拉式列表框,故选项D表述正确。

29.有下面程序代码:

Private Sub Command1_Click()

a = 3

s = 0

For k = 1 To 5

s = s + a Mod k

a = a + k

Next k

Print s

End Sub

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

A. 15

B. 13

C. 4

D. 1

解析:Mod为求余函数。For循环执行5次。第一次执行时a Mod k的值为0,则s=0,a=4;循环继续直到k=5退出。分步计算可得最后s=4,选C)。

30.以下关于通用对话框的叙述中,错误的是(  )。(B)

A. 在程序运行状态下,通用对话框控件是不显示的

B. 通用对话框控件是Visual Basic的标准控件

C. 设计时,通用对话框控件的大小是固定的,不能改变

D. 在同一个程序中,一个通用对话框控件可以作为打开、保存等多种对话框

解析:通用对话框是一个ActiveX控件,不是标准控件,故B选项错误。

31.在黑盒测试方法中,设计测试用例的主要根据是(  )。(B)

A. 程序内部逻辑

B. 程序外部功能

C. 程序数据结构

D. 程序流程图

解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B

32.某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)(D)

A. 3

B. 6

C. 8

D. 12

解析:二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,n0=1,则n2=0,总节点数为12=n0+n1+n2=1+n1+0,则度为1的节点数n1=11,故深度为12,选D。

33.设有如下事件过程:

Private Sub Command1_Click()

  For i=1 To 5

    j=i

    Do

      Print \(B)

A. 5

B. 15

C. 20

D. 25

解析:i=1时,输出1个*,i=2时,输出2个*,i=3时,输出3个*,i=4时输出4个*,i=5时输出5个*,因此总共输出*的个数是1+2+3+4+5=15。

34.下列叙述中正确的是(C)

A. 线性表链式存储结构的存储空间一般要少于顺序存储结构

B. 线性表链式存储结构与顺序存储结构的存储空间都是连续的

C. 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的

D. 以上说法均错误

解析:线性表的顺序存储结构具备如下两个基本特征:(1)线性表中的所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此C正确。

35.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是(  )。(C)

A. 一对一

B. 一对多

C. 多对多

D. 多对一

解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。

36.数据库设计中反映用户对数据要求的模式是(  )。(C)

A. 内模式

B. 概念模式

C. 外模式

D. 设计模式

解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C)。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。

37.在窗体上画一个名称为Command1的命令按钮,并编写如下程序:

Function Fun(x)

  y=0

  If x<10 Then

    y=x

  Else

    y=y+10

  End If

  Fun=y

End Function

Private Sub Command1_Click()

  n=InputBox(\(A)

A. 10

B. 100

C. 110

D. 出错信息

解析:程序中输入100,则调用过程为Fun(100),过程Fun中判断参数是否小于10,小于10则将此值赋给y,如果不小于10,则变量y值加10,由于100不小于10,所以y值加10,等于10,并将此值做为函数值返回。因此输出结果为10。

38.数学式y2>x>=10在VB中应表示为(A)

A. y * y > x And 10 <= x

B. Sqr(y) > x And x >= 10

C. Sqr(y) > x Or x <= 10

D. y * y > x Or x >= 10

解析:Sqr(x)是平方根函数,所以选项B)、C)不正确。And、Or是逻辑运算符,And是逻辑与,Or是逻辑或,所以选项D)不正确。由题意,答案为A)。

39.以下关于控件的叙述中,正确的是(C)

A. 标签控件能够获得焦点

B. 不能对列表框中的列表项进行多项选择

C. 命令按钮的外观可以被设置为图形

D. 设置形状控件的Shape属性,可以使其呈现为直线

解析:标签、框架、菜单、直线、形状、图像框、计时器都不能接收焦点,选项A)错误;列表框用于显示可供做单一或多个选择的列表项,选项B)错误;形状控件(Shape)提供了显示一些规则图形的简易方法,通过设置形状控件Shape属性值,可显示6种图形:0-矩形、1-正方形、2-椭圆、3-圆、4-圆角矩形、5-圆角正方形,选项D)错误。

40.编写如下程序:

Private Sub Form_Click()

  Print \(A)

A. 欢迎!

热烈欢迎!

Welcome!

B. 欢迎!

Welcome!

热烈欢迎!

C. Welcome!

欢迎!

热烈欢迎!

D. Welcome!

热烈欢迎!

欢迎!

解析:在窗体事件中,鼠标按键按下激发MouseDown事件,鼠标按钮松开激发MouseUp事件,鼠标按下并松开后激发Click事件,所以这三个事件的顺序是MouseDown、MouseUp、Click,因此输出文字的顺序是\

基本操作题

请根据以下各小题的要求设计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。窗体上有个钟表图案,其中代表指针的直线的名称是Linel,还有一个名称为Label1的标签,和其他一些控件,如图3.172(a)所示。在运行时,若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置,如图3.172(b)所示;若用鼠标右键单击圆的边线,则指针恢复到起始位置,如图3.172(a)所示;若鼠标左键或右键单击其他位置,则在标签上显示“鼠标位置不对\

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

Linel.Y2=Y

Linel.X2=Linel.X1

Linel.Y2=y0-750

Label1.Caption=\

解析:(1)本题源程序在Form MouseDown事件过程中,先通过调用函数oncircle(X,Y)以判断鼠标单击的位置是否在圆的边线上,若在边线上,则接着判断当前按下的是否为鼠标左键,若为左键,则将直线Linel的终点位置设置为当前鼠标单击的位置,故第一个?处应改为:Y;若当前按下的不是左键,则直线Linel的终点位置设置为其原始位置,即Linel.X2=Linel.X1、Linel.Y2=vo.750。若鼠标单击的位置不在圆的边线上,则在标签上显示相关信息,故第4个?处应改为:Label1.Caption。

(2)本题源程序中,自定义函数f的功能是进行n!阶乘运算,它通过For循环连续n次将循环变量k的值乘以累积变量s(第一个?处s初值应为1)来实现,作为函数返回值第二个?处应改为:s。

在“计算”按钮的单击事件过程中,根据程序所要计算表达式的特点,源程序利用一个For循环依次计算表达式中各项的值并将其累加入变量s,计算表达式中各项的值通过调用自定义函数f(k)来实现的,最终计算结果显示在文本框中。

综合应用题

44.在考生文件夹下有一个工程文件st5.vbp,其窗体上有两个命令按钮、三个标签和三个文本框,均使用默认名称。程序的功能如下:

①如果单击“读数据”命令按钮,则将考生文件夹下in5.dat文件中两组已按升序方式排列的数(每组30个数)分别读入数组A和B,并分别在Text1、Text2中显示。

②如果单击“合并”命令按钮,则将A、B两个数组合并为另一个按从小到大排列的数组C,并将合并后数组C中的数据显示在Text3中。窗体中给出了所有控件(如图所示)以及“读数据”命令按钮的Click事件过程,请完善“合并”命令按钮的Click事件过程,使其实现卜述功能。

注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行合并操作,且必须通过窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。

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

步骤2:打开代码编辑窗口,在指定位置编写如下代码。

C(i)=a(1)’将第一个元素作为数组C的第一个元素

For i=2 To 30’将数组a的30个数据作为数组C的前30项

c(i)=a(i)

Next

C(31)=b(1)

For j=32 To 60’将教组b的30个数据作为数组C的后30项

c(J)=b(j-30)

Next

For i=1 To 60’冒泡算法

f=True

For j=1 To 59 ’循环比较大小,重新排序

If c(J)>C(J+i)Then

t=C(j)

C(J)=C(j+1)

C(j+i)=t

f=False

End If

Next

If f Then

Exit For

End If

Next

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

解析:单击“合并”命令按钮,通过For语句将A和B两个数组合并,合并方式为数组的前30个数为数组A,后30个数为数组B,然后运用冒泡排序的方法生成按升序方式排列的数组c,并将合并后数组的数据依升序方式显示在Text3中。

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

评论0

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