1、二级 VISUAL+BASIC 机试-55 及答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题(总题数:1,分数:30.00)1.请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。1在名称为 Form1 的窗体上放置一个名称为 Drive1 的 DriveListBox 控件,一个名称为 Dir1 的DirListBox 控件和一个名称为 File1 的 FileListBox 控件。程序运行时,可以对系统中的文件进行浏览;当双击 File1 中的文件名时,用 MsgBox 显示文件名(不显示路径名)。注意:程序中不得使用任何变量;保存时必
2、须存放在考生文件夹下,窗体文件名为 sjt1. frm,工程文件名为 sjt1.vbp。2在名称为 Form1 的窗体上放置一个名为 Text1 的文本框控件和一个名为 Timer1 的计时器控件,程序运行后,文本框中显示的是当前的时间,而且每一秒文本框中所显示的时间都会随时间的变化而改变。注意:程序中不得使用任何变量;保存时必须存放在考生文件夹下,窗体文件名为 sjt2. frm,工程文件名为 sjt2.vbp,如图 11 所示。(分数:30.00)_二、2 简单应用题(总题数:1,分数:40.00)2.在考生文件夹中有文件 sjt3.vbp 及其窗体文件 sjt3.frm,该程序是不完整的
3、,请在有?号的地方填入正确的内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件夹和文件名。本题描述如下:窗体上有一个名称 Text1 的文本框,两个复选框,名称分别为 Ch1 和 Ch2,标题分别为“足球”和“乒乓球”;一个名称为 C1,标题为“确定”命令按钮。要求程序运行后,如果只选中 Ch1,单击“确定”命令按钮,则在文本框中显示“我喜欢足球”:如果只选中 Ch2,单击“确定”命令按钮,则在文本框中显示“我喜欢乒乓球”;如果同时选中 Ch1 和 Ch2,然后单击“确定”命令按钮,则在文本框中显示“我喜欢足球和乒乓球”;如果 Ch1 和 Ch2 都不选,然后单击“确
4、定”命令按钮,则在文本框中什么都不显示。程序运行界面如图 21 所示。(分数:40.00)_三、3 综合应用题(总题数:1,分数:30.00)3.在考生文件夹下有一个工程文件 sjt5.vbp,其窗体上有两个标签 L1 和 L2,标题分别为“口令”和“允许次数”;一个命令按钮 C1,标题为“确定”;两个文本框名称分别为 Text1 和 Text2,其中 Text1 用来输入口令(输入时,显示“*”),无初始内容 Text2 的初始内容为 3,如图 31 所示。(分数:30.00)_二级 VISUAL+BASIC 机试-55 答案解析(总分:100.00,做题时间:90 分钟)一、1 基本操作题
5、(总题数:1,分数:30.00)1.请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码)。1在名称为 Form1 的窗体上放置一个名称为 Drive1 的 DriveListBox 控件,一个名称为 Dir1 的DirListBox 控件和一个名称为 File1 的 FileListBox 控件。程序运行时,可以对系统中的文件进行浏览;当双击 File1 中的文件名时,用 MsgBox 显示文件名(不显示路径名)。注意:程序中不得使用任何变量;保存时必须存放在考生文件夹下,窗体文件名为 sjt1. frm,工程文件名为 sjt1.vbp。2在名称为 Form1 的窗
6、体上放置一个名为 Text1 的文本框控件和一个名为 Timer1 的计时器控件,程序运行后,文本框中显示的是当前的时间,而且每一秒文本框中所显示的时间都会随时间的变化而改变。注意:程序中不得使用任何变量;保存时必须存放在考生文件夹下,窗体文件名为 sjt2. frm,工程文件名为 sjt2.vbp,如图 11 所示。(分数:30.00)_正确答案:( 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 文件系统控件有 3 种:驱动器列表框(DriveListBox),目录列表框(DirListBox)和文件列表框(FileListBox)。3 个文件系统控件必须协调工作才能构成一个文件管
7、理系统,当用户在驱动器列表框中选择一个新的列表框或在当目录列表框 Path 的属性改变都触发 Change 事件,将三者(利用本题中 3 个对象的名称)实现同步的代码为:File1.PathDir1.Path,Dir1. PathDrive1.Drive。双击触发 DblClick 事件弹出 MsgBox 显示文件名,其格式为:MsgBox 提示,按钮,标题。 解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 1。表 1标题 属性 设置值DriveListBox Name Drive1DirListBox Name Dir1FileListBox Name File1第二
8、步:编写程序代码。参考代码:Option ExplicitPrivate Sub Dir1_Change()File1.PathDir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.PathDrive1.DriveEnd SubPrivate Sub File1_dblclick()MsgBox File1.FileNameEnd SubPrivate Sub Form_Load()Dir1.PathDrive1.DriveFile1.PathDir1.PathEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。2 在窗体上建立好控件后,先设
9、置控件的属性,再编写事件过程。 时钟控件作用是以一定的时间间隔激发计时器事件(Timer)而执行相应的程序代码,其 Interval属性决定时间间隔的长短,以毫秒为单位,所以要实现每一秒文本框的时间改变只要使该属性设置为1000 即可,要使程序运行后取得当前时间可用 Time 函数取得,程序用到的 Str 函数将其中的内容转化为字符串。 解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 2。表 2标 题 属 性 设 置 值Text Name Text1Timer NameInterval Timer11000第二步:编写程序代码。参考代码:Private Sub Form
10、_Load()Text1.TextStr(Time)End SubPrivate sub Timer1_Timer()Text1.TextStr(Time)End Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析:二、2 简单应用题(总题数:1,分数:40.00)2.在考生文件夹中有文件 sjt3.vbp 及其窗体文件 sjt3.frm,该程序是不完整的,请在有?号的地方填入正确的内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件夹和文件名。本题描述如下:窗体上有一个名称 Text1 的文本框,两个复选框,名称分别为 Ch1 和 Ch2,标题分别为“足球”
11、和“乒乓球”;一个名称为 C1,标题为“确定”命令按钮。要求程序运行后,如果只选中 Ch1,单击“确定”命令按钮,则在文本框中显示“我喜欢足球”:如果只选中 Ch2,单击“确定”命令按钮,则在文本框中显示“我喜欢乒乓球”;如果同时选中 Ch1 和 Ch2,然后单击“确定”命令按钮,则在文本框中显示“我喜欢足球和乒乓球”;如果 Ch1 和 Ch2 都不选,然后单击“确定”命令按钮,则在文本框中什么都不显示。程序运行界面如图 21 所示。(分数:40.00)_正确答案:( 复选框用来表示状态,在程序运行期间可以改变其状态。复选框标题由 Caption 属性来设置,复选框的 value 属性用来表示
12、复选框的状态,其取值有:0:表示复选框未被选中;1:表示复选框被选中;2:表示复选框被禁止使用(灰色)。 解题步骤;第一步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1_Click() ? =“If Ch1.Value and Not Ch2.Value Then Text1.Text=“我喜欢足球“ If Ch1. Value=? And Ch2. Value Then Text1.Text=“我喜欢乒乓球“If Ch1. Value And Ch2. ValueThen Text1. Text=“我喜欢足球和乒乓球“End Sub参考代码:Opt
13、ion ExplicitPrivate Sub C1_Click()Text1. Text=“If Ch1. Value And Not Ch2. Value Then Text1. Text=“我喜欢足球“If Ch1. Value=0 And Ch2. Value Then Text1. Text=“我喜欢乒乓球“If Ch1. Value And Ch2. Value Then Text1. Text=“我喜欢足球和乒乓球“End Sub第二步:调试并运行程序。第三步:按题目要求存盘。2 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 计时器控件作用是以一定的时间间隔激发计时器事
14、件(Timer)执行相应程序代码。当时计时器控件的Enabled 属性为 True 时,计时器计时开始,当为 False 时计时器计时暂停,所以要使小球运动暂停可将Enabled 属性值设置为 False,要使小球运行,则设置该属性值为 True。 解题步骤:第一步:建立界面并设置控件属性。程序中用到的控什及其属性见表 3。表 3控 件属 性设 置 值按钮NameCaptionCommand1运行按钮NameCaptionCommand2暂停按钮NameCaptionCommand3结束滚动条 NameHScroll1图片框 NamePicture1第二步:编写程序代码。程序提供的代码:Opt
15、ion ExplicitDim c As Single, r As Single r 小球到大球的球心的距离,c 为小球的角度.Dim x As Single, y As Single x, y 为小球移动时的圆心Dim st As SinglePrivate Sub Command1_Click()Timer1. Enabled=TrueEnd SubPrivate sub Command2_Click() ?End SubPrivate Sub Command3_ClickOEndEnd subPrivate Sub Form_Load()r=20c=0st=0.063HScroll1.M
16、in=1 设置最小值HSeroll1.Max=100 设置最大值End SubPrivate Sub HSeroll1_Change() Timer1.?=200HScroll1.Value 根据滚动条的数值设置时间间隔,速度越快,间隔越小End SubPrivate Sub Picture1_Paint()Pieture1.FillColor=QBColor (12)Picture1.ForeColor=QBColor (12)Picture1. Circle(0,0), 2x=Cos(c) *ry=Sin(c) *rPicture1.FillColor=QBColor (14)Pictur
17、e1.ForeColor=QBColor (14)Picture1.? (x,y), 0.5c=c+stIf c=2*3.14159 Thenc=c Mod (2*3.14159)End IfEnd SubPrivate Sub Timer1_Timer() ? 重画图片框End Sub参考代码:Option ExplicitDim c As Single, r As Single r 小球到大球的球心的距离,c 为小球的角度.Dim x As Single, y As single x,y 为小球移动时的圆心Dim st As SinglePrivate Sub Command1_Click
18、()Timer1. Enabled=TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled=FalseEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load()r=20c=0st=0.063HScroll1.Min=1 设置最小值HSeroll1.Max=100 设置最大值End SubPrivate Sub HScroll1_Change()Timer1. Interva1=200HSeroll1.Value 根据滚动条的数值设置时间间隔,速度越快,间隔越小End
19、 SubPrivate Sub Pieture1_Paint()Picture1.FillColor=QBColor (12)Pieture1.ForeColur=QBColor (12)Picture1.Circle (0,0) , 2x=Cos(c) * ry=Sin(c) * rPicture1.FillColor=QBColor (14)Pieture1.ForeColor=QBColor (14)Pieture1.Circle(x, y), 0.5c=c+stIf c=2*3.14159 Thenc=c Mod (2*3.14159)End IfEnd SubPrivate Sub
20、Timer1_Timer()Picture1.Refresh 重画图片框End Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析:三、3 综合应用题(总题数:1,分数:30.00)3.在考生文件夹下有一个工程文件 sjt5.vbp,其窗体上有两个标签 L1 和 L2,标题分别为“口令”和“允许次数”;一个命令按钮 C1,标题为“确定”;两个文本框名称分别为 Text1 和 Text2,其中 Text1 用来输入口令(输入时,显示“*”),无初始内容 Text2 的初始内容为 3,如图 31 所示。(分数:30.00)_正确答案:( 在窗体上建立好控件后,先设置控件属性,再编写事件过
21、程。 在文本框里显示的内容通过 Text 属性设置,其形式为:文本框名.Text显示的内容要使文本框内容显示为“*”,需将 PasswordChar 属性设置为“*”。程序中用到的 MsgBox 语句用法为:MsgBox 提示,按钮,标题在程序运行时控件是否可操作由 Enabled 属性设置,当该属性为 True 时控件可操作,为 False 时不可操作。若 3 次都输入错误,禁止再次输入,将文本框的 Enabled 属性置为 False 即可。 解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性值见表 4。表 4控 件 属 性 设 置 值文本框 NameText Text1空
22、文本框 Name Text2Text 3命令按钮 NameCaption C1确定标签 NameCaption L1口令标签 NameCaption L2输入次数第二步:编写程序代码。程序提供的代码:Private Sub C1_Click() If?=“123456“ ThenText1.Text“口令正确“ Text1.?“ElseText2.TextText2.Text1 If Text2.Text?ThenMsgBox “第“ & (3Text2.Text) & “次口令错误,请重新输入“ElseMsgBox “3 次输入错误,请退出“ Text1.Enabled=?End IfEnd IfEnd Sub参考代码:Private Sub C1_Click()If Text1.Text=“123456“ ThenText1.Text=“口令正确“Text1.PasswordChar=“ElseText2.Text=Text2.Text1If Text2.Text0 ThenMsgBox “第“ & (3Text2.Text) & “次口令错误,请重新输入“ElseMsgBox “3 次输入错误,请退出“Text1.Enabled= FalseEnd IfEnd IfEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。)解析: