1、二级 VISUAL+BASIC 机试-37 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 C:/wexam/25160002。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1) 在名称为 Form1 的窗体上画一个水平滚动条,其名称为 HScroll1,然后通过属性窗口设置窗体和滚动条的属性,实现如下功能:窗体标题为“设置滚动条属性”;滚动条所能表示的最小值和最大值分别为 0 和 200,滚动框的初始位置为 100。程序运行后,单击滚动条两端的箭头时,滚动框移动的增量值
2、为 2,单击滚动框前面或后面的部位时,滚动框移动的增量值为 10。程序的运行情况如图 25-1 所示。要求:不要编写任何代码。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。(2) 在名称为 Form1 的窗体上画一个文本框,其名称为 Text1,如图 25-2 所示,编写适当的事件过程。程序运行后,如果单击窗体,则可使文本框移到窗体的左上角;而如果在文本框中输入信息,则可使文本框移到窗体的右上角。程序的运行情况如图 25-3 所示。要求:不得使用任何变量;只允许通过修改属性的方式移动文本框,注意:存盘时必须存放在考生文件夹下,工程文件名为
3、sjt2.vbp,窗体文件名为 sjt2.frm。(分数:30.00)_二、2 简单应用题(总题数:1,分数:40.00)2.要求:请勿改动程序中的任何内容,只在 Function Fun()和 End Function 之间填入你编写的若干语句。最后把修改后的文件按原文件名存盘。(分数:40.00)_三、3 综合应用题(总题数:1,分数:30.00)3.要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。(分数:30.00)_二级 VISUAL+BASIC 机试-37 答案解析(总分:100.00,做题时间:9
4、0 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 C:/wexam/25160002。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1) 在名称为 Form1 的窗体上画一个水平滚动条,其名称为 HScroll1,然后通过属性窗口设置窗体和滚动条的属性,实现如下功能:窗体标题为“设置滚动条属性”;滚动条所能表示的最小值和最大值分别为 0 和 200,滚动框的初始位置为 100。程序运行后,单击滚动条两端的箭头时,滚动框移动的增量值为 2,单击滚动框前面或后面的部位时,滚动框移动的增量值为 10。程序的运行情况如图 2
5、5-1 所示。要求:不要编写任何代码。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。(2) 在名称为 Form1 的窗体上画一个文本框,其名称为 Text1,如图 25-2 所示,编写适当的事件过程。程序运行后,如果单击窗体,则可使文本框移到窗体的左上角;而如果在文本框中输入信息,则可使文本框移到窗体的右上角。程序的运行情况如图 25-3 所示。要求:不得使用任何变量;只允许通过修改属性的方式移动文本框,注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。(分数:30.00)_正确答案:(解析
6、 在窗体上建立好控件后,先设置控件的属性。在 Visual Basic 中,窗体的标题由 Caption 属性设置。滚动条所表示的最小值和最大值分别由 Min 属性和 Max 属性设置,单击滚动条两端的箭头移动的大小是由 SmallChange 属性设置,单击滚动框前面或后面的部位移动的大小是由 LargeChange 属性设置。滚动框的初始位置由 Value 属性设置。解题步骤:第一步:建立界面并设置控件的属性。程序中用到的控件及其属性见表 25-1。表 25-1控 件 属 性 设 置 值滚动条MinMaxSmallChangeLargeChangeValue0200210100窗体 Cap
7、tion 设置滚动条属性第二步:调试并运行程序。第三步:按题目要求存盘。(2)解析 在窗体上建立好控件后,先设置控件的属性,再事件过程。单击窗体触发窗体的 Click 事件,这时将文本框的 Top 属性和 Left 属性值都设置为 0,实现文本框左上角的移动。在文本框中输入信息,触发文本框的 Chang 事件,在该事件中设置文本框的 Top 属性值为0,Left 属性值为窗体的宽度减去文本框的宽度,使文本框移到窗体的右上角。解题步骤:第一步:建立一个文本框控件。第二步:编写程序代码。参考代码:Option ExplicitPrivate Sub Form_Click()Text1.Left=0
8、Text1.Top=0End SubPrivate Sub Text1_Change()Text1.Top=0Text1.Left=Form1.Width-Text1.WidthEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。答案考生文件夹)解析:二、2 简单应用题(总题数:1,分数:40.00)2.要求:请勿改动程序中的任何内容,只在 Function Fun()和 End Function 之间填入你编写的若干语句。最后把修改后的文件按原文件名存盘。(分数:40.00)_正确答案:(解析 本题要产生随机整数,需要使用 Rnd 函数和 Int 函数。Int 函数是将参数转换成整
9、数。Rnd 函数返回小于 1,但大于或等于 0 的值,其语法格式为:Rnd(number)可选的 number 参数是 Single 或任何有效的数值表达式。number 的值决定了 Rnd 函数生成随机数的方式。为了生成某个范围内的随机整数,可使用以下公式:Int(upperbound-lowerbound+1) *Rnd+lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。解题步骤:第一步:建立控件并设置其属性。程序用到的控件及其属性见表 25-2。表 25-2控 件 属 性 设 置 值按钮 Caption 输出大于 500
10、 的整数之和第二步:编写程序代码。程序提供的代码:Option Base 1Private Sub Command1_Click()Dim arrN(20) As IntegerDim Sum As IntegerRandomizeFor i=1 To 20arrN(i)=Int(Rnd * ?)Next iSum=?For i=1 To 20If ? ThenSum=?End IfNext iPrint SumEnd Sub参考代码:Option Base 1Private Sub Command1_Click()Dim arrN(20) As IntegerDim Sum As Integ
11、erRandomizeFor i=1 To 20arrN(i)=Int(Rnd * 1000)Next iSum=0For i=1 To 20If arrN(i)500 ThenSum=Sum+arrN(i)End IfNext iPrint SumEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2) 解析 判断 0100 范围内的数能不能被 7 整除,使用求余运算符 Mod,如果余数不为 0,则表示该数不能被整除。设置一个变量,来计算不能被 7 整除的数的和。解题步骤:第一步:编写程序代码。程序提供的代码:Sub SaveData()Open App.Path 建立控件并设置
12、属性值。本题不需要设置。第二步:编写程序代码。程序提供的代码:Option Base 1Private Sub Form_Click()Const N=5Const M=5Dim ?Dim Sum, i, jOpen App.Path Mat(i, j) ;Next jPrintNext iSum=?For j=1 To M?Next jPrintPrint “第三行各项的和为;“;Print SumEnd Sub参考代码:Option Base 1Private Sub Form_Click()Const N=5Const M=5Dim Mat (5, 5)Dim Sum, i, jOpen App.Path Mat(i, j) ;Next jPrintNext iSum=0For j=1 To MSum=Sum + Mat (3, j)Next jPrintPrint “第三行各项的和为:”;Print SumEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析: