1、二级 VISUAL+BASIC 机试-17 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1)在名称为 Form1 的窗体上建立一个水平滚动条,请在属性窗口中把它的名称设置为 HS1,Max 属性设置为 100,Min 属性设置为 0,Value 属性设置为 100。程序运行后,滚动框位于滚动条最右端,如图 5-1 所示,如果单击滚动条之外的窗体部分,则滚动框跳到最左端。注意:只能直接为相
2、应的属性赋值,不得使用变量。保存时必须存放在考生文件夹下,窗体文件名为 sjt1.frm,工程文件名为 sjt1.vbp。(2)在名称为 Form1 的窗体中建立 1 个标签,名称为 L1,在标签上显示“选课”,其字号大小为四号;再建立 3 个复选框,名称分别为 Chk1、Chk2 和 Chk3,标题分别为“操作系统”、“数据库原理”和“概率论”,字体大小均为 14,其中“概率论”被禁用,如图 5-2 所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp。(分数:30.00)_二、2 简单应用题(总题数:1,分数:40.00)2.注意:下面出
3、现的“考生文件夹”均为 c:/wexam/25160001。(1)在考生文件夹中有工程文件 sjt3.vbp 及其窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个名称为 Text1 的文本框,一个名称为 C1,标题为“校验”的命令按钮。其中文本框用来输入口令,如图 5-3 所示,要求在文本框中输入的内容都必须以“*”显示(请考生通过属性窗口设置)。要求程序运行后,输入口令,单击命令按钮后,对口令进行校验。如果输入的内容是“ABC”这 3 个大写字母,则用 Ms
4、gBox 信息框输出“正确”,否则输出“错误”,如图 5-4 所示。(2)在考生文件夹中有工程文件 sjt4.vbp 及其窗体文件 sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有 3 个名称分别为 Ch1、Ch2 和 Ch3 的复选框,标题依次为“程序设计”、“数据库原理”和“计算机网络”,还有一个名称为 C1,标题为“选课”的命令按钮,如图 5-5 所示。要求程序运行后,如果选择某个复选框,当单击命令按钮时在窗体上输出相应的信息。例如:如果选择“程序设计”和“数据库原理
5、”复选框,单击命令按钮后,将在窗体上显示“我选的课程是程序设计数据库原理”。(分数:40.00)_三、3 综合应用题(总题数:1,分数:30.00)3.下面出现的“考生文件夹”均为 c:/wexam/25160001。在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为 True,ScrollBars 属性为 2,两个命令按钮,名称分别为 C
6、md1 和 Cmd2,标题分别为“读入数据”和“排序显示保存”,如图 5-6 所示。程序运行后,如果单击“读入数据”按钮,则读入 in.txt 文件中的 100 个整数,放入一个数组中(数组下界为 1):如果单击“排序显示保存”按钮,则对这 100 个整数按从大到小进行排序,把排序后的全部数据在文本框 Text1 中显示出来,然后存入考生文件夹的 out.txt 文件中。 (考生文件夹下的标准模块model.bas 中的 putdata 过程可以把指定个数的数组元素存入 outtxt 文件。)注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名 sjt5.vbp,排序结
7、果存入out.txt 文件中,否则没有成绩。(分数:30.00)_二级 VISUAL+BASIC 机试-17 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.注意:下面出现的“”均为 c:/wexam/25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。(1)在名称为 Form1 的窗体上建立一个水平滚动条,请在属性窗口中把它的名称设置为 HS1,Max 属性设置为 100,Min 属性设置为 0,Value 属性设置为 100。程序运行后,滚动框位于滚动条最右端,如图 5-1 所示,如果
8、单击滚动条之外的窗体部分,则滚动框跳到最左端。注意:只能直接为相应的属性赋值,不得使用变量。保存时必须存放在考生文件夹下,窗体文件名为 sjt1.frm,工程文件名为 sjt1.vbp。(2)在名称为 Form1 的窗体中建立 1 个标签,名称为 L1,在标签上显示“选课”,其字号大小为四号;再建立 3 个复选框,名称分别为 Chk1、Chk2 和 Chk3,标题分别为“操作系统”、“数据库原理”和“概率论”,字体大小均为 14,其中“概率论”被禁用,如图 5-2 所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为 sjt2.vbp。(分数:30.00)_正
9、确答案:(解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。单击窗体触发窗体的 Click 事件;滚动条的最大刻度由 Max 属性来表示,最小刻度由 Min 属性设置,滚动条上的位置由 Value 属性来表示。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 5-1。*第二步:编写程序代码。参考代码:Private Sub Form_Click()HS1.Value = 0End Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2)解析在窗体上建立好控件后,设置控件属性。标签上显示内容通过标签的 Caption 属性设置;复选框标题也是通过其 Captio
10、n 属性来设置,控件的禁用与否是通过 Enabled 属性设置。若 Enabled 属性设置为 True,则控件可用,若设置为 False,则控件被禁用。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 5-2。*第二步:调试并运行程序。第三步:按题目要求存盘。答案考生文件夹)解析:二、2 简单应用题(总题数:1,分数:40.00)2.注意:下面出现的“考生文件夹”均为 c:/wexam/25160001。(1)在考生文件夹中有工程文件 sjt3.vbp 及其窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修
11、改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个名称为 Text1 的文本框,一个名称为 C1,标题为“校验”的命令按钮。其中文本框用来输入口令,如图 5-3 所示,要求在文本框中输入的内容都必须以“*”显示(请考生通过属性窗口设置)。要求程序运行后,输入口令,单击命令按钮后,对口令进行校验。如果输入的内容是“ABC”这 3 个大写字母,则用 MsgBox 信息框输出“正确”,否则输出“错误”,如图 5-4 所示。(2)在考生文件夹中有工程文件 sjt4.vbp 及其窗体文件 sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)
12、但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有 3 个名称分别为 Ch1、Ch2 和 Ch3 的复选框,标题依次为“程序设计”、“数据库原理”和“计算机网络”,还有一个名称为 C1,标题为“选课”的命令按钮,如图 5-5 所示。要求程序运行后,如果选择某个复选框,当单击命令按钮时在窗体上输出相应的信息。例如:如果选择“程序设计”和“数据库原理”复选框,单击命令按钮后,将在窗体上显示“我选的课程是程序设计数据库原理”。(分数:40.00)_正确答案:(1)解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。单击命令按钮或窗体触发的是 Click 事件,因此,程序
13、中应该编写命令按钮的 Click 事件过程,按钮的标题通过 Caption 属性设置;要使文本框的内容在输入时显示为“*”,则应该将 PasswordChar 属性设置为“*”。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 5-3。*第二步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1_Click() If Text1.Text = “?“ Then MsgBox “?“ Else MsgBox “错误”End Sub参考代码:Option ExplicitPrivate Sub C1_Click()If Text1.Tex
14、t = “ABC“ Then MsgBox “正确” Else MsgBox “错误“End Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2)解析建立好控件后,先设置控件属性,再编写事件过程。复选框用来表示状态,在程序运行期间可以改变其状态。复选框的标题由 Caption 属性来设置,复选框的Value 属性用来表示复选框的状态。其取值有如下几种:0:表示复选框未被选中;1:表示选中该复选框;2:表示该复选框被禁止(灰色)。在窗体上打印信息用 Print 方法,单击命令按钮触发的是 Click 事件。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 5-4。*
15、第二步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1_Click()Dim s As Strings=“我选的课程是”If Ch1.Value = 1 Thens=s &“程序设计”End IfIf Ch2.Value = 1 Thens=s &“数据库原理”End IfIf Ch3.Value = 1 Thens = s & Ch3.?End If Print ?End Sub参考代码:Option ExplicitPrivate Sub C1_Click()Dim s As Strings=“我选的课程是”If Ch1.Value = 1 The
16、ns= s &“程序设计”End IfIf Ch2.Value=1 Thens=s &“数据库原理”End IfIf Ch3.Value=1 Thens=s & Ch3.CaptionEnd IfPrint sEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析:三、3 综合应用题(总题数:1,分数:30.00)3.下面出现的“考生文件夹”均为 c:/wexam/25160001。在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件
17、夹。本题描述如下:在名称为 Form1 的窗体上有一个文本框,名称为 Text1,MultiLine 属性为 True,ScrollBars 属性为 2,两个命令按钮,名称分别为 Cmd1 和 Cmd2,标题分别为“读入数据”和“排序显示保存”,如图 5-6 所示。程序运行后,如果单击“读入数据”按钮,则读入 in.txt 文件中的 100 个整数,放入一个数组中(数组下界为 1):如果单击“排序显示保存”按钮,则对这 100 个整数按从大到小进行排序,把排序后的全部数据在文本框 Text1 中显示出来,然后存入考生文件夹的 out.txt 文件中。 (考生文件夹下的标准模块model.bas
18、 中的 putdata 过程可以把指定个数的数组元素存入 outtxt 文件。)注意:文件必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名 sjt5.vbp,排序结果存入out.txt 文件中,否则没有成绩。(分数:30.00)_正确答案:(解析在窗体上建立好控件后,先设置控件属性,再编写事件过程。文本框显示的内容由 Text 属性设置:按钮的标题由 Caption 属性设置,单击命令按钮触发 Click 事件:在本题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用 Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。排序的方法有多种,如冒泡排序、选
19、择排序等,本题用的是选择排序法。选择法排序的思想是:每一次循环从数组的 n-i+1(I=1,2,n-1)个元素中选择一个值最小的元素与你 n-i+1 个元素的前面那个元素交换位置,即与整个数组的第 i 个位置的元素交换位置。如此下去,直到i=n-1 时,排序结束。解题步骤:第一步:建立界面并设置控件的属性。程序中用到的控件及其属性见表 5-5。*第二步:编写程序代码。程序提供的代码。model.bas 代码:Sub putdata(a() As Integer,n As Integer)Dim sFile As StringsFile =“/out.txt“Open App.Path & sF
20、ite For Output As #1For i= 1 To nPrint #1, a(i) ;NextClose #1End Sub窗体代码:Option ExplicitDim i(1 To 100) As IntegerPrivate Sub Cmd1_ Click()Dim j As IntegerOpen AppPath&“/in.txt“For Input As #1 For j = ? To 100Input #1, i(j) Text1.Text = Text1.Text & i(j) & Space(5)NextClose #1End SubPrivate Sub Cmd2
21、_Click()Dim j As IntegerDim k As IntegerDim temp As IntegerDim flag As BooleanFor j = 1 To 100flag = ?For k = 1 To 100 - jIf i(k) i(k + 1) Thentemp = i (k)i(k) = i(k + 1)i(k + 1) = tempflag = TrueEnd If ?If Not flag ThenExit ForEnd IfNextText1.Text = “For j = 1 To 100Text1.Text = Text1.Text & i(j) &
22、 Space(5)Nextputdata i, 100End Sub参考代码:Option ExplicitDim i(1 To 100) As IntegerPrivate Sub Cmd1_Click()Dim j As IntegerOpen App. Path& “/in.txt“ For Input As #1For j = 1 To 100Input #1, i(j)Text1.Text = Text1.Text & i(j) & Space(5)NextClose #1End SubPrivate Sub Cmd2_Click()Dim j As IntegerDim k As
23、IntegerDim temp As IntegerDim flag As BooleanFor j = 1 To 100flag = FalseFor k = 1 To 100 - jIf i(k) i(k + 1) Thentemp = i (k)i(k) = i(k + 1)i(k + 1) = tempflag = TrueEnd IfNextIf Not flag ThenExit ForEnd IfNextText1.Text = “For j = 1 To 100Text1.Text = Text1.Text & i(j) & Space(5)Nextputdata i, 100End Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析:
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1