1、VB 机试模拟试卷 9及答案与解析 一、基本操作题( 30分) 1 注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上画一个文本框,名称为 Text1:再画两个命令按钮,名称分别为 C1和 C2,标题分别为 “隐藏 ”和 “显示 ”。请编写适当的事件过程,使得在运行时,如果单击 “隐藏 ”按钮,则文本框消失,而如果单击 “显示 ”按钮,则文本框显示出来,如图 9-1和图 9-2所示。程序中不得使用任何 变量。 注意:存盘时必须存放在考生文件夹下,工程
2、文件名为 sjt1.vbp,窗体文件名为 sjt1.frm。 (2)在窗体上画两个文本框,名称分别为 Text1和 Text2。请设置适当的控件属性,并编写适当的事件过程,使得在运行时,如果在 Text1中每输入一个字符,则显示一个 “, ”,同时在 Text2中显示输入的内容,如图 9-3所示。程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2.vbp,窗体文件名为 sjt2.frm。二、简单应用题( 40分) 2 注意:下面出现的 “考生 文件夹 ”均为 c: wexam25160001。 (1) 在考生文件夹下有工程文件 sjt3.vbp及窗体文件 sj
3、t3.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体中有两个命令按钮,名称分别是 C1和 C2,标题分别是 “修改窗体图标 ”和 “修改窗体标题 ”。要求程序运行后,点击 C1命令按钮,则将窗体标题栏中的图标换为图标文件 1.ico(该文件在考生文件夹下 );点击 C2命令按钮,则将窗体标题修改为 “窗 体 ”。程序界面如图 11-4和图 11-5所示。 (2) 在考生文件夹下有工程文件 sjt4.vbp及窗体文件 sjt4.frm,该程序是不完整的,请在有 ?号的地方
4、填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 窗口中有一个名称为Picture1的图片框,一个名称为 HScroll1的滚动条, 3个命令按钮,名称分别为Command1, Command2和 Command3,标题分别为 “运行 ”、 “暂停 ”和 “结束 ”,一个计时器控件,名称为 Timer1。程 序运行后,单击 “运行 ”按钮后,使小球围绕大球转动,并可以使用滚动条调节转动的速度;单击 “暂停 ”按钮后,暂停小球的转动;按 “结束 ”按钮结束程序。程序运行界面如图 11-6所示。三、综合应用题( 30分) 3
5、注意:下面出现的 “考生文件夹 ”均为 c: wexam25160001。 在考生文件夹下有工程文件 sjt5.vbp及窗体文件 sjt5.frm,该程序是不完整的,请在有 ?号的地方填入正确内容,然后删除 ?及所有注释符 (即 号 ),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下:在名称为 Forml的窗体上有三个 Label控件和两个名称分别为 COMSTART、 COMEXIT,标题分别为 “开始 ”和 “退出 ”的命令按钮。编写函数 Item(A, N),其功能是由数字 A组成的不多于 N位数的整数,利用该函数求 8888-888-88-8的值并把结果写入考生文件夹
6、下的 sjt5.dat文件中。执行完毕 “确定 ”按钮,变成 “完成 ”,且无效。如图 10-6所示。VB 机试模拟试卷 9答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 命令按钮的标题由 Caption属性设置,单击命令按钮触发 Click事件;文本框的可见性由 Visible属性设置。当 Visible属性为 Tree时,控件在运行时可见:当属性Visible为 False时,在运行时不可见。解题步骤: 第一步:建立界面并没置控件属性。程序用到的控件及其属性见表 9-1。 第二步:编写程序代码。 参考代码: Priva
7、te Sub C1 Click() Textl.Visible = False End Sub Private Sub C2 Click() Textl.Visible = True End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)在窗体上建立好控件后,先设置控件属性,再编写事件过程。 文本框的内容由其 Text属性设置。文本框的 PasswordChar属性可用于口令输入,在默认状态下,该属性被设置为空字符串 (不是空格 )。题目要求在Text1中输入字符的同时 Text2中显示 Text1中输入的内容,这要用到文本框的Change事件。当用户向文本框中输入新信息,
8、或当程序吧 Text属性设置为新值从而改变文本框的 Text属性,将触发 Change事件。解题步骤: 第一步:建立 界面并设置控件属性。程序用到的控件及其属性见表 9-2。第二步:编写程序代码。 参考代码: Private Sub Text1_Change() Text2.Text=Text1.Text End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 二、简单应用题( 40分) 2 【正确答案】 在窗体上建立好控件后,先设置控件属性,再编写事件过程。 按钮控件的属性由 Caption来设置,单击触发其 Click事件。通过设置 Icon属性修改窗体的图标,修改窗体的 Ca
9、ption属性设置其标题。在程序中 使用 LoadPicture函数给 Icon属性赋值,其格式为: LoadPicmre(“文件名 “) LoadPicture函数把图形文件装入窗体、图片框或图像框中。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表 11-3。 第二步:编写程序代码。 程序提供的代码: Private Sub C1_CliCk() Form1.Icon=LoadPicture(“?“) End Sub Private Sub C2_Click() Form1.?=“窗体 “ End Sub 参考代码: Private Sub C1_Click() F
10、orm1.Icon=LoadPicture(“1.ico“) End Sub Private Sub C2_CliCk() Form1.Caption=“窗体 “ End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 (2)正面体上建立好控件后,先设置控件属性,再编写事件过程。 计时器控件作用是以一定的时间间隔激发计时器事件 (Timer)执行相应程序代 码。当时计时器控件的 Enabled属性为 True时,计时器计时开始,当为 Palse时计时器计时暂停,所以要使小球运动暂停可将 Enabled属性值设置为False,要使小球运行,则设置该属性值为 True。解题步骤: 第一
11、步:建立界面并设置控件属性。程序中用到的控件及其属性见表 11-4。第二步:编写程序代码。 程序提供的代码: Option EXplicit Dim c As Single, r As Single r小球到大球的球心的距离, C为小球的角度 Dim x As Single, y As Single X, Y为小球移动时的圆心 Dim st As Single Private SUb Command1_CliCk() Timer1.Enabled=True End Sub Private Sub Command2_Click() ? End Sub Private Sub Command3_C
12、lick() End End Sub Private Sub Form_Load() r=20 c=0 St=0.063 HScroll1.Min=1 设置最小值 HScroll1.Max=100 设置最大值 End SUb Private Sub HScroll1_Change() Timer1.?=200-HScroll1.Value 根据滚动条的数值设置时间间隔,速度越快,间隔越小 End Sub Private Sub PiCturel_Paint() PiCture1.FillColor=QBColor(12) PiCture1.ForeColor=QBColor(12) PiCtu
13、re1.Circle (0, 0) , 2 X=Cos(C) * r y=Sin(C) * r Picture1.FillColor=QBColor(14) Picture1.ForeColor=QBColor(14) Picture1.? (x,y) , 0.5 c=c st If C =2 * 3.14159 Then c=c Mod (2 * 3.14159) End If End Sub Private Sub Timer1_Timer() ? 重画图片框 End Sub 参考代码: Option Explicit Dim c As Single, r As Single r小球到大球
14、的球心的距离, C为小球的角度 Dim x As Single, y As Single X, Y为小球移动时的圆心 Dim st As Single PriVate Sub Command1_Click() Timer1.Enabled=True End Sub PriVate Sub Command2_Click() Timer1.Enabled=False End Sub PriVate Sub Command3_Click() End End Sub Private Sub Form_Load() r=20 c=0 st=0.063 HScroll1.Min=1 设置最小值 HScro
15、ll1.Max=100 设置最大值 End Sub Private Sub HScroll1_Change() Timer1.Interval=200-HScroll1.Vslue 根据滚动条的数值设置时间间隔,速度越快,间隔越小 End Sub Private Sub Picture1_Paint() Picture1.FillColor=QBColor(12) Picture1.ForeColor=QBColor(12) Picture1.Circle (0, 0) , 2 X=Cos(C) * r y=Sin(C) * r Picture1.Fillcolor=QBColor(14) P
16、icture1.ForeColor=QBColor(14) Picture1.Circle (x,y) , 0.5 c=c st If C =2* 3.14159 Then c=c Mod (2*3.14159) End If End Sub Private Sub Timer1 Timer() PiCture1.RefreSh 重画图片框 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。 三、综合应用题( 30分) 3 【正确答案】 控件是否可用由其 Enable属性设置,当 Enable为 True时控件可用,当 Enable为 False时控件不可用 (灰色 ):命令按
17、钮的标题由 Caption属性设置: Str$函数将数字转换为字符串。解题步骤: 第一步:建立界面并设置控件属性。程序中用到的控件及其属性值见表 10-4。程序提供的代码: Option Explicit Private Sub COMEXIT_Click() End End Sub Private Sub COMSTART Click() Dim A As Integer, N As Integer, J As Integer, Sum As Single A= 8: N= 4 For J = N To 1 Step -1 If J = N Then Sum = Item (A, J) El
18、se Sum = Sum - Item(A, J) End If Next Print “Sum=“; Sum Open App. Path Sum Open App. Path & “ & “sjtS.dat“ For Output As #1 Print #1, Sum Close #1 COMSTART.Caption = “完成 “ COMSTART.Enabled = False End Sub Function Item(A, k) Dim P As String, Q As String, S As Single Dim i As Integer, H As Single p = “ For i = 1 To k Q$ = Str$ (A) PS = PS + Q$ Next i S = Val (PS) H = H + S Item = H End Function 第二步:调试并运行程序。 第三步:按题目要求存盘。