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

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

选择题

1.下列选项中,不属于数据模型所描述的内容的是( )。(A)

A. 数据类型

B. 数据操作

C. 数据结构

D. 数据约束

解析:数据模型描述的内容包含数据结构:数据操作和数据约束。

2.在属性窗口中把窗体的KeyPreview属性设置为True,然后编写如下两个事件过程:

Private Sub Form_KeyDown(KeyCode As

Integer,Shift As Integer)

Print Chr(KeyCode)

End Sub

Private Sub Form_KeyPress(KeyAscii AsInteger)

Print Chr(KeyAscii)

End Sub

在一般情况下(即不按住Shift键和锁定大写),运行程序,如果按“A”键,则程序输出的是( )。(A)

A. A

a

B. a

A

C. A

A

D. a

a

解析:本题考畲键盘事件。KeyPreview属性用于设置是否在控件的键盘事件之前激活窗体的键盘事件。KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件,其中的KeyAscii参数是所按键的ASCII的代码,每个字符的大、小写形式都是不同的键代码。而Chr()可返回ASCII码对应的字符。KeyDown(KeyCode As Integer,Shift as Integer)事件有两个参数,其中,KeyCode参数是表示所按键的位置信息的代码,只要按下键,就返回该键的位置信息,不区分大小写,一律作为人写字符解释。本题的功能为输入A时,KeyDown事件输出大写字符A,而KeyPress事件则输出小写字符a。

3.以下选项中,不合法的Visual Basic的变量名是(  )。(B)

A. a5b

B. _xyz

C. a_b

D. andif

解析:VB中变量的命题贵族为:①必须以字母或汉子开头②有字母、汉子、数学或下划线组成③不能使用VB已经占用的关键词。本题选项B中变量以下划线开头,不合法。故B选项错误。

4.( )控件可以使图形根据控件大小而改变大小。(C)

A. 图片框

B. 标签

C. 图像框

D. 框架

解析:本题考查常见控件的基本属性。图片框的AutoSize属性设定图片框是否按装入图形的大小来调整大小:图像框的Stretch属性设定是否调整图形的大小以适用图像框控件。标签一般用来处理文本,而框架主要用来作为其他控件的容器。

5.下列有关文件的叙述中,正确的是(  )。(C)

A. 以Output方式打开一个不存在的文件时,系统将显示出错信息

B. 以Append方式打开的文件,既可以进行读操作,也可以进行写操作

C. 在随机文件中,每个记录的长度是固定的

D. 无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的

解析:A选项错误原因:当以Output方式打开一个不存在的顺序文件时,Open语句会首先创建该文件,然后再打开它,系统不会出错。

B选项错误原因:以Append方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进行读操作。

D选项错误原因:VB中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。

C选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故C选项正确。

6.语句Dim a(一3 To 4,3 To 6)As Integer定义的数组的元素个数是( )。(D)

A. 18

B. 28

C. 21

D. 32

解析:本题定义的是一个整型的二维数组,一3 To 4指的是一3、一2、一1、0、1、2、3、4(共8行),3 To 6指的是3、4、5、6(共4列),因此数组元素个数是8×4=32,故选D。

7.支持子程序调用的数据结构是( )。(A)

A. 栈

B. 树

C. 队列

D. 二叉树

解析:栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为A。

8.设有一个有10个元素的数组,下列程序将该数组的第1个元素与第10个元素交换,第2个元素与第9 个元素交换……,第5个元素与第6个元素交换,在横线处应填写( )。

Private Sub Commandl_Click( )

Dim a(1 To 10)As Integer

Dim i As Integer,Dim p As Integer

Dim t As Integer,Dim j As Integer

For i=1 To 10

a(i)=i

Next i

Forj=1 To 5

t=a(j)

(A)

A. a(j)=a(11-j)a(11-j)=t

B. a(11-j)=a(j) a(j)=t

C. a(j)=a(11-j) a(j)=t

D. a(11-j)=ta(j)=a(11-j)

解析:考查数组中元素的逆置操作。循环次数为数组中元素个数的一半,每一次都要进行下标之和为1 1的前后两个元素交换。

9.阅读程序:

Private Sub Form_Click()

  a=0

  For j=1 To 15

    a=a+j Mod 3

  Next j

  Print a

End Sub

程序运行后,单击窗体,输出结果是(  )。(D)

A. 105

B. 1

C. 120

D. 15

解析:

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

a>b And ec(B)

A. True

B. False

C. 一1

D. 1

解析:根据运算符的优先级顺序,先计算算术运算符,结果是2>3 And 44;再计算关系运算符,结果为False And True Or False;And优先级高于Or优先级,先计算And,再计算Or,最后结果是False。故B选项正确。

11.下列关于控件焦点的叙述中正确的是( )。(A)

A. 标签控件不能接收焦点事件

B. 如果将文本框控件中TabStop属性值设为False,则该文本框将不能接收焦点事件

C. 窗体控件不能接收焦点事件

D. 不能通过程序代码设置焦点属性

解析:考查控件的焦点。设置控件的Tablndex属性可以改变控件的焦点的移动顺序,在窗体上绘制控件的时候,VB默认分配给控件的Tablndex属性,第一个默认为0,以下类推,可以在代码中更改。当控件的Visible和Enabled属性为真时,控件可以接受焦点,某些控件没有焦点,如标签、框架、计时器等。TabStop属性决定是否可以使用Tab来选定对象。

12.要使菜单项MenuOne在程序运行时失效,应使用的语句是( )。(D)

A. MenuOne.Visible=True

B. MenuOne.Visible=False

C. MenuOne.Enabled=True

D. Menuone.Enabled=False

解析:本题考查菜单项的常见属性。菜单项的Visible属性决定该菜单项在运行中是否可见,而Enabled为假时,运行时该菜单不可用,因此应更改Enabled属性为False。

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

A. 16

B. 10

C. 6

D. 4

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

14.若要把窗体上命令按钮Command1的状态设置为不可用,应该执行的命令是(  )。(A)

A. Command1.Enabled=False

B. Command1.Visible=False

C. Command1.Cancel=False

D. Command1.Default=False

解析:命令按钮的Enabled属性是设置可用不可用,故A选项正确。

Visible属性是设置可见不可见;

Cancel属性值为True时,表示按Esc键和单击该命令按钮一样都会触发该命令按钮的单击事件,反之,Esc键不起作用;

Default属性值为True时,表示按回车键和单击该命令按钮一样都会触发该命令按钮的单击事件,反之,回车键不起作用。

15.设窗体上有2个文本框Text1和Text2,并有下面的事件过程:

Dim n

Private Sub Text1_KeyPress(KeyAscii As Integer)

  If \(A)

A. 2

B. 9

C. 13

D. 16

解析:KeyPress事件的参数KeyAscii为所按键的ASCII码,Chr函数把这个ASCII码转换为对应的字符,回车键的ASCII码值是13。程序中KeyPress过程的功能是统计Text1文本框中输入的字符串中A~Z之间字母的个数,按回车键后把个数值显示在Text2文本框中。在Text1文本框中输入\

16.用树型结构表示实体之间联系的模型是( )。(B)

A. 关系模型

B. 层次模型

C. 网状模型

D. 运算模型

解析:用树形结构表示实体及其之间联系的模型称为层次模型。在层次模型中,结点是实体,树枝是联系,从上到下是一对多的关系。故本题答案为B选项。

17.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为(C)

A. 9

B. 10

C. 45

D. 90

解析:冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选C。

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

A. 0 -None

B. 1 -Simple

C. 2 -Extended

D. 3

解析:列表框的Multiselect属性有3个可选值:

O-None:默认值,不能选择多个选项。

1-Simple:在不按任何键的情况下可选择多个选项。

2-Extended:使用Ctrl或Shift键进行分别多选或选择连续多个选项。

19.有下面程序代码:

Private Sub Command1_Click()

For k = 5 To 1 Step -1

x = k + x * 10

Next k

Print x

End Sub

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

A. 12345

B. 54321

C. 15

D. 150

解析:For循环用来对x赋值。步长为-1,一共执行5次,第一次执行完后x=5,第二次执行完后x=54,以此类推,选B)。

20.在窗体上画一个文本框,然后编写如下事件过程:

Private Sub Text1-KeyPress(KeyAscii As Integer)

Dim char As String

char=Chr(KeyAscii)

KeyAscii=Asc(UCase(char))

Text1.Text=String(6,KeyAscii)

End Sub

程序运行后,如果在键盘上输入字母“a”,则文本框中显示的内容为( )。(D)

A. a

B. A

C. aaaaaa

D. AAAAAA

解析:本题考查KeyPress事件过程和字符串函数。KeyPress事件的过程格式为:Sub object—KeyPress([Index As Integer,]KeyAscii As Integer),其中KeyAscii为字符ASCII码。当在文本框中输入字符a后,UCase函数把输入的字符转化为大写字符, Asc函数则把字符转化为ASCII码值。String函数则产生6个同样的字符A。

21.下列程序在运行时输出的结果是( )。

Option Base 1

Private Sub Form_Click()

Dim x(10)

For i=1 To 10

x(i)=10-i+1

Next i

For i=10 To1 Step-2

Print x(i)

Next i

End Sub(A)

A. 1 3 5 7 9

B. 9 7 5 3 1

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

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

解析:本题考查数组元素的赋值。数组x元素的下标从1到10,元素分别为:10-下标+1(也就是10 9 8 7 6 5 4 3 2 1)。循环结束后,从高下标端输出偶数下标的元素。

22.窗体的单击事件过程如下:

Private Sub Form_Click()

Dim str As String

str = InputBox(\(A)

A. CISABLAUSIV

B. VISUALBASIC

C. visualbasic

D. cisablausiv

解析:Len(Str)即求字符串Str的长度(Length),Len(Str)为输入的字符串的长度。Mid$(s,n1,n2)是字符串截取函数,从s的第n1个字符开始,向后截取n2个字符,UCase函数将字符串中的小写字母转换为大写字母。题目中的 \

23.窗体的单击事件过程如下:

Private Sub Form_Click()

Dim x As Integer, y As Integer

For i = 6 To 1 Step -2

x = i + x

y = y + 1

Next i

Print y; x

End Sub

运行程序时,单击窗体,窗体上显示的是(A)

A. 3 12

B. 12 3

C. 4 13

D. 13 4

解析:题目中的\

24.在窗体上画两个名称分别为Hscrol11、Hscrol12的滚动条控件;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=HScroll1.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属性值显示在标签上,需要进行类型转换(将数值型数据转换成字符串型数据)。

25.使用语句Dim A(I To 10)As Integer声明数组A后,以下叙述正确的是( )。(A)

A. A数组中的所有元素值为0

B. A数组中的所有元素值不确定

C. A数组中的所有元素值为Empty

D. 执行语句“Erase A”后,A数组中的所有元素值为Null

解析:本题考查数组。VB中数值型数组定义后,所有的元素都自动赋值为0。而Erase仅可以清空自动数组中的元素值。

26.有三个关系表R、S和T如下,其中三个关系对应的关键字分别为A,B和复合关键字(A,B)。

(B)

A. 实体完整性约束

B. 参照完整性约束

C. 用户定义的完整性约束

D. 关系完整性约束

解析:关系模型中可以有3类完整性约束:实体完整性约束、参照完整性约束和用户定义的完整性约束。实体完整性约束是指,若属性M是关系的主键,则属性M中的属性值不能为空值。T中主键不为空,A选项错误。参照完整性约束是指,若属性(或属性组)A是关系M的外键,它与关系M的主码相对应,则对于关系M中的每个元组在A上的值必须为:要么取空值;要么等于关系M中某个元组的主码值。属性B为关系S的外键,它与关系S的主键相对应,则T中元组在B上应该为空或者与S中主键值相等,题目中不相等,违反参照完整性约束,B选项正确。此题关系中无语义要求,C选项错误。

27.编写如下程序:

Private Sub Command1_Click()

Dim k As Integer

x = 1

For k = 1 To 3

x = x * fun(k)

Next k

Print x

End Sub

Function fun(x As Integer) As Integer

Static a

a = a + 1

fun = a * x

End Function

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

A. 6

B. 36

C. 3

D. 30

解析:函数fun中a是静态变量,在没有退出程序前,每次引用静态变量后,其值会继续保留,作为下次引用时该变量的初始值。在For 循环中,当k为1时,调用fun函数,a为1,返回值为1,x=1*1=1;当k为2时,调用fun函数,a为2,返回值为2*2为4,x=1*4=4;当k为3时,调用fun函数,a为3,返回值为3*3,x=9*4=36。故输出结果为36,B项正确。

28.Visual Basic中的整数可以用十六进制或八进制表示,十六进制数前面冠以&H,八进制数前面冠以(B)

A. $O

B. &O

C. $E

D. &E

解析:十六进制,英文全称:Hexadecimal。八进制,英文全称:Octonary。十进制,英文全称:Decimal。十六进制与八进制前面都冠以&符号,再取其英文全称的首字母。故正确答案为B选项。

29.下面关于列表框控件的叙述中错误的是(A)

A. Selected属性是一个字符数组

B. List属性是一个字符数组

C. 在运行时,列表框中的列表项可以多选

D. ListCount属性不能在属性窗口中设置

解析:Selected属性表示列表框中各个项目是否被选中,是一个逻辑型数组;List属性用来列出表项内容,是一个字符数组;选项C、D描述均正确。故正确答案为选项A。

30.对于当前窗体,以下能打开代码窗口的操作是(A)

A. 按F7键

B. 单击窗体

C. 单击窗体上的某个控件

D. 按Ctrl+D键

解析:VB中打开代码窗口的方式有:1.双击窗体上的某一控件。2.按F7快捷键。故正确答案为A选项。

31.设窗体上有一个标签Label1和一个计时器Timer1,Timer1的Interval属性被设置为1000,Enabled属性被设置为True。要求程序运行时每秒在标签中显示一次系统当前时间。以下可以实现上述要求的事件过程是(  )。(B)

A. Private Sub Timer1_Timer()

Label1.Caption=True

End Sub

B. Private Sub Timer1_Timer()

Label1.Caption=Time$

End Sub

C. Private Sub Timer1_Timer()

Label1.Interval=1

End Sub

D. Private Sub Timer1_Timer()

For k=1 To Timer1.Interval

Label1.Caption=Timer

Next k

End Sub

解析:Timer1的Interval属性值是1000,Enabled属性为True,说明定时器开始工作,每隔1000毫秒(即1秒)触发一次Timer事件,从而执行一次Timer事件过程。要想每秒在标签中显示一次系统时间,则在Timer事件过程中把系统时间赋给标签的Caption属性就能实现。故选B。

32.数据库系统的三级模式不包括(  )。(D)

A. 概念模式

B. 内模式

C. 外模式

D. 数据模式

解析:数据库系统的三级模式是概念模式、外模式和内模式,所以选择D

33.为了使文本框只具有垂直滚动条,应先把MultiLine属性设置为True,然后再把ScrollBars属性设置为(  )。(C)

A. 0

B. 1

C. 2

D. 3

解析:文本框的ScrollBars属性值:0表示无滚动条,1表示只有水平滚动条,2表示只有垂直滚动条,3表示水平和垂直滚动条都有。本题文本框只具有垂直滚动条,则ScrollBar属性值就设置为2,故C选项正确。

34.下面属于白盒测试方法的是(B)

A. 等价类划分法

B. 逻辑覆盖

C. 边界值分析法

D. 错误推测法

解析:白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖,选择B。其余为黑盒测试法。

35.为了使标签Label1透明且不具有边框,以下正确的属性设置是(B)

A. Label1.BackStyle = 0

Label1.BorderStyle = 1

B. Label1.BackStyle = 0

Label1.BorderStyle = 0

C. Label1.BackStyle = 1

Label1.BorderStyle = 1

D. Label1.BackStyle = 1

Label1.BorderStyle = 0

解析:BackStyle属性用于设置标签的背景样式,有两种值可选:0,表示透明;1,表示不透明。BorderStyle属性用来设置标签的边框类型,有两种值可选:0,代表标签无边框;1,代表标签有边框。

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

由关系R和S通过运算得到关系T,则所使用的运算为(  )。

(D)

A. 并

B. 自然连接

C. 笛卡尔积

D. 交

解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D)。

37.下列与队列结构有关联的是(D)

A. 函数的递归调用

B. 数组元素的引用

C. 多重循环的执行

D. 先到先服务的作业调度

解析:队列的修改是依先进先出的原则进行的,D正确。

38.列表框中被选中的数据项的位置可以通过一个属性获得,这个属性是(  )。(B)

A. List

B. ListIndex

C. Text

D. ListCount

解析:列表框控件的ListIndex属性值是已选中的表项的位置。表项位置由索引值指定,第一项的索引值为0,第二项为1,以此类推。如果没有任何项被选中,ListIndex的值将设置为-1。

39.表达式Sgn(0.25)的值是(  )。(C)

A. -1

B. 0

C. 1

D. 0.5

解析:Sgn函数是符号函数,正数返回1,负数返回-1,0返回0。本题中0.25是正数,所以返回1,故C选项正确。

40.能够产生1到50之间(含1和50)随机整数的表达式是(  )。(D)

A. Int(Rnd*51)

B. Int(Rnd(50)+1)

C. Int(Rnd*50)

D. Int(Rnd*50+1)

解析:Rnd函数产生0~1之间的随机数,不包括0和1。要产生1~50(包含1和50)之间的随机整数,可以先产生0~50之间的随机整数,然后再这个基础上加1。故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。窗体上有个钟表图案,其中代表指针的直线的名称是Line1,还有一个名称为Label1的标签和其他一些控件(如图1所示)。在程序运行时,若用鼠标右键单击圆的边线,则指针恢复到起始位置(如图1所示);若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置(如图2所示);若鼠标左键或右键单击其他位置,则在标签上输出“鼠标位置不对”。

文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。程序中的oncircle函数的作用是判断鼠标单击的位置是否在圆的边线上(判断结果略有误差),是则返回True,否则返回False。符号常量x0、y0是圆心距窗体左上角的距离;符号常量radius是圆的半径。

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

(2)在考生文件夹下有一个工程文件sjt4.vbo,窗体如图所示。其功能是单击“输入数据”按钮,则可输入一个整数n(要求:8≤n≤12);单击“计算”按钮,则计算1!+2!+3!…+n!的值,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生文件夹下的out4.dat文件中。

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

注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后将修改后的文件按原文件名存盘。

(1)【操作步骤】

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

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

参考答案

Const y0& =1110,x0& = 1100,radiuS&=750

Private Function oncircle(X As Single,Y As Single)As Boolean

precision=55000

If Abs((X—x0)*(X—x0)+(y0一Y)*(y0一Y)一radius*radius)<precision Then’判断鼠标单击的位置是否在圆边上

oncircle=True

Else

oncircle=False

End If

End Function

Private Sub Form MouseDown(Button AsInteger,Shift as Integer,X As Single,YAs Single)

Const LEFT_BUTTON=1

If oncircle(X,Y)Then’调用oncircle函数判断鼠标单击的位置

Line1.X1=x0

Line1.Y1=y0

If Button=LEFT_BUTTON Then

Line1.X2=X

Line1.Y2=Y

’直线另一端的Y坐标为鼠标当前的y值

Else

Line1.X2=Line1.X1

’直线回到初始位王x不变

Line1.Y2=y0-radius&

’y2为原先坐标减去半径的值

End If

Label1.Caption=\

解析:(1)Const用来设置符号常量,Function oncircle()函数则用来判断鼠标单击的位置是否在圆的边界上,通过调用Function oncircle()函数实现对鼠标单击位置的判断,如果在其他位置,则在标签上显示“鼠标位置不对”,线条的X1、Y1、X2和Y2属性用来确定指针位置和大小,Button的值用来判断是右键单击还是左键单击,确定指针指向。

(2)在Commandl_Click事件过程中通过Val()函数和InputBox()函数取得输入对话框中的数值,如果输入的数值不在范围内,那么弹出对话框MsgBox(”数据错误,请重新输入”),并使命令按钮Command2和Command3不可用,Function f()函数则用来实现阶乘的计算,Command2_Click事件过程中,运用循环语句的累加实现表达式求和运算,Command3_Click事件过程通过文件操作实现数据的存盘处理。

综合应用题

44.在考生文件夹中有一个工程文件sit5.vbp。窗体外观如图3.134所示。运行程序,单击“读数据”按钮,文件中的数据被读入字符串变量中并显示在Label2标签中。单击“排序”按钮时,对读入的数据从小到大排序,并将排序结果显示在窗体的Label4控件中。要求:工程文件中已给出部分程序,“读数据”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。请编写“排序”命令按钮的事件过程中的部分程序代码。

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

【操作步骤】

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

参考代码:

Do While Not EOF’(1)

s= s & Str(a(i))

步骤2:在代码编辑窗口指定位置编写以下代码:

参考代码:

num=UBound(a)

For i=1 To num一1

For j =i To num

If a(i) >a(j) Then

t=a(i)

a(i)=a(j)

a(j)=t

End If

Next

Next

步骤3:按键运行程序,先单击“读数据”按钮,再单击“排序”按钮,最后单击窗体右上角的关闭按钮结束程序。

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

解析:

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

评论0

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