1、二级 VISUAL+BASIC-3-2 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列数据结构中,属于非线性结构的是_。(分数:1.00)A.循环队列B.带链队列C.二叉树D.带链栈2.下列数据结构中,能够按照“先进后出”原则存取数据的是_。(分数:1.00)A.循环队列B栈C.队列D.二叉树3.对于循环队列,下列叙述中正确的是_。(分数:1.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针4.算法的空间复杂度是指_。(分数:1.00)A.算法在执行
2、过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数5.软件设计中划分模块的一个准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合6.下列选项中不属于结构化程序设计原则的是_。(分数:1.00)A.可封装B.自顶向下C.模块化D.逐步求精7.软件详细设计产生的图如下: (分数:1.00)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.数据库管理系统是_。(分数:1.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统9.在 E-R 图中
3、,用来表示实体联系的图形是_。(分数:1.00)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系 R、S 和 T 如下: (分数:1.00)A.选择B.投影C交D并11.在 VB 集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是_。 A B C D (分数:1.00)A.B.C.D.12.设 x 是整型变量,与函数 IIf(x0,-x,x)有相同结果的代数式是_。(分数:1.00)A.|x|B.-|x|CxD.-x13.设窗体文件中有下面的事件过程: Private Sub Command1_Click() Dim s a%=100 Print a End Sub
4、其中变量 a 和 s 的数据类型分别是_。(分数:1.00)A.整型,整型B.变体型,变体型C.整型,变体型D.变体型,整型14.下面不能在信息框中输出“VB”的是_。(分数:1.00)A.MsgBox “VB“B.X=MsgBox(“VB“)C.MsgBox(“VB“)D.Call MsgBox “VB“15.下面关于标准模块的叙述中,错误的是_。(分数:1.00)A.标准模块中可以声明全局变量B.标准模块中可以包含一个 Sub Main 过程,但此过程不能被设置为启动过程C.标准模块中可以包含一些 Public 过程D.一个工程中可以含有多个标准模块16.下面正确使用动态数组的是_。(分数
5、:1.00)A.Dim arr()As IntegerReDim arr(3, 5)B.Dim arr()As IntegerReDim air(50)As StringC.Dim arr()ReDim alT(50)As IntegerD.Dim arr(50)As IntegerReDim arr(20)17.下面是求最大公约数的函数的首部: Function gcd(ByVal x As Integer, ByVal y As Integer)As Integer 若要输出 8、12、16 这 3 个数的最大公约数,下面正确的语句是_。(分数:1.00)A.Print gcd(8, 12
6、), gcd(12, 16), gcd(16, 8)B.Print gcd(8, 12, 16)C.Print gcd(8), gcd(12), gcd(16)D.Print gcd(8,g cd(12, 16)18.若在窗体模块的声明部分声明了如下自定义类型和数组: Private Type rec Code As Integer Caption As String End Type Dim arr(5)As tee 则下面的输出语句中正确的是_。(分数:1.00)A.Print arr. Code(2), ale. Caption(2)B.Print arr. Code, arr. Cap
7、tionC.Print arr(2). Code, arr(2). CaptionD.Print Code(2), Caption(2)19.下面程序运行时,若输入 395,则输出结果是_。 Private Sub Command1_Click() Dim x% x=InputBox(“请输入一个 3 位整数“) Print x Mod 10, x/100, (x Mod 100)/10 End Sub(分数:1.00)A.3 9 5B.5 3 9C.5 9 3D.3 5 920.某人编写了下面的程序,希望能把 Text1 文本框中的内容写到 out.txt 文件中: Privme Sub C
8、ommand1_Click() Open “out.txt“ For Output As #2 Print “Text1“ Close #2 End Sub 调试时发现没有达到目的,为实现上述目的,应做的修改是_。(分数:1.00)A.把 Print “Text1“改为 Print #2, Text1B.把 Print “Text1“改为 Print Text1C.把 Print “Text1“改为 Write “Text1“D.把所有#2 改为#121.VB 中有 3 个键盘事件:KeyPress、KeyDown、KeyUp,若光标在 Text1 文本框中,则每输入一个字母_。(分数:1.0
9、0)A.这 3 个事件都会触发B.只触发 KeyPress 事件C.只触发 KeyDown、KeyUp 事件D.不触发其中任何一个事件22.设窗体的名称为 Form1,标题为 Win,则窗体的 MouseDown 事件过程的过程名是_。(分数:1.00)A.Form1_MouseDownB.Win_MouseDownC.Form_MouseDownD.MouseDown_Form123.要求当鼠标在图片框 P1 中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是_。(分数:1.00)A.Private Sub P1_MouseMove(Button As Integ
10、er, Shift As Integer, X As Single, Y As Single)Print X, YEnd SubB.Privme Sub P1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Pieture. Print X. YEnd SubC.Private Sub P1_MouseMove(Button As Integer, Shift As Imeger, X As Single, Y As Single)P1. Print X, YEnd SubD.Private Sub
11、 Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)P1. Print X, YEnd Sub24.为了使窗体的大小可以改变,必须把它的 BorderStyle 属性设置为_。(分数:1.00)A.1B.2C.3D.425.为了对多个控件执行操作,必须选中这些控件。下列不能选中多个控件的操作是_。(分数:1.00)A.按住 Alt 键,不要松开,然后单击每个要选中的控件B.按住 Shift 键,不要松开,然后单击每个要选中的控件C.按住 Ctrl 键,不要松开,然后单击每个要选中的控件D.拖
12、动鼠标画出一个虚线矩形,使所选中的控件位于这个矩形内26.在窗体上画一个文本框,其名称为 Text1,为了在程序运行后隐藏该文本框,应使用的语句为_。(分数:1.00)A.Text1. ClearB.Text1. Visible=FalseC.Text1. HideD.Text1. Enabled=False27.以下能够触发文本框 Change 事件的操作是_。(分数:1.00)A.文本框失去焦点B.文本框获得焦点C.设置文本框的焦点D.改变文本框的内容28.假定在图片框 Picture1 中装入了一个图片,在程序运行中,为了清除该图片(注意,清除图片,而不是删除图片框),应采用的正确方法是
13、_。(分数:1.00)A.单击图片框,然后按 Del 键B.执行语句 Picture1. Picture=LoadPicture(“ “)C.执行语句 Picture1. Picture=“ “D.执行语句:Picture1. Cls29.要想使列表框只允许单选列表项,应设置的属性为_。(分数:1.00)A.StyleB.SelectedC.MultiSelectD.Enabled30.在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim i As Integer, n A
14、s Integer Fori=0 To 50 i=i+3 n=n+1 If i10 Then Exit For Next Text1. Text=Str(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是_。(分数:1.00)A.2B.3C.4D.531.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_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 E
15、xit Do Case 65, 68, 92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是_。(分数:1.00)A.Do 循环执行的次数为 1000 次B.在 For 循环中产生的随机数小于或等于 100C.当所产生的随机数为 12 时结束所有循环D.当所产生的随机数为 65、68 或 92 时窗体关闭、程序结束32.在窗体上画一个名为 Command1 的命令按钮,然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a a=Array(1, 2, 3, 4) j=1
16、For i=4 To 1 Step_1 s=s+a(i)*j j=j*10 Next i Print s End Sub 运行上面的程序,其输出结果是_。(分数:1.00)A.1234B.12C.34D.432133.设有如下通用过程: Public Function Fun(xStr As String)As String Dim tStr As String, strL As Integer tStr=“ “ strL=Len(xStr) i=1 Do While i=strL/2 tStr=tStr n=n/0 Wend Print End Sub 此程序功能是:输入 2 个正整数,反序
17、输出这 2 个数的每一位数字,再反序输出这 2 个数之和的每一位数字。例如:若输入 123 和 234,则应该输出: 3 2 1 4 3 2 7 5 3 但调试时发现只输出了前 2 行(即 2 个数的反序),而未输出第 3 行(即 2 个数之和的反序),程序需要修改。下面的修改方案中正确的是_。(分数:1.00)A.把过程 pro 的形式参数 n As Integer 改为 ByVal n As IntegerB.把 Call pro(a+b)改为 pro a+bC.把 n=n/10 改为 n=n/10D.在 pro b 语句之后增加语句 c%=a+b,再把 Call pm(a+b)改为 pr
18、o c38.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() c=1234 c1=Trim(Str(c) For i=1 To 4 Print _ Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容: 1 12 123 1234 则在横线处应填入的内容为_。(分数:1.00)A.Right(c1, i)B.Left(c1, i)C.Mid(c1, i, 1)D.Mid(c1, i, i)39.假定有以下程序段: For i=1 To 3 For j=5 To 1 Step-1 Prin
19、t i*j Next j Next i 则语句 Print i*j 的执行次数是_。(分数:1.00)A.15B.16C.17D.1840.在窗体上画两个文本框(名称分别为 Text1 和 Text2)和一个命令按钮(名称为(Command1),然后编写如下事件过程: Private Sub Command1_Click() x=0 Do While x50 x=(x+2)*(x+3) n=n+1 Loop Text1. Text=str(n) Text2. Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文本框中显示的值分别为_。(分数:1.00)A.1 和 0B.2
20、 和 72C.3 和 50D.4 和 168二、基本操作题(总题数:2,分数:18.00)41.在名称为 Form1 的窗体上添加一个名称为 Label1、标题为“设置速度”的标签,通过属性窗口把标签的大小设置为自动调整。添加个名称为 HScroll1 的水平滚动条,通过属性窗口设置适当属性使滚动条的最小值为 1,最大值为 80,单击滚动条两端的箭头时,滚动框移动 2,滚动框的初始值为 30。程序运行后的窗体如图所示。 注意:存盘时必须存放在 下,工程文件名保存为 sj1.vbp,窗体文件名保存为 sjt1.frm。 (分数:9.00)_42.在名称为 Form1 的窗体上添加一个名称为 Sh
21、ape1 的形状控件,添加两个名称分别为Command1、Command2,标题分别为“圆形”、“红色边框”的命令按钮。将窗体的标题设置为“图形控件”,如图 1 所示。请编写适当的事件过程,使得程序在运行时,单击“圆形”按钮将形状控件设为圆形。单击“红色边框”按钮,将形状控件的边框颜色设为红色( Select Case Num Case 12 Exit For Case 58 Exit Do Case 65, 68, 92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是_。(分数:1.00)A.Do 循环执行的次数为 1000 次B
22、.在 For 循环中产生的随机数小于或等于 100C.当所产生的随机数为 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 时退出 D。循环,为 12 时退出
23、For 循环进入下一次 Do 循环。32.在窗体上画一个名为 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 运行上面的程序,其输出结果是_。(分数:1.00)A.1234 B.12C.34D.4321解析:解析 Array 函数用来为数组元素赋值,即把一个数据集读入某个数组。其格式为:数组变量名=Array(数组元素值)。Di
24、m 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*100=34+200=234,j=100*10=1000 i=1 时,s=s+a(1)*j=234+1*1000=234+1000=1234。循环结束。s 的值为 1234。33.设有如下通用过程: Public Fu
25、nction Fun(xStr As String)As String Dim tStr As String, strL As Integer tStr=“ “ strL=Len(xStr) i=1 Do While i=strL/2 tStr=tStr n=n/0 Wend Print End Sub 此程序功能是:输入 2 个正整数,反序输出这 2 个数的每一位数字,再反序输出这 2 个数之和的每一位数字。例如:若输入 123 和 234,则应该输出: 3 2 1 4 3 2 7 5 3 但调试时发现只输出了前 2 行(即 2 个数的反序),而未输出第 3 行(即 2 个数之和的反序),程
26、序需要修改。下面的修改方案中正确的是_。(分数:1.00)A.把过程 pro 的形式参数 n As Integer 改为 ByVal n As Integer B.把 Call pro(a+b)改为 pro a+bC.把 n=n/10 改为 n=n/10D.在 pro b 语句之后增加语句 c%=a+b,再把 Call pm(a+b)改为 pro c解析:解析 在过程定义中过程的形式参数定义时如果没有 ByVal 指明参数的传递方式,那么默认为地址传递,这样过程中对形参的改变将影响到实参的值。本程序中过程定义语句 Private Sub pro(n As Integer)说明形参 n 为按地址
27、传递的,而在过程内语句 n=n/10 改变了形参的值,因此,a、b 的值就不再是最初输入的值了,表达式 a+b 就不是期望的两个输入数的和。因此得不到正确结果。 只要把 Private Sub pro(n As Integer)改为 Private Sub pro(ByVal n As Integer),程序即可得到正确结果,因此 A 选项正确。38.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() c=1234 c1=Trim(Str(c) For i=1 To 4 Print _ Next End Sub
28、程序运行后,单击命令按钮,要求在窗体上显示如下内容: 1 12 123 1234 则在横线处应填入的内容为_。(分数:1.00)A.Right(c1, i)B.Left(c1, i) C.Mid(c1, i, 1)D.Mid(c1, i, i)解析:解析 程序中使用 Str(c)将数值 1234 转换成为一个字符串“1234”,又使用 Trim 函数去除了字符串首尾可能存在的空格,保证了字符串中只有 1、2、3、4 这 4 个字符。在 For 循环中从左边递次输出这些字符就需要使用 Left()函数,Left 是左部截取函数,可以截取字符串左边指定个数的字符串,以Left(cl, i)的形式即
29、可每次循环取出期望的字符串。因此答案为 B。39.假定有以下程序段: For i=1 To 3 For j=5 To 1 Step-1 Print i*j Next j Next i 则语句 Print i*j 的执行次数是_。(分数:1.00)A.15 B.16C.17D.18解析:解析 外层 For 循环从 1 到 3 是 3 次,内层循环从 5 到 1,是 5 次。因此循环体执行的次数是3*5=15 次。40.在窗体上画两个文本框(名称分别为 Text1 和 Text2)和一个命令按钮(名称为(Command1),然后编写如下事件过程: Private Sub Command1_Clic
30、k() x=0 Do While x50 x=(x+2)*(x+3) n=n+1 Loop Text1. Text=str(n) Text2. Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文本框中显示的值分别为_。(分数:1.00)A.1 和 0B.2 和 72 C.3 和 50D.4 和 168解析:解析 在文本框中显示的值即 n,x 的值。x 初始值已设为 0,n 的初值没有定义,默认为 0。各次循环 X,n 的值如下: x=(x+2)*(x+3)=(0+2)*(0+3)=2*3=6, n=n+1=0+1=1 x=6,满足 x50,循环继续: x=(x+2)*(
31、x+3)=(6+2)*(6+3)=8*9=72, n=n+1=1+1=2 x=72,不满足 x50,循环结束。此时 n 的值为 2,x 的值为 72。二、基本操作题(总题数:2,分数:18.00)41.在名称为 Form1 的窗体上添加一个名称为 Label1、标题为“设置速度”的标签,通过属性窗口把标签的大小设置为自动调整。添加个名称为 HScroll1 的水平滚动条,通过属性窗口设置适当属性使滚动条的最小值为 1,最大值为 80,单击滚动条两端的箭头时,滚动框移动 2,滚动框的初始值为 30。程序运行后的窗体如图所示。 注意:存盘时必须存放在 下,工程文件名保存为 sj1.vbp,窗体文件
32、名保存为 sjt1.frm。 (分数:9.00)_正确答案:()解析:操作步骤 步骤 1:建立界面,并设置控件的属性。程序中用到的控件及属性见下表。 控件 滚动条 标签 属性 NameMinMaxSmallChangeValueName Caption Auto Size 设置 值 Hscroll1180230Label1 设置 速度 True 步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 根据题意,先通过标签的 Autosize 属性把标签的大小设置为自动调整。然后通过对滚动条的 SmallChange 属性设置,使单击滚动条两端的箭头时,滚动框移动 2。42.
33、在名称为 Form1 的窗体上添加一个名称为 Shape1 的形状控件,添加两个名称分别为Command1、Command2,标题分别为“圆形”、“红色边框”的命令按钮。将窗体的标题设置为“图形控件”,如图 1 所示。请编写适当的事件过程,使得程序在运行时,单击“圆形”按钮将形状控件设为圆形。单击“红色边框”按钮,将形状控件的边框颜色设为红色(&HFF&),如图 2 所示。 注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。 存盘时必须存放在 下,工程文件名保存为 sjt2.vbp,窗体文件名保存为 sjt2.frm。 图 1(分数:9.00)_正确答案:()解析:操作步骤 步骤 1
34、:建立界面,并设置控件的属性。程序中用到的控件及属性见下表。 控件 命令按钮 1 命令按钮 2 形状控件 属性 Name Caption Name Caption Name 设置值 Command1 圆形Command2 红色边框 Shape1 步骤 2:编写程序代码。 Private Sub Command1_Click() Shape1. Shape=3 End Sub Private Sub Command2_Click() Shape1. BorderColor=&HFF& End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 根据题意,通过命令按
35、钮的 Name、Caption 属性设置命令按钮的名称和标题。在单击命令按钮事件过程中,通过设置形状控件的 BorderColor 和 Shape 属性,将形状控件的边框颜色设为红色和将形状控件设为圆形。三、简单应用题(总题数:2,分数:24.00)43.在 下有一个工程文件 sjt3.vbp,含有两个窗体,名称分别为 Form1、Form2。其中 Form1 上有两个控件(图像框和计时器)和一个菜单项“操作”,含有三个子菜单(如图 1 所示)。Form2 上有一个名称为Command1、标题为“返回”的命令按钮(如图 2 所示)。要求当单击“窗体 2”菜单命令时,Form1 隐藏,Form2
36、 显示。单击“动画”菜单命令时,使小汽车开始移动,一旦移到窗口的右边界时自动跳到窗体的左边界重新开始移动。单击“退出”菜单命令时,结束程序运行。请去掉程序中的注释符,把程序中的?改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。最后程序按原文件名存盘。 图 1(分数:12.00)_正确答案:()解析:操作步骤 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 窗体 1 的代码 Private Sub mnuOper_Cliek(Index As Integer) “Select Case? Case 1 Form2.Show Form1.Hide Case
37、 2 “Timer1.Enabled=? Case 3 End End Select End Sub Private Sub Timer1_Timer() Pieture1. Left=Picture1. Left+100 “If Picture1. Left+Picture1. Width =? Then “Picture1. Left=? End If End Sub 窗体 2 的代码 Private Sub Command1_Click() Form1.Show Form2.Hide End Sub 程序结束 第 1 个?处填入:Index 第 2 个?处填入:True 第 3 个?处填
38、入:Form1. Width 第 4 个?处填入:0 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 在计时器的 Timer 事件过程中,通过设置标签的 Left 属性值在原有基础上加100 来实现自左向右移动的功能。在“动画”菜单项的单击事件过程中应启动计时器,使小汽车开始移动,通过图像框的 Left、Width 属性和窗体的 Width 属性判断,小汽车是否移到窗口的右边界,如果是,则设置 Picture1 的 Left 属性为 0,自动跳到窗体的左边界重新移动。在“窗体 2”菜单项的单击事件过程中,通过窗体的 Hide、Show 方法,隐藏 Form1,显示
39、Form2。在“退出”菜单项的单击事件过程中,通过 End语句退出程序。44.在 下有一个工程文件 sjt4.vbp。其窗体上已有部分控件,请按照图 1 所示添加框架和单选按钮。要求:添加两个框架,名称分别为 Frame1、Frame2,在 Frame1 中添加一个名为 Option1 的单选按钮数组,含两个单选按钮,标题分别为“古典音乐”、“流行音乐”,在 Frame2 中添加两个单选按钮,名称分别为 Option2、Option3,标题分别为“篮球”、“羽毛球”。刚运行程序时,“古典音乐”和“篮球”单选按钮初始状态为选中状态。单击“选择”按钮,将把选中的单选钮的标题显示在标签 Label2
40、 中,如图2 所示。如果“音乐”或“体育”未被选中,相应的单选按钮不可用。 要求:按照题目要求添加控件,去掉程序中的注释符,把程序中的?改为正确的内容。 注意:不能修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。 图 1(分数:12.00)_正确答案:()解析:操作步骤 步骤 1:打开本题工程文件,设置控件的属性。程序中用到的控件及属性见表 1 和表 2。 表 1 控件框架1 框架1 单选按钮1 属性NameCaptionNameCaptionNameCaptionValue设置值Frame1Frame2Option1古典音乐True表 2 控件单选按钮2 单选按钮3 单选按钮
41、4 属性NameCaptionNameCaptionValueNameCaption设置Op流行Op篮球TrOp羽毛值tion1音乐tion2uetion3球步骤 2:分析并编写程序代码。 程序提供代码 Private Sub Check1_Click() If Cheek1. Value=1 Then Frame1. Enabled=True Else Frame1. Enabled=False End If End Sub Private Sub Cheek2 Click() If Check2. Value=1 Then Frame2. Enabled=True Else Frame2.
42、 Enabled=False End If End Sub Private Sub Command1_Click() If Check1. Value=1 Then If ?=True Then S=“古典音乐“ Else s=“流行音乐“ End If End If If Check2. Value=1 Then “If ?=True Then s=s &“篮球“ Else s=s &“羽毛球“ End If End If Label2. Caption=? End Sub Private Sub Form_Load() Check1. Value=1 Check2. Value=1 End
43、 Sub 程序结束 第 1 个?处填入:Optionl(0). Value 第 2 个?处填入:Option2. Value 第 3 个?处填入:s 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 通过设置单选按钮的 Value 属性,使“古典音乐”和“篮球”单选钮为选中状态。单击“选择”按钮,通过 If 语句判断单选按钮是否被选中,把选中的单选按钮的标题通过标签的Caption 属性显示在标签 Label2 中,并通过复选框的 Value 属性和框架的 Enabled,实现如果“音乐”或“体育”未被选中,相应的单选按钮不可选。四、综合应用题(总题数:1,分数:18
44、.00)45.在 中有一个工程文件 sjt5.vbp,其功能是:找出矩阵元素的最大值,并求出矩阵对角线元素之和,窗体外观如图所示。程序运行时,矩阵数据被放入二维数组 a 中。当单击“找矩阵元素最大值”命令按钮时,找出矩阵中最大的数,并在标签 Label3 中显示。当单击“对角线元素之和”命令按钮时,计算矩阵主对角线元素之和,并在标签 Label4 中显示。文件中已给出部分程序,请编写“找矩阵元素最大值”及“对角线元素之和”两个命令按钮的事件过程中的部分程序代码。 注意:不得修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。程序调试通过后,两个命令按钮的事件过程必须至少各执行一次。
45、 (分数:18.00)_正确答案:()解析:操作步骤 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Dim a(4, 4)As Integer Private Sub Command1_Click() “=考生编写程序开始= “=考生编写程序结束= “不得修改以下部分 save Label3 End Sub Private Sub Commana2_Click() “=考生编写程序开始= “=考生编写程序结束= “不得修改以下部分 save Label4 End Sub Private Sub Form_Load() Open App.
46、Path& & “/in5.txt“ For Input As #1 For i=1 To 4 For j=1 To 4 Input #1, a(i, j) Next j Next i Close #1 End Sub 程序结束 PTivate Sub Command1_Click() Dim max As Integer max=0 For i=1 To 4 For j=1 To 4 If a(i, j)max Then max=a(i, j) End If Next j Next i Label3=max save Label3 End Sub Private Sub Command2_Click() Dim sum As Integer sum=0 For i=1 To 4 For j=1 To 4 If i=j Then sum=sum+a(i, j) End If Next j Next i Label4=sum save Label4 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 答案考生文件夹 解析 在本题中,文件以 Input 方式打开,使用一个 4 行、4 列的二维数组 a 来存放数据,并在一个嵌套的 For 循环中显示矩阵。