1、国家二级(VB)机试-试卷 2 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关2.下列叙述中正确的是(分数:2.00)A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D.以上说法均错误3.某二叉树共有
2、 12 个结点,其中叶子结点只有 1 个。则该二叉树的深度为(根结点在第 1 层)(分数:2.00)A.3B.6C.8D.124.对长度为 n 的线性表作快速排序,在最坏情况下,比较次数为(分数:2.00)A.nB.n-1C.n(n-1)D.n(n-1)/25.结构化程序设计中,下面对 goto 语句使用描述正确的是(分数:2.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句D.以上说法均错误6.下面不属于软件测试实施步骤的是(分数:2.00)A.集成测试B.回归测试C.确认测试D.单元测试7.下面不属于软件需求分析阶段主要工作的是(分数:2.
3、00)A.需求变更申请B.需求分析C.需求评审D.需求获取8.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的(分数:2.00)A.记录B.行C.属性D.元组9.有三个关系 R、S 和 T 如下: (分数:2.00)A.选择B.差C.交D.并10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司 C(公司号,公司名,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W 的键(码)为(分数:2.00)A.公司号,职员号B.职员号,工资C.职员号D.公司号,职员号,工资11
4、.在 Visual Basic 环境下设计应用程序时,系统能自动检查出的错误是( )。(分数:2.00)A.语法错误B.逻辑错误C.逻辑错误和语法错误D.运行错误12.下列合法的变量名是( )。(分数:2.00)A.sumaB.num_9C.print$D.5avg13.有如下语句序列: Dim a, b As Integer Print a Print b 执行以上语句序列,下列叙述中错误的是( )。(分数:2.00)A.输出的 a 值是 0B.输出的 b 值是 0C.a 是变体类型变量D.b 是整型变量14.以下关于控件数组的叙述中,错误的是( )。(分数:2.00)A.各数组元素共用相同
5、的事件过程B.各数组元素通过下标进行区别C.数组可以由不同类型的控件构成D.各数组元素具有相同的名称15.表达式 12 / 2/4 的值是( )。(分数:2.00)A.1.5B.2C.4D.116.下列数组定义中错误的是( )。(分数:2.00)A.Dim a(5 To3)B.Dim a(3 To 5)C.Dim a(3 To5)D.Dim a(3 To 3)17.设 a2, b3, c4, d5, 表达式 Not aSqr(i)Then Print i Next iEnd Sub 该程序的功能是( )。(分数:2.00)A.判断 n 是否为素数B.输出 n 以内所有的奇数C.输出 n 以内所
6、有的偶数D.输出 n 以内所有的素数31.设有如下事件过程:Private Sub Command1_Click() For i1 To 5 ji Do Print “*“ jj1 Loop Until j0 Next iEnd Sub 运行程序,输出“*“的个数是( )。(分数:2.00)A.5B.15C.20D.2532.设有如下事件过程:Private Sub Command1_Click() Dim a aArray(3, 5, 6, 3, 2, 6, 5, 3, 5, 4, 3, 9, 4, 5, 6, 3, 5) x0 nUBound(a) For i0 To n m0 For j
7、0 To n If a(i)a(j)Then mm1 End If Next j If mx Then xm: ba(i) Next i Print bEnd Sub 运行程序,输出是( )。(分数:2.00)A.2B.3C.5D.933.窗体上有 1 个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click() m3.6 If Sgn(m)Then nInt(m) Else nAbs(m) End If Print nEnd Sub 运行程序,并单击命令按钮,窗体上显示的内容为( )。(分数:2.00)A.4B.3C.3D.3.634.设有如
8、下程序:Private Sub Form_Click() numInputBox(“请输入一个实数“) pInStr(num, “.“) If p0 Then Print Mid(num, p1) Else Print “END“ End IfEnd Sub 运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出“END“;否则( )。(分数:2.00)A.用字符方式输出该实数B.输出该实数的整数部分C.输出该实数的小数部分D.去掉实数中的小数点,保留所有数码输出35.编写如下程序:Private Sub Command1_Click() Dim x As Integer,
9、y As Integer xInputBox(“输入第一个数“) yInputBox(“输入第二个数“) Call f(x, y) Print x, yEnd SubSub f(a As Integer, ByVal b As Integer) aa * 2 xab bb100End Sub程序运行后,单击命令按钮 Command1,并输入数值 10 和 15,则输出结果为( )。(分数:2.00)A.10 115B.20 115C.35 15D.20 1536.编写如下程序: Private Sub Command1_Click() Dim str1 As String, str2 As S
10、tring str1InputBox(“输入一个字符串“) subf str1, str2 Print str2 End Sub Sub subf(s1 As String, s2 As String) Dim temp As String Static i As Integer ii1 tempMid(s1, i, 1) If temp“ “ Then stst & c Else nn1 End If Next k chst DelSpacen End Function 函数的功能是( )。(分数:2.00)A.统计并返回字符串 ch 中字符的个数B.删除字符串 ch 中的空格符,返回删除字
11、符的个数C.统计并返回字符串 ch 中非空格字符数D.删除字符串 ch 中除空格符外的其他字符,返回删除字符的个数二、基本操作题(总题数:1,分数:2.00)41.(1)在名称为 Form1,标题为“选课”的窗体上添加一个复选框数组,名称为 CHl,共有四个复选框,按顺序其标题分别是“数学”、“语文”、“外语”、“计算机”,其中“语文”、“计算机”复选框处在选中状态下,程序运行时的窗体如图所示。请按要求添加控件并设置相应属性。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 Bjt1vbo,窗体文件名保存为 sjt1frm。 (2)在名称为Form1 的窗体上添加一个名称为 HSI 的水
12、平滚动条,其刻度值范围为 1100;添加一个命令按钮,名称为C1标题为“移动滚动框”。请编写适当的事件过程,使得在程序运行时,每单击命令按钮一次(假定单击次数不多于 10 次),滚动框向右移动 10 个刻度。程序运行时的窗体如图所示。要求程序中不得使用变量,事件过程中只能写一条语句。 (分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.(1)在考生文件央下有一个工程文件 sjt3vbp,在程序运行时,单击“输入整数”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。图 1 是输入 53 后的结果,图 2 是输入 100 后的结果。已经给出了全部控件和程序,但程
13、序不完整。 要求:请去掉程序中的注释符。把程序中的?改为正确的内容。小能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件央下有一个工程文件 sjt4vbp。在其窗体中“待选城市”下的 List1 列表框中有若干个城市名称。程序运行时,选中 List1 中若十个列表项(如图 1 所示),单击“选中”按钮则把选中的项目移到 List2 中,单击“显示”,则在 Textl 文本框中显示这些选中的城市(如图 2 所示)。已经给出了所有控件和程序,但程序不完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序
14、中的其他部分和控件属性。最后用原来的文什名保存工程文件和窗体文件。 (分数:2.00)_四、综合应用题(总题数:1,分数:2.00)43.在窗体上建立三个菜单(名称分别为 Read、Calc 和 Save,标题分别为“读入数据”、“计算并输出”和“存盘”),然后再添加一个文本框,名称为 Text1,MultiLine 属性设置为 True,ScrollBars 属性设置为 2(如图所示)。程序运行后,如果执行“读入数据”命令,则读入考生文件央下 datain1txt 文件中的 100 个整数,放入一个数组中,数组的下界为 1;如果单击“计算并输出”按钮,则把该数组中下标为偶数的元素在文本框中显
15、示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果单击“存盘”按钮,则把所求得的和存入考生文件夹下的 dataouttxt 文件中。 (分数:2.00)_国家二级(VB)机试-试卷 2 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量 C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关解析:解析:算法的效率与问题的规模和数据的存储结构都有关,A 错误。算法的时间复杂度
16、,是指执行算法所需要的计算工作量,B 正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,C 错误。算法的时间复杂度和空间复杂度没有直接的联系,D 错误。2.下列叙述中正确的是(分数:2.00)A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的 D.以上说法均错误解析:解析:线性表的顺序存储结构具备如下两个基本特征:(1)线性表中的所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存
17、放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此 C 正确。3.某二叉树共有 12 个结点,其中叶子结点只有 1 个。则该二叉树的深度为(根结点在第 1 层)(分数:2.00)A.3B.6C.8D.12 解析:解析:二叉树中,度为 0 的节点数等于度为 2 的节点数加 1,即 n2=n0-1,叶子节点即度为0,n0=1,则 n2=0,总节点数为 12=n0+n1+n2=1+n1+0,则度为 1 的节点数 n1=11,故深度为 12,选 D。4.对长度为 n 的线性表作快速排序,在最坏情况下,比较次数为(分
18、数:2.00)A.nB.n-1C.n(n-1)D.n(n-1)/2 解析:解析:快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较(n-1)+(n-2)+1=n(n-1)/2,选 D。5.结构化程序设计中,下面对 goto 语句使用描述正确的是(分数:2.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句 D.以上说法均错误解析:解析:结构化程序设计中,要注意尽量避免 goto 语句的使用,故选 C。6.下面不属于软件测试实施步骤的是(分数:2.00)A.集成测试B.回归测试 C.确认测试D.单元测试解析:解析:软件测试主要包括单元测
19、试、集成测试、确认测试和系统测试。7.下面不属于软件需求分析阶段主要工作的是(分数:2.00)A.需求变更申请 B.需求分析C.需求评审D.需求获取解析:解析:需求分析阶段的工作可概括为个方面:需求获取。需求分析。编写需求规格说明书。需求审评。8.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的(分数:2.00)A.记录B.行C.属性 D.元组解析:解析:自然连接是一种特殊的等值连接,它满足下面的条件:两关系间有公共域;通过公共域的等值进行连接,选 C。9.有三个关系 R、S 和 T 如下: (分数:2.00)A.选择B.差 C.交D.并解析:解析:关
20、系 T 是关系 R 的一部分,并且是关系 R 去掉 R 和 S 相同的元素,符合差操作。10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司 C(公司号,公司名,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W 的键(码)为(分数:2.00)A.公司号,职员号 B.职员号,工资C.职员号D.公司号,职员号,工资解析:解析:由于职员可以再多加公司兼职,表 W 的键(码)应为公司关系和职员关系的主码,即公司号和职员号。11.在 Visual Basic 环境下设计应用程序时,系统能自动检查出的错误是( )。(
21、分数:2.00)A.语法错误 B.逻辑错误C.逻辑错误和语法错误D.运行错误解析:解析:VB 中系统只能检查出语法错误,不能检查出逻辑错误。故选 A。12.下列合法的变量名是( )。(分数:2.00)A.sumaB.num_9 C.print$D.5avg解析:解析:VB 中变量的命名规则为:必须以字母或汉字开头由字母、汉字、数字或下划线组成不能使用 VB 的保留字。变量名 suma 中有减号,不合法;print 是 VB 保留字,不能作变量名,不合法;5avg 不能以数字开头,不合法。故选 B。13.有如下语句序列: Dim a, b As Integer Print a Print b 执
22、行以上语句序列,下列叙述中错误的是( )。(分数:2.00)A.输出的 a 值是 0 B.输出的 b 值是 0C.a 是变体类型变量D.b 是整型变量解析:解析:任何变量在被声明后都会有一个初始值。一般情况下,数值型变量的初始值为 0;字符串变量的初始值为空字符串;变体型变量的初始值为空值,即 Null 值;布尔型的初始值为假,即 False。 本题中变量 a 定义时没有声明数据类型,默认为 Variant 变体型变量,默认值是 Null;变量 b 定义为整型变量,默认值为 0。所以输出 a 为空白,b 为 0 。故 A 选项错误。14.以下关于控件数组的叙述中,错误的是( )。(分数:2.0
23、0)A.各数组元素共用相同的事件过程B.各数组元素通过下标进行区别C.数组可以由不同类型的控件构成 D.各数组元素具有相同的名称解析:解析:控件数组是由类型相同的控件组成,具有相同的名称,用下标 Index 属性区分各数组元素,它们共用相同的事件过程。故 C 选项错误。15.表达式 12 / 2/4 的值是( )。(分数:2.00)A.1.5B.2C.4D.1 解析:解析:运算符除 / 优先级高于整除、所以先计算/ ,再计算、结果是 1,故选 D。16.下列数组定义中错误的是( )。(分数:2.00)A.Dim a(5 To3)B.Dim a(3 To 5)C.Dim a(3 To5) D.D
24、im a(3 To 3)解析:解析:定义数组时,数组下标的上界下界。故 C 选项错误。17.设 a2, b3, c4, d5, 表达式 Not aSqr(i)Then Print i Next iEnd Sub 该程序的功能是( )。(分数:2.00)A.判断 n 是否为素数B.输出 n 以内所有的奇数C.输出 n 以内所有的偶数D.输出 n 以内所有的素数 解析:解析:假设输入 2、4、9 进行验证,输入 2 时程序会输出 2,输入 4 时,程序会输出 2、3,可见程序不是判断 n 是否为素数,所以 A 不对。由前面验证可知,程序也不是输出 n 以内的所以奇数或偶数,所以 B、C 也不对。如
25、果输入 9 时,程序会输出 2、3、5、7,说明程序是输出 n 以内的所有素数,所以 D 正确。31.设有如下事件过程:Private Sub Command1_Click() For i1 To 5 ji Do Print “*“ jj1 Loop Until j0 Next iEnd Sub 运行程序,输出“*“的个数是( )。(分数:2.00)A.5B.15 C.20D.25解析:解析:i1 时,输出 1 个*,i2 时,输出 2 个*,i3 时,输出 3 个*,i4 时输出 4 个*,i5 时输出 5 个*,因此总共输出*的个数是 1234515。32.设有如下事件过程:Private
26、 Sub Command1_Click() Dim a aArray(3, 5, 6, 3, 2, 6, 5, 3, 5, 4, 3, 9, 4, 5, 6, 3, 5) x0 nUBound(a) For i0 To n m0 For j0 To n If a(i)a(j)Then mm1 End If Next j If mx Then xm: ba(i) Next i Print bEnd Sub 运行程序,输出是( )。(分数:2.00)A.2B.3 C.5D.9解析:解析:本题程序中内层 For 循环是统计具有相同值元素的个数,外层循环的功能则是,对数组中的所有元素进行统计,找出第
27、1 个具有相同值的元素个数最多的那个元素值。数组组中元素值为 3 的元素有5 个,元素值为 5 的元素有 5 个,元素值为 6 的元素为 3 个,元素值为 2 的元素有 1 个,元素值为 4 的元素有 1 个,元素值为 9 的元素有 1 个。因此第 1 个具有相同元素值的最多个的元素值是 3。33.窗体上有 1 个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click() m3.6 If Sgn(m)Then nInt(m) Else nAbs(m) End If Print nEnd Sub 运行程序,并单击命令按钮,窗体上显示的内容为( )
28、。(分数:2.00)A.4 B.3C.3D.3.6解析:解析:Sgn 函数返回参数的符号,参数为负数时返回1,为 0 时,返回 0,为正数时返回 1。所以Sgn(3.6)返回1。Visual Basic 中把任何非 0 值都认为是真,以 0 表示假,因此 if 语句中将执行nInt(m)语句。Int 函数返回不大于参数的最大整数,Int(3.6)要返回小于3.6 的整数即是4,因此 n4。34.设有如下程序:Private Sub Form_Click() numInputBox(“请输入一个实数“) pInStr(num, “.“) If p0 Then Print Mid(num, p1)
29、 Else Print “END“ End IfEnd Sub 运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出“END“;否则( )。(分数:2.00)A.用字符方式输出该实数B.输出该实数的整数部分C.输出该实数的小数部分 D.去掉实数中的小数点,保留所有数码输出解析:解析:InStr 函数查找小数点在输入的实数中的位置,如果找不到将返回 0。Mid 函数一般有 3 个参数,从第 2 个参数指定的位置开始,在第 1 个参数字符串中截取第 3 个参数指定长度的字符,第 3 个参数可以省略,这时就一直截取到字符串尾部。因此程序的意思就是如果输入的是实数(p0 即说明找到
30、了小数点,是实数)就输入该实数的小数部分,否则输出“END“。因此选项 C 正确。35.编写如下程序:Private Sub Command1_Click() Dim x As Integer, y As Integer xInputBox(“输入第一个数“) yInputBox(“输入第二个数“) Call f(x, y) Print x, yEnd SubSub f(a As Integer, ByVal b As Integer) aa * 2 xab bb100End Sub程序运行后,单击命令按钮 Command1,并输入数值 10 和 15,则输出结果为( )。(分数:2.00)A
31、.10 115B.20 115C.35 15D.20 15 解析:解析:程序中过程 f 的参数 a 默认为按址传递,参数 b 指定按值传递,因此调用 f(x, y)时,x 的值会受到影响,y 的值不会。程序中输入 10 和 15,则 x10,y15。调用 f(x, y),在过程中aa*2,即 a10*2=20,变量 x 是过程 f 中的局部变量,没有用处可不用理会,b=b+100,即b=15+100=115。a 的值即按钮单击事件中变量 x 的值,因此 x=20,而 y 的值仍是原来的值 15,因此 Print x,y 输出 20 15。36.编写如下程序: Private Sub Comma
32、nd1_Click() Dim str1 As String, str2 As String str1InputBox(“输入一个字符串“) subf str1, str2 Print str2 End Sub Sub subf(s1 As String, s2 As String) Dim temp As String Static i As Integer ii1 tempMid(s1, i, 1) If temp“ “ Then stst & c Else nn1 End If Next k chst DelSpacen End Function 函数的功能是( )。(分数:2.00)A
33、.统计并返回字符串 ch 中字符的个数B.删除字符串 ch 中的空格符,返回删除字符的个数 C.统计并返回字符串 ch 中非空格字符数D.删除字符串 ch 中除空格符外的其他字符,返回删除字符的个数解析:解析:过程中对传入的字符串的字符一个个取出,判断如果不是空格则依次连接到一个字符串变量中,如果是空格则计数加 1。最后,返回不包含空格的字符串和空格的个数。因此选项 B 正确。二、基本操作题(总题数:1,分数:2.00)41.(1)在名称为 Form1,标题为“选课”的窗体上添加一个复选框数组,名称为 CHl,共有四个复选框,按顺序其标题分别是“数学”、“语文”、“外语”、“计算机”,其中“语
34、文”、“计算机”复选框处在选中状态下,程序运行时的窗体如图所示。请按要求添加控件并设置相应属性。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 Bjt1vbo,窗体文件名保存为 sjt1frm。 (2)在名称为Form1 的窗体上添加一个名称为 HSI 的水平滚动条,其刻度值范围为 1100;添加一个命令按钮,名称为C1标题为“移动滚动框”。请编写适当的事件过程,使得在程序运行时,每单击命令按钮一次(假定单击次数不多于 10 次),滚动框向右移动 10 个刻度。程序运行时的窗体如图所示。要求程序中不得使用变量,事件过程中只能写一条语句。 (分数:2.00)_正确答案:(正确答案:步骤
35、1:新建窗体,按照题目要求建立控件并设置属性,如表 330 所示。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:新建一个窗体,按照题目要求建立滚动条控件及命令按钮控件并设置其属性,如图 325 所示。 程序中用到的控件及属性见表331。 )解析:解析:(1)复选框(CheckBox)常用于提供多个选项间的多重选择,Value 的属性值决定每个复选框的选中状态:0Unchecked 为未选,1-Checked 为选中,2-Grayed 为变灰色。选择某复选框后,该复选框将显示“”,而取消选择后“”消失。 (2)在单击命令按钮触发的 Click 事件中加入让滚动条的Valu
36、e 属性值加 10 的语句,在每次单击命令按钮后,滚动条就向右移动 10 个刻度。三、简单应用题(总题数:1,分数:2.00)42.(1)在考生文件央下有一个工程文件 sjt3vbp,在程序运行时,单击“输入整数”按钮,输入一个整数,并在窗体上显示此整数的所有不同因子和因子个数。图 1 是输入 53 后的结果,图 2 是输入 100 后的结果。已经给出了全部控件和程序,但程序不完整。 要求:请去掉程序中的注释符。把程序中的?改为正确的内容。小能修改程序中的其他部分,也不能修改控件的属性。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件央下有一个工程文件 sjt4vbp。在其窗体中“
37、待选城市”下的 List1 列表框中有若干个城市名称。程序运行时,选中 List1 中若十个列表项(如图 1 所示),单击“选中”按钮则把选中的项目移到 List2 中,单击“显示”,则在 Textl 文本框中显示这些选中的城市(如图 2 所示)。已经给出了所有控件和程序,但程序不完整。 要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分和控件属性。最后用原来的文什名保存工程文件和窗体文件。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符,将问号改为正确的内容。 Privat
38、e Sub Command1 Click() Dim n As Integer Cls清空窗体 n=InputBox(“请输入一个整数“)InputBox 返回值赋给 n Print“因子数=“,fun(n)调用 fun 函数并打印结果 End Sub Funct ion fun(m As Integer) Dim S As Integer s=0 For k=1 To Abs(m)2 If m Mod k=0 Then当整除余数为 0 时则一定是它的因子 s=s1 Print k End If Next k funs返回因子总数 End Function 程序结束 步骤 3:调试并运行程序,
39、关闭程序后按题目要求存盘。 (2)步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口去掉程序中的注释符,将问号改为正确的内容。 Prirate Sub Commandl_11ck() Dim k For k=List1ListCount1 To 0 Step1 k 从最大到 0,则步长应为1 If ListlSelected(k)=True Then List2AddItem List1.List(k)添加项到 List2 中 ListlRemoveItemk 通过下标删徐 List1 中的项目 End If Next k End SubPrivate Sub Command2 C1ic
40、k() Dim k Textl=“已经选中的城市有:“ For k=0 To List2ListCount1 Step 1 Textl=Text1.Text &“& List2List(k) 将 List2 中的项目连接在 Text1 中的内容之后 Next kEnd Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。)解析:解析:(1)通过 InputBox()函数实现对话框中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。 通过 Function fun()过程函数,实现对因子数的确定和查找,Mcwl()函数用来判断是否能够整除,即判断是否为因子数。
41、(2)Selected 属性是一个与 List 数组中的各个元素相对应的一维数组,记录 List 数组中每个项目是否被选取。例如,如果 List(1)被选取,则 Selected(1)的值为True,如果 List(1)未被选取,则 Selected(1)的值为 False。List 属性是一个一维数组,数组中元素的值就是在执行时看到的列表项。设计时可以在属性窗口中通过 List 属性来建立列表项,运行时对 List 数组从 0 到 ListCount 一 1 依次取值,可以获得列表的所有项目。通过对 Selected 属性返回值的判断,可以得知列表项是否被选中,从而进行删除和添加操作。四、综
42、合应用题(总题数:1,分数:2.00)43.在窗体上建立三个菜单(名称分别为 Read、Calc 和 Save,标题分别为“读入数据”、“计算并输出”和“存盘”),然后再添加一个文本框,名称为 Text1,MultiLine 属性设置为 True,ScrollBars 属性设置为 2(如图所示)。程序运行后,如果执行“读入数据”命令,则读入考生文件央下 datain1txt 文件中的 100 个整数,放入一个数组中,数组的下界为 1;如果单击“计算并输出”按钮,则把该数组中下标为偶数的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果单击“存盘”按钮,则把所求得的和存入
43、考生文件夹下的 dataouttxt 文件中。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开本题工程文件,利用菜单设计器,按表中的设置建立菜单项,在窗体 Form1 中绘制一个文本框。其相关属性及其值见表 319 和表 320。 )解析:解析:根据题意在“读入数据”命令的 Chck 事件过程中,通过调用 ReadData 过程将数据从damin1txt 文件读入到数组 Arr(窗体变量)中;在“计算并输出,命令的 Click 事件过程中,在 For 循环语句(循环变量 i 的初值为 2,终值为 100,步长为 2)中依次将数组 Arr 中下标为偶数的元素显示在文本框中,并将其值累加到变量 sun;在“存盘”命令的 Click 事件过程中,通过调用 WfiteDam 过程将 sum的值写入数据文件 damouttxt 中。