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

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

选择题

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

A. 图元关系

B. 数据流

C. 控制流

D. 调用关系

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

2.组合框是文本框和( )特性的组合。(C)

A. 复选框

B. 标签

C. 列表框

D. 目录列表框

解析:本题考查组合框。组合框控件(ComboBox)是将文本框和列表框的功能结合在一起,用户可以在列表中选择某项(注:只能选取一项),或在编辑区域中直接输入文本内容来选定项目。

3.以下变量名中合法的是(  )。(C)

A. x2-1

B. print

C. str_n

D. 2x

解析:VB中变量名的命名规则:①必须以字母或汉字开头②由字母、汉字、数字或下划线组成③不能使用VB的保留字。本题中x2-1中有-(减号),不是下划线。print是VB的保留字,也不能作变量名。2x以数字开头,也是错误的。故C选项正确。

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

A. Label1.BackStyrle=0 Label1.BorderStyle=0

B. Label1.BackStyle=1 Label1.BorderStyle=1

C. Label1.BackStyle=True Label1.BorderStyle=True

D. Label1.BackStyrle=False Label1.BorderStyle=False

解析:本题考查标签的属性。标签的BackStyle属性表示标签的背景是否透明(1表示不透明,0表示透明)。标签的BorderStyle属性表示是否含有边框(1表示有边框,0表示没有边框)。

5.以下对文件分类的划分不正确的是( )。(B)

A. 文件分为程序文件和数据文件

B. 文件分为有结构文件和无结构文件

C. 文件分为ASCII文件和二进制文件

D. 文件分为顺序文件和随机文件

解析:本题考查文件的分类。按照数据的访问模式,可分为有顺序、随机、二进制文件,按照文件的存储,可分为ASCII文件和二进制文件,按照文件的功能可分为数据文件和程序文件。

6.设有如下Command1的单击事件过程及fun过程:

Private Sub Command1_Click()

  Dim x As Integer

  x=Val(InputBox(\(A)

A. 3 6

B. 6 3

C. 6

D. 程序死循环

解析:题目中fun过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用,参数值为6,是偶数所再次调用fun过程,这次参数为6/2=3,是奇数,不再调用自身,接着执行下一句输出参数值即3,然后返回第一次调用过程中执行下一句输出第一次调用参数值,即6。因此程序会输出3 6。

7.在窗体上画一个命令按钮,其名称为Command1,然后编写如下代码:

Option Base 1

Private Sub Command1_Click()

  Dim a

  a=Array(1, 2, 3, 4)

  j=1

  For i=4 To 1 Step-1

    s=s+a(i)* j

    j=j * 10

  Next i

  Print s

End Sub

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

A. 4321

B. 1234

C. 34

D. 12

解析:Array函数用来为数组元素赋值,即把一个数据集读入某个数组。其格式为:数组变量名=Array(数组元素值)。Dim a语句没有变量类型名,则a默认为Variant类型,这里它作为数组变量使用。现在一直数组a中元素的值依次为1,2,3,4,则For循环中各变量值如下:

i=4时,s=s+a(4)*j=0+4*1=4,j=1*10=10

i=3时,s=s+a(3)*j=4+3*10=4+30=34,j=10*10=100

i=2时,s=s+a(2)*j=34+2*10=34+200=234,j=100*10=1000

i=1时,s=s+a(1)*j=234+1*1000=234+1000=1234。循环结束。s的值为1234。

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

A. 图元关系

B. 数据流

C. 控制流

D. 调用关系

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

9.工程中有2个窗体,名称分别是Form1、Form2,Form1是启动窗体。Form1上有1个名称为Command1的命令按钮。为了在单击Command1按钮时能够在Form2窗体上显示“OK”,应在Command1的Click事件过程中编写的代码是( )。(D)

A. Print Form2\

B. Form1.Print\

C. Print\

D. Form2.Print\

解析:在commandl的Click事件过程中,首先应使用Form1.Hide语句隐藏窗体1,然后使用Form2.Print“OK”语句在窗体2中显示字符串“OK”,故本题D选项正确。本题选择D选项。

10.下面说法中正确的是( )。(A)

A. 设a=4,b=3,c=2,则语Print a>b>c的输出结果为False

B. 语句Const B As Double=Sin(2)的作用是定义名称为B的符号常量

C. Case y Is>=80是一个合法的Case子句

D. MsgBox函数没有返回值

解析:A选项中先执行a>b结果为Tme,True转换为一1,然后执行一1>c,结果为False,故A选项正确;定义符号常量,可以定义符号常量来代替数值或字符串,【格式】Const常量名=表达式[,常量名=表达式],在常量名后加上类型说明符,如果不适用类型说明符,则根据表达式的求值结果确定常量类型,B选项用As Double指定常量类型的方式是错误的;在Select……Case多分支结构中,Case关键字后直接跟Is表达式,不需要跟变量,C叙述错误;MsgBox函数的返回值是一个整数,这个整数与选择的按钮有关,D选项叙述错误;本题选择A选项。

11.以下程序段中,输出结果为“Hi”的是( )。(A)

A. Dim x As Integer

x=5

Select Case x

Case 1 To 5

Print\

B. Dim x As Integer

x=5

Select Case x

Case x Is<=5

Print\

C. Dim x As Integer

x=5

Select Case x

Case x=1

Print\

D. Dim x As Integer

x=5

Select Case x

Case Is>5

Print\

解析:在Select Case……End Select结构中,ease后可以接下列三种形式的值:1.表达式[,表达式];2.表达式To表达式;3.Is关系运算表达式,且当用关键字Is定义条件时,只能是简单的条件,不能用逻辑运算符将两个或多个简单条件组合在一起,故选项B和选项C中Case后跟的表达式有错误;D选项中Case后的表达式“Is>5”,变量x的值无法与之匹配,故不能输出“Hi”,本题只有A选项符合题意。本题选择A选项。

12.工程中有Form1、Form2两个窗体(Form1中有文本框Text1;Form2中有Text1文本框和Command1命令按钮)。Form1是启动窗体。在这些模块中编写下面的程序代码:

Form1中的代码如下:

Private Sub Text1_DblClick()

Text1 = \(D)

A. 双击Form1的Text1后, Text1中显示\

B. 双击Form1的Text1后,Form2成为当前窗体

C. 单击Form2的命令按钮,Form1成为当前窗体

D. Form2的Text1 = Form1.Text1语句不能正确执行

解析:本题考察窗体切换的知识。双击Form1的Text1时触发Text1_DblClick事件,Text1中显示\

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

x=InputBox(”Enter an Integer\(D)

A. 1 8

B. 1 9

C. 20

D. 21

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

14.一个工程中包含两个名称分别为Form1、Form2的窗体、一个名称为Func的标准模块。假定在Form1、Form2和Func中分别建立了自定义过程,其定义格式为:

Form1中定义的过程:

Private Sub Fun1()

……

End Sub

Form2中定义的过程:

Private Sub Fun2()

……

End Sub

Func中定义的过程:

Private Sub Fun3()

……

End Sub

在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是( )。(C)

A. 上述3个过程都可以在工程中的任何窗体或模块中被调用、

B. Fun1和Fun2过程能够在工程中各个窗体或模块中被调用

C. 上述3个过程都只能在各自被定义的模块中调用

D. 只在Fun3过程能够被工程中各窗体或模块调用

解析:本题考查过程的作用域。在定义过程或者函数的时候选用了Private关键字说明,那么这个过程仅可以在本模块中使用,标准模块定义的函数或者过程也不例外。

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

Private Type stu

sn As String * 20

class As String * 20

End Type

Private Sub Command1_Click()

Dim s As stu

Open \(C)

A. 定义记录类型stu的Type语句可以移到事件过程Command1_Click中

B. 如果文件c:\\allstu.dat不存在,则Open语句执行中出现\

C. 文件c:\\allstu.dat中的每条记录是等长的

D. 语句\

解析:用户定义数据类型可以用Type语句来定义,格式是:Type 数据类型名 数据类型元素名 AS 类型名 数据类型元素名 AS 类型名….End Type。用户定义的数据类型必须先定义后使用,而且只能在模块(窗体模块或标准模块)的声明部分定义,故选项A错误。文件的打开格式:Open文件说明[For方式][Access存取类型][锁定]As #文件号[Len=记录长度]。如果以输出(Output)、附加(Append)或随机(Random)访问方式打开的文件不存在,则会建立相应的文件,故选项B错误。随机文件写操作格式:Put #文件号,[记录号],变量,功能是把\

16.为了对多个控件执行操作,必须选中这些控件。下列不能选中多个控件的操作是(  )。(A)

A. 按住Alt键,不要松开,然后单击每个要选中的控件

B. 按住Shift键,不要松开,然后单击每个要选中的控件

C. 按住Ctrl键,不要松开,然后单击每个要选中的控件

D. 拖动鼠标画出一个虚线矩形,使所选中的控件位于这个矩形内

解析:按住Alt键只能选中单个控件,不能同时选中多个控件。故选A。

17.设有如下通用过程:

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过程的参数为\

18.在窗体上画一个通用对话框,程序运行中用ShowOpen方法显示\(D)

A. \

B. \

C. \

D. \

解析:文件对话框中的Filter属性是用来指定文件列表框中显示的文件类型。属性Filter称为过滤器,需要设置多个过滤器时可用\

19.下列叙述中正确的是(D)

A. 一个算法的空间复杂度大,则其时间复杂度也必定大

B. 一个算法的空间复杂度大,则其时间复杂度必定小

C. 一个算法的时间复杂度大,则其空间复杂度必定小

D. 算法的时间复杂度与空间复杂度没有直接关系

解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。

20.设有下面程序代码:

Option Base 1

Private Sub Command1_Click()

Dim x(6)

a = Array(4, 2, 5, 1, 6, 3)

b = Array(64, 24, 98, 27, 58, 41)

For k = 1 To 6

x(a(k)) = b(k)

Next k

For k = 1 To 6

Print x(k);

Next k

End Sub

程序运行时的输出是(A)

A. 27 24 41 64 98 58

B. 64 24 98 27 58 41

C. 24 27 41 58 64 98

D. 98 64 58 41 27 24

解析:第一个For循环对x数组元素赋初值。被赋的值根据下标,从b数组中获取。而x的下标从数组a中的元素获得。注意Option Base 1的影响,下标从1开始。因此x数组中的值实际上是按照a数组中值进行了一个重新排序。即x(1)是数组b中第4个元素的值:27,其它值以此类推。选A)。

21.设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选项正确。

22.有如下程序:

Private Sub Form_Click()

  Dim i As Integer, n As Integer

  For i=1 To 20

    i=i+4

    n=n+i

    If i>10 Then Exit For

  Next

  Print n

End Sub

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

A. 14

B. 15

C. 29

D. 30

解析:程序中For循环中的If语句判断循环变量i值如果大于10则退出循环。各次循环变量值变化如下:

i=1时,i=i+4=1+4=5,n=n+i=0+5=5,此时i=5,i>10不成立,i加1转入下次循环。

i=6时,i=i+4=6+4=10,n=n+i=5+10=15,此时,i=10,i>10不成立,i加1转入下次循环。

i=11时,i=i+4=11+4=15,n=n+i=15+15=30,此时,i=15,i>10成立,退出循环。此时n=30。

23.窗体上有一个名称为Combo1的组合框,一个名称为Command1的命令按钮。要求编写程序,在组合框中输入一个字符串,当单击命令按钮时,将该字符串逐项与组合框中原有列表项进行比较,若有相同列表项,则将其删除;若没有相同列表项,则将其添加到组合框中。现有人编写如下程序,以期实现上述功能:

Private Sub Command1_Click()

str1 = Trim(Combo1.Text)

flag=0

If str1

= 0 To Combo1.ListCount – 1

If str1 = Combo1.List(i) Then

Combo1.RemoveItem i

Combo1.Text = \(D)

A. For循环的循环初值i应该从1开始

B. 语句Combo1.RemoveItem i有错误

C. 语句Combo1.AddItem Combo1.Text有错,Combo1.Text的内容已存在于组合框中

D. 应把程序倒数第3行中的If flag=1 改为 If flag=0

解析:组合框的ListCount从0开始;RemoveItem和AddItem后面跟的是索引。根据题意,在没有相同列表项时需要添加,所以语句应该为flag = 0。选D)。

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

A. 16

B. 10

C. 6

D. 4

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

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

A. 需求分析阶段

B. 概念设计阶段

C. 逻辑设计阶段

D. 物理设计阶段

解析:E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

26.下列关于栈的叙述正确的是(  )。(B)

A. 栈按\

B. 栈按\

C. 只能在栈底插入数据

D. 不能删除数据

解析:栈是按\

27.设在一个工程的窗体中有如下代码:

Public x As Integer

Private Sub Form_Load()

Dim y As Integer

End Sub

在该工程的标准模块的声明部分有如下代码:

Public a As Integer

Private b As Integer

关于上述代码,以下叙述中错误的是

(A)

A. 变量x的作用域是整个工程

B. 变量y的作用域是Form_Load过程

C. 变量a的作用域是整个工程

D. 变量b的作用域是整个标准模块

解析:VB中变量的作用域分为:局部变量:在过程内用Dim语句或用Static语句声明的变量,只能在本过程中使用。窗体/模块级变量:在\

28.下面叙述中正确的是(B)

A. 一个工程由一个窗体模块和一个标准模块组成

B. 一个窗体是一个窗体模块

C. 一个工程中只能有一个标准模块

D. 窗体模块中包含本窗体的所有事件过程,标准模块中包含本标准模块的所有事件过程

解析:一个工程可由多个窗体模块、标准模块和类模块组成,A选项、C选项错误。窗体模块的主要操作是在标准模块中进行的,D选项错误,故正确答案为B选项。

29.下列关于栈的叙述中,正确的是(C)

A. 栈底元素一定是最后入栈的元素

B. 栈顶元素一定是最先入栈的元素

C. 栈操作遵循先进后出的原则

D. 以上说法均错误

解析:栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或\

30.如果在程序中直接使用了没有声明的变量,则它的数据类型是(D)

A. 字符串型

B. 整型

C. 逻辑型

D. 变体型

解析:字符串、整型和逻辑型数据必须先声明再使用,而变体型变量可以存储系统内定义的所有数据类型,可以直接使用不需声明。故选择D项。

31.下列程序的执行结果是( )。

Private Sub Form_Activate()

Dim score(3)As Integer,total As Integer

Dim aa_score As Variant

score(1)=50:score(2)=14:score(3)=36

total=0;i=0

For Each aa_score In score

i=i+1

total=total+aa_score

Print i,aa_score.tota l

Next

End Sub

(A)

A.

B.

C.

D.

解析:本题考查For Each In语句。该语句的使用形式为:ForEach成员 In数组 …Next,适用于不关心数组中的元素个数或者不清楚有多少个元素,使用时要求成员为变体类型变量。当激活窗体时,对score数组中的每个元素进行求和,同时i记下当前计算数组元素的个数。默认数组下标从0开始,题中score数组中含有4个元素,输出4行。

32.Print Format(1234.56, \(B)

A. 123.4

B. 1234.6

C. 1234.5

D. 1234.56

解析:Format是格式输出函数,数据要按照\

33.为了使名称为Commandl的命令按钮右移200,应使用的语句是( )。(C)

A. Commandl.Move-200

B. Commandl.Move 200

C. Commandl.Left=Commandl.Left+200

D. Commandl.Left=Commandl.Lett-200

解析:考查控件的移动。窗体上的控件可以利用Move方法或者LeR属性来发生移动。LeR属性表示控件的左边缘距容器左边缘的距离。因此命令按钮右移时Left属性值增加。Move方法为移动到的位置,其格式为:[对象.]Move左边距离[,上边距离[,宽度[,高度]]]。

34.某人编写如F函数来判断a是否为素数,若是,则函数返旧True;否则返pI False。

Function prime(a As Integer)As Boolean

Dim k As Integer,isprime As Boolean

Ifa<2 Then

isprime=False

Else

isprime=True

k=2

Do While k<a/2 And lspnme

If a Mod k=0 Then

isprime=False

Else

k=k+1

End If

Loop

End If

prime=isprime

End Function

在测试时发现有1个非素数也被判断为素数,这个错判的数是( )。(C)

A. 0

B. 1

C. 4

D. 6

解析:本题考查循环的运行。如果输入的数据小于2,那么肯定不是素数,更改isprime的值为False。如果数据大于等于2,当等于2时,isprime为True,同时k<a/2不成立,a为2时为素数,当a为4时,k<2不成立,则误判断4也是素数,因此不符合素数的定义。

35.下列是VisualBasic中所允许的形式数是( )。(C)

A. ±25.74

B. 3.457E-100

C. 368

D. 1.87E+50

解析:考查VB中的数据表示。VB中的实数可以分为单精度和双精度,单精度指数形式为±n;nE±m,表示数据的最大值为3.402823E38;实际在使用的时候,”±”不能同时出现。

36.运行以下程序后,输出的图案是( )。

Form1.Cls

AS=StringS(10,\(A)

A. * *

** **

*** ***

**** ****

**********

B. **********

**********

**********

**********

**********

C. *********

*******

*****

***

**

D. **********

********

******

****

**

解析:本题考查循环程序的分析。本程序首先在字符串A中存放10个“*”号。指定循环输出5行;每次循环输出第i行时,把字符中从i+1开始的n个字符替换成n个空格。根据“n=10-2*i”语句,n的变化为8、6、4、2、0。

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

A. 耦合度

B. 内聚度

C. 复杂度

D. 连接度

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

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

A. 队列属于非线性表

B. 队列在队尾删除数据

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

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

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

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

A. 0

B. 1

C. 2

D. 3

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

40.窗体上有一个名称为Franlel的框架(如图),若要把框架上显示的“Frame1”改为汉字“框架”,下面正确的语句是( )。

(B)

A. Frame1.Name=\

B. Frame1.Caption=\

C. Frame1.Text=\

D. Frame1.Value=\

解析:框架的Name属性是设置框架的名称;Caption属性设置框架的标题,是在框架的左上角显示的内容;框架控件没有Text和Value属性。故B选项正确。

基本操作题

请根据以下各小题的要求设计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,其功能是:

①单击“读数据”按钮,则将考生文件夹下in3.dat文件中的100个正整数读人数组a中。

②单击“统计”按钮,则找出这100个正整数中的所有完全平方数(一个整数若是另一个整数的平方,那么它就是完全平方数。如36=62,所以36就是一个完全平方数),并将这些完全平方数的最大值与个数分别在文本框Text1、Text2中显示。

在给出的窗体文件中已经有了全部控件(如图所示),但程序不完整,请将程序中的注释符去掉,把“?”改为正确的内容,实现上述功能。

注意:考生不得修改窗体文件已存在的控件和程序,最后将程序按原文件名存盘。

(2)在考生文件夹下有一个工程文件sjt4.vbp,其窗体上有两个命令按钮,标题分别为“添加”和“退出”,一个初始内容为空的列表框List1。请添加一个标签,其名称为Label1,标题为“请输入编号”;再添加一个名称为Text1,初始文本为空的文本框,如图所示。程序功能如下:

(1)【操作步骤】

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

步骤2:分析并编写程序代码。

程序提供代码

Dim a(100) As Integer

Private Function is square(x As Integer) As Boolean   ’判断完全平方数

flag = False

For m = 1 To Sqr(x)

’If ? = m ^ 2 Then

    flag = True

    Exit For

   End If

Next m

’ is square = ?

End Function

Private Sub Command1_Click()

Dim k As Integer

Open App.Path & \

解析:

综合应用题

44.考生文件夹下有工程文件sjt5.vbp和数据文件in5.txt。in5.txt中有多条记录,每条记录占一行,含4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。程序运行时,会把in5.txt中的所有记录读入数组a中(每个数组元素是一条记录),并在窗体上显示第1条记录(如图所示)。单击“首记录”“下一记录”“上一记录”“尾记录”等按钮,可显示相应记录,并且当显示第1条记录时,“首记录”“上一记录”按钮不可用,如图3—5所示;当显示最后1条记录时,“尾记录”“下一记录”按钮不可用;其他情况,所有按钮均可用。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。

注意:考生不得修改窗体文件中已经存在的控件和程序,最后将程序按原文件名存盘。

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

参考代码:

num=k-1

n=n-1

Private Sub putdata(k As Integer)

SettEnabled k

Command4.Enabled=IIf(m=num,False,True)

步骤2:按<F5>键运行程序,单击各个按钮测试验证。

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

解析:分析题目可知,在窗体的Load事件处理过程中,调用了readdata过程把in5.txt文件里面的内容读出放到数组a里面。putdata过程将某条记录信息显示在节目上,四个按钮控件的事件响应过程中首先给变量n赋值,然后调用“putdata n”来显示记录。

第一个“?”处是给变量num赋值,由于程序在显示第一条记录的时候“上一个”按钮不可用,因此需要知道总的记录条数,根据“尾记录”按钮的事件响应过程代码“n=hum”可知,hum变量用于记录总的记录条数。在Do While循环结束之后,k的值为记录条数+1,因此第一个“?”处是k-1:第二个“?”处的Sub过程是显示上一个记录,因此n应该减1;第三个“?”处是补充Sub过程的入参,根据Sub过程内部代码可知,如参数为k;第四个“?”处是补充调用SetEnabled过程的参数,SetEnabled过程根据当前是第几条记录来控制按钮是否可用,在putdata过程中,当前记录数为k,因此第四个“?”处为k;最后一个“?”是设置Command4按钮是否可用,如果当前记录m是最后一条,则Command4按钮不可用,否则可用,如果当前记录m和总的记录数num相等则表示当前是最后一条。

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

评论0

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