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

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

选择题

1.窗体上有一个名称为Optionl的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程

Private Sub Optionl___Click(Index As Integer)

End Sub

下面关于此过程的参数Index的叙述中正确的是( )。(B)

A. Index的值可正可负

B. Index的值用来区分哪个单选按钮被选中

C. Index表示数组中单选按钮的数量

D. Index为1表示单选按钮被选中,为0表示未选中

解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标,默认索引号从0开始,不能为负值。

2.窗体上有名称分别为Text1、Text2的文本框,名称为Command1的命令按钮。运行程序,在Text1中输入“FormList”,然后单击命令按钮,执行如下程序:

Private Sub Command1_Click()

Text2.Text=UCase(Mid(Text1.Text,5,4))

End Sub

在Text2中显示的是( )。(D)

A. form

B. list

C. FORM

D. LIST

解析:Mid为中部截取函数,格式为Mid(字符串,起始位置,长度),Ucase函数的作用是把字符串中的小写字母转换为大写字母。题目中Mid函数截取字符串“FormList”第5个字符开始的4个字符,结果为“List”,Ucase函数把“List”全部变为大写,即“UST”。

3.执行语句Dim X,Y As Integer后,( )。(D)

A. X和Y均被定义为整型变量

B. X和Y均被定义为变体类型变量

C. X被定义为整型变量,Y被定义为变体类型变量

D. X被定义为变体类型变量,Y被定义为整型变量

解析:声明变量时可以同时声明多个变量,但要分别说明每个变量的数据类型。如果定义变量时不说明数据类型,默认是Variant变体类型变量。

本题中用Dim同时定义了两个变量X、Y,变量X没说明数据类型,所以是Variant型变量,Y是整型变量。故选D选项正确。

4.下列表达式的值为2123的是( )。(B)

A. Val(\

B. Val(\

C. Str(123)&\

D. Str(123)+\

解析:本题考查系统函数和字符串连接运算符。Val的功能是把从头开始的连续数字串转化成数字。而Str的功能是把数字转化为字符。当操作数为字符串时,运算符“+”表示对字符串进行连接运算,否则为加法运算。因此选项A)为1232000,选项B)为2123,选项C)和D)全部为1232000。

5.软件测试的目的是(  )。(D)

A. 评估软件可靠性

B. 发现并改正程序中的错误

C. 改正程序中的错误

D. 发现程序中的错误

解析:软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。

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

A. True

B. False

C. 1

D. 出错

解析:本题中Print语句中的表达式只有“>”运算符,相同优先级,左结合。先计算a>b,即10>5,值为True,(即一1),再计算一1>1,结果为False。故B选项正确。

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

Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer)

Print Chr(KeyCode)

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Print Chr(KeyAscii)

End Sub

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

(A)

A.

B.

C.

D.

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

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

A. -l

B. 0

C. 1

D. 0.5

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

9.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(  )。(A)

A. 学生成绩管理系统

B. C语言编译程序

C. UNIX 操作系统

D. 数据库管理系统

解析:软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。所以B、C、D都是系统软件,只有A是应用软件。

10.窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。以下程序的功能是从顺序文件中读取数据:

Private Sub Command1_Click()

  Dim s1 As String, s2 As String

  Open \(A)

A. 将Open语句中的For Append改为For Input

B. 将Line Input改为Line

C. 将两条Line Input语句合并为Line Input #3, s1,s2

D. 将Close语句改为Close #3

解析:文件打开方式中的Append意味着打开的文件是顺序输出方式,也就是说打开文件是为了向其中写入数据的而不是要读出数据。因此Open \

11.窗体上有一个名称为Shape1并显示为圆的形状控件(其Width和Height属性值相等),一个名称为Timer1的计时器,并有下面程序代码:

Dim r As Single, flag As Integer

Private Sub Form_Load()

r = Shape1.Width

Timer1.Enabled = True

Timer1.Interval = 500

End Sub

Private Sub Timer1_Timer()

If flag = 0 Then

Shape1.Width = Shape1.Width – 10

If Shape1.Width <= 100 Then

flag = 1

End If

Else

Shape1.Width = Shape1.Width + 10

If Shape1.Width >= r Then

flag = 0

End If

End If

End Sub

运行程序后产生的结果是(A)

A. 圆逐渐缩小,再逐渐增大,然后再逐渐缩小,依此往复

B. 圆一直在缩小

C. 圆每隔0.5秒向右移动一次

D. 圆每隔1秒向下移动一次

解析:Form_Load 过程中设定timer事件定时触发;在Timer1_Timer过程中,圆圈先变小后变大,然后退出。下一次timer事件触发时继续这个过程。因此,选A)。

12.设栈的顺序存储空间为S(1: 50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为(C)

A. 30

B. 29

C. 20

D. 19

解析:栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。当栈为空时,栈顶指针top=0,经过入栈和退栈运算,指针始终指向栈顶元素。top=20,则当前栈中有20个元素,C选项正确。

13.设有如下一段程序:

Private Sub Command1_Click()

  Static a As Variant

  a=Array(\(D)

A. 变量声明语句有错,应改为Static a(5)As Variant

B. 变量声明语句有错,应改为Static a

C. 可以正常运行,在窗体上显示three

D. 可以正常运行,在窗体上显示four

解析:题目中变量a被定义为Variant类型,Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。变量a被赋值为字符串数组,数组默认下标从0开始,因此元素a(3)的值为\

14.有如下程序:

Private Sub Form_Click()

Dim s As Integer, p As Integer

p=1

For i=1 To 4

  For j=1 To i

s=s+j

  Next j

  p=p * s

Next i

Print p

End Sub

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

A. 90

B. 180

C. 400

D. 800

解析:

15.窗体上有1个名称为Text1的文本框,1个名称为Label1的标签。程序运行后,如果在文本框中输入信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程为(  )。(D)

A. Private Sub Label1_Click()

Label1.Caption=Text1.Text

End Sub

B. Private Sub Label1_Change()

Label1.Caption=Text1.Text

End Sub

C. Private Sub Text1_Click()

Label1.Caption=Text1.Text

End Sub

D. Private Sub Text1_Change()

Label1.Caption=Text1.Text

End Sub

解析:题意是在文本框中输入信息,会影响标签上显示的内容,所以触发的是文本框Text1的事件,要在文本框Text1的事件过程中写代码,因此排除A、B选项。又因为标签上显示的内容会随着文本框中输入信息变化,因此要在Text1的Change事件过程写代码。故D选项正确。

16.对于文本框,用来设置允许输入的最大字符数的属性为(B)

A. Length

B. MaxLength

C. SelLength

D. MultiLine

解析:A项和C项不属于文本框的属性,故A项和C项错误。MaxLength允许在文本框输入的最大字符数,B正确。D项MultiLine用来设置文本框是否可以使用多行文本,故D错误。

17.假定在标准模块中的声明部分有如下语句:

Public VarA As Integer

而在窗体模块的声明部分有如下语句:

Public VarB As Integer

则以下叙述中正确的是(A)

A. VarA和VarB都被声明为全局变量

B. VarA被声明为模块变量,VarB被声明为全局变量

C. VarA被声明为全局变量,VarB被声明为模块变量

D. VarA和VarB都被声明为模块变量

解析:全局变量在声明中使用Public或Global语句,故正确答案为A选项。

18.属性BorderColor的作用是(A)

A. 设置形状边界线和直线的颜色

B. 设置直线或形状的背景颜色

C. 设置直线或形状边界线的线型

D. 设置形状的内部颜色

解析:FillColor用来设置形状内部的填充颜色。BorderStyle用来设置直线和形状的边界形的线型。BorderColor用来设置直线和形状的颜色。故本题正确答案为A选项。

19.VB中,若没有显式声明变量的数据类型,则默认的类型是(D)

A. 整型

B. 字符型

C. 日期型

D. 变体类型

解析:没有显式声明变量的数据类型,则默认的类型是变体类型。

20.下列关于算法复杂度叙述正确的是(B)

A. 最坏情况下的时间复杂度一定高于平均情况的时间复杂度

B. 时间复杂度与所用的计算工具无关

C. 对同一个问题,采用不同的算法,则它们的时间复杂度是相同的

D. 时间复杂度与采用的算法描述语言有关

解析:算法的时间复杂度是指执行算法所需要的计算工作量,它与使用的计算机、程序设计语言以及算法实现过程中的许多细节无关,B选项正确,D选项错误。最坏情况下的时间复杂度可以与平均情况的时间复杂度相同,A选项错误。不同的算法时间复杂度一般不相同,C选项错误。

21.窗体上有一个名称为Frame1的框架(如图),若要把框架上显示的\(B)

A. Frame1.Name=\

B. Frame1.Caption=\

C. Frame1.Text=\

D. Frame1.Value=\

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

22.有三个关系R,S和T如下:

则由关系R和S得到关系T的操作是(  )。

(A)

A. 自然连接

B. 交

C. 投影

D. 并

解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T中元组可以判断R和S做的是自然连接操作。

23.以下表达式与Int(3.5)的值相同的是(C)

A. CInt(3.5)

B. Val(3.5)

C. Fix(3.5)

D. Abs(3.5)

解析:Fix(x)与Int(x)同为取整函数,但有所不同。当x为正时,两个取整函数都是删除x小数部分,返回其整数部分的值,不进行四舍五入;当x为负时,Int(x)返回小于或等于x的最大整数,Fix(x)返回大于或等于x的最小整数。即Fix(x)函数指的是直接取x的整数部分,而Int(x)函数则是不大于x的整数。x可以是实数型或货币型数据。

24.要在程序运行过程中把Command1按钮的标题修改为\(B)

A. 在属性窗口中把Command1按钮的Caption属性改为\

B. 在程序中执行语句:Command1.Caption = \

C. 在属性窗口中把Command1按钮的Text属性改为\

D. 在程序中执行语句:Command1.Text = \

解析:Caption:用来设置显示在按钮上的标题,在程序运行过程中修改按钮的标题应该使用,Command1.Caption = \

25.下面不属于需求分析阶段任务的是(  )。(D)

A. 确定软件系统的功能需求

B. 确定软件系统的性能需求

C. 需求规格说明书评审

D. 制定软件集成测试计划

解析:需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择D

26.如果把命令按钮的Cancel属性设置为True,则程序运行后(  )。(A)

A. 按Esc键与单击该命令按钮的作用相同

B. 按回车键与单击该命令按钮的作用相同

C. 按Esc键将停止程序的运行

D. 按回车键将中断程序的运行

解析:当一个命令按钮的Cancel属性被设置为True时,按Esc键与单击该命令按钮的作用相同。在一个窗体中,只能有一个命令按钮的Cancel属性被设置为True。

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

A. 图元关系

B. 数据流

C. 控制流

D. 调用关系

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

28.若变量a未事先定义而直接使用(例如:a=0),则变量a的类型是(  )。(D)

A. Integer

B. String

C. Boolean

D. Variant

解析:VB不要求必须先定义再使用。如果没有提前定义变量,就直接使用,系统就会将变量的数据类型指定为默认数据类型Variant变体型。故选D。

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

A. 顺序结构

B. GOTO跳转

C. 选择(分支)结构

D. 重复(循环)结构

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

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

A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

D. 以上说法都不正确

解析:栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C

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

A. Caption

B. ListCount

C. ListIndex

D. Index

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

32.以下叙述中,错误的是(B)

A. 标准模块不属于任何一个窗体

B. 工程文件的扩展名为.vbg

C. 窗体文件的扩展名为.frm

D. 一个应用程序可以有多个窗体

解析:工程文件的扩展名为.vbp。

33.窗体上有一个名为List1的列表框和一个名为Command1的命令按钮,并有下面的事件过程:

Private Sub Command1_Click()

  n%=List1.ListIndex

  If n>0 Then

    ch$=List1.List(n)

    List1.List(n)=List1.List(n-1)

    List1.List(n-1)=ch

  End If

End Sub

程序运行时,选中1个列表项,然后单击Command1按钮,则产生的结果是(  )。(A)

A. 若选中的不是最前面的列表项,则选中的列表项与它前一个列表项互换位置

B. 选中的列表项与它前面的列表项互换位置

C. 若选中的不是最后面的列表项,则选中的列表项与它后一个列表项互换位置

D. 选中的列表项与它后面的列表项互换位置

解析:当单击Command1按钮后,List1列表框中被选中项的索引值赋给变量n,如果被选中项不是空也不是第1项时,将选中项的项目文字赋值给变量ch,用选中项的上面一项的文字替换选中项的文字,再把变量ch中的文字替换选中项上面一项的文字,简单说就是选中项和它上面一项的文字交换。因此A选项的说法正确。

34.如果改变驱动器列表框的Drive属性,则将触发的事件是(  )。(A)

A. Change

B. Scroll

C. KeyDown

D. KeyUp

解析:如果改变驱动器列表框的Driv属性,则将触发Change事件。

35.下列控件中,没有Caption属性的是( )。(C)

A. 单选按钮

B. 复选框

C. 列表框

D. 框架

解析:列表框控件没有Caption属性。

36.将数据项“Student”添加到名称为List1的列表框中,并使其成为列表框第一项的语句为( )。(A)

A. List1.Addltem\

B. List1.Addltem\

C. List1.AddItem 0,\

D. List1.AddItem 1,\

解析:List控件的Addltem方法的语法是:Addhem(String,index)。其中index是列表框中列表项的索引值,第一项的索引值为0。

37.在窗体(Name属性为Form1)上画两个文本框(Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程( )。

Private Sub Command1_Click()

a=Text1.Text+Text2.Text

Print a

End Sub

Private Sub Form_Load()

Text1.Text=\(C)

A. 444

B. 321123

C. 123321

D. 132231

解析:文本框的Text属性返回的是字符串。因此,Text1.Text的值为“123”、Text2.Text的值为“321”,题目中语句“a=Text1.Text+Text2.Text”就是一个连接字符并赋值运算,两个值连接起来就是123321,因此本题最后输出结果为选项C。

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

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。

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

A. 耦合度

B. 内聚度

C. 复杂度

D. 连接度

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

40.可以产生30~50(含30和50)之间的随机整数的表达式是( )。(A)

A. Int(Rnd*21+30)

B. Int(Rnd*20+30)

C. Int(Rnd*50-Rnd*30)

D. Int(Rnd*30+50)

解析:因为Rnd函数产生的随机数范围是大于等于0而小于1。要产生30~50(含30和50)之间的随机整数,可先产生0~(50—30),即O~20之间的随机整数,然后在这个基础上再加上30。

Rnd*20生成0~20之间的随机数中不包括20,所以要用Int(Rnd*21)可产生0~20之间的随机整数,然后加上30,综合起来就是Int(Rnd*21+30),故A选项正确。

基本操作题

请根据以下各小题的要求设计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个标题分别是“产生范文”和“结束”的命令按钮;2个名称分别为Text1和Text2,初始值为空的文本框。请再画1个名称为Label3、标题为“正确率”的标签,画1个名称为Text3、初始内容为空的文本框。效果如图3—16所示。程序功能如下:

1)单击“产生范文”命令按钮,则在Text1文本框中随机产生由20个字母组成的范文。

2)用户可以在Text2文本框中依照范文输入相应字母,当输入字母达到20个之后,禁止向Text2输入内容,且在Text3文本框中显示输入的正确率。

3)单击“结束”命令按钮,则结束程序运行。

请将“产生范文”命令按钮的Click事件过程,以及Text2文本框的KeyPress事件过程中的注释符去掉,把“?”改为正确内容,以实现上述程序功能。

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

(2)考生文件夹下的工程文件sjt4.vbp中已经定义了一个学生记录类型数据StudType。有3个标题分别为“准考证号”“姓名”和“总分”的标签;3个初始内容为空,用于接收准考证号、姓名和总分的文本框Text1、Text2和Text3;1个用于显示提示信息的标签Label4。请再画1个含有3个命令按钮的控件数组,其名称为Cmd1,标题分别是“添加”“最高”和“结束”。效果如图3—17所示。

第1小题

步骤1:打开考生文件夹中的本题工程文件sjt3.vbp,在窗体上加入一个标签和文本框,按照表4—10设置相关属性。

[*]

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

参考代码:

Text1=Text1+s

Text2.Locked=True

If Mid(Text2,i,1)=Mid(Text1,i,1)

Then

m=m+1

n=n+1

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

第2小题

步骤1:打开考生文件夹中的本题工程文件sji4.vbp,在窗体上加入一个命令按钮数组,按照表4—11设置相关属性。

[*]

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

参考代码:

Select Case Index

n=n+1

Max=stu(1).Tota1

If stu(j).Tota1>Max Then

maxi=j

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

解析:第1小题:题目要求比较两个文本框内容的相似程度,比较方法是通过循环分别从两个文本框逐个取字母,然后逐个比较,如果相同则止确计数变量m的加1,否则错误计数变量n加1。循环结束后,便可根据m和n的值计算正确率。

第2小题:题同要求首先在窗体上添加一个命令按钮数组,具体方法是在窗体下添加第一个命令按钮之后,选择该命令按钮,然后使用“复制”和“粘贴”命令或快捷方式,创建第二个命令按钮,系统会提示是否创建控件数组,选择“是”便完成摔件数组的建立,重复一次“粘贴”即可创建第三个命令按钮。

分析程序可知,在Cmd1的Click事件处理过程中,首先需要先判断当前点击的是哪一个命令按钮,这可以通过控件数组的index来来区分。题目要求最多只能输入50组数据,在第二个“?”处,If判断如果n没有超过50则n应该加1,保存当前有多少组数据;在case1里面是查找最高的那组数据,使用For循环来查找,循环的起始条件是j=2,即搜索是从第二组数据开始的,变量Max记录最高分,而变量maxi记录最高分出现的位置,因此第三个“?”处给Max变量初始化,即赋值第。组数据的分值:如果当前的分数高于Max值,则更新Max和maxi的值。

综合应用题

44.在考生目录下有工程文件sjt5.vbp和文本文件in5.txt,in5.txt中有不超过100个4位正整数。窗体上有2个命令按钮,其功能是:单击“读入数据”按钮,可以读入in.5.txt文件中的所有数,并显示在文本框中。单击“计算并保存”按钮,能够把满足下述条件的整数的个数,以及这些数的累加和存入out5.txt文件。这些数需满足的条件是:数中各位数字累加后能够被5整除(例如:5235各位数字累加和是15,能够被5整除,所以是满足条件的数)。

要求:

1)把“读入数据”按钮的Click事件过程中的?改为正确的内容;

2)为“计算并保存”按钮的Click事件过程编写代码。(事件过程的最后一行用于存盘,已经给出,考生不得修改,否则无成绩!)。

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

【操作步骤】

步骤1:打开本题项目工程。

步骤2:打开代码编辑窗口,去掉程序中的注释符“’”,将问号改为正确的内容,并在“考生编写的代码”区域填入相应的代码以实现题目的功能。

Option Base 1

Dim a(100)As Integer,hum As Integer

Private Sub Command1_Click()

Dim k As Integer

k=1

Open App.Path&”\in5.txt”For Input As#1

Do While Not EOF(1)

Input #1,a(k)

k=k+1

Loop

Close#1

num=k-1

For k=1 To num

Text1=Text1&a(k)&””

Next k

End Sub

Private Sub Command2_Click()

Dim sum As Long,n As Integer,s As Integer

Dim i AsInteger

sum=0;n=0

For i=1 To num

s=a(i)Mod 10+a(i)\\10 Mod 10 +a(i)\\

100 Mod 10+a(i)\\100

If a Mod 5=0 Then

sum=sum+n(i)

n=n+1

End If

Next i

Call SaveFile(SUm,n)’此行用于存盘,考生不得修改,否则无成绩!

End Sub

Private Sub SaveFile(sum As Long,n As Integer)

Open App.Path&”\out5.txt”For Output As #1

Print#1,n,sum

Close#1

End Sub

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

解析:

资源下载《国家二级(VB)机试模拟试卷345附答案解析.doc》 文档仅限注册用户下载,请先
将本套试题Word文档或文章下载到电脑,方便收藏和打印
资源下载
《国家二级(VB)机试模拟试卷345附答案解析.doc》
试题含答案和解析word文档下载价格:免费
将本套试题Word文档或文章下载到电脑,方便收藏和打印
0

评论0

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