1、第 1 套 上机考试试题1 基本操作题(2 小题,每题 15 分,共计 30 分)注意:下面出现的“考生文件夹”均为 c;wexam25160001。请根据以下各小题的要求设计 Visual Basic 应用程序(包括界面和代码) 。(1)在窗体上建立一个二级菜单,该菜单含有“文件”和“帮助” (名称分别为 vbFile 和vbHelp)两个主菜单项,其中“文件”菜单包括“ 打开”、 “关闭”和“退出”三个子菜单项( 名称分别为 vbOpen、 vbClose 和 vbExit),如图 1-1 所示。只建立菜单,不必定义其事件过程。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt1.f
2、rm,工程文件名为sjt1.vbp。(2)在名为 Form1 的窗体上画一个框架,名称为 Frm1,标题为“框架”,高度为 2500,宽度为 4000,框架内建立一文本框,距左边框 600,距框架的上边框 1200,文本框中的初始内容设置为“文本框” 。如图 1-2 所示。注意:保存时必须存放在考生文件夹下,窗体文件名为 sjt2.frm,工程文件名为sjt2.vbp。2 简单应用题 (2 小题,每题 20 分,共计 40 分)注意:下面出现的“考生文件夹”均为 c:wexam25160001。(1)在考生文件夹中有工程文件 sjt3.vbp 及其窗体文件 sjt3.frm,该程序是不完整的,
3、请在有?号的地方填入正确内容,然后删除?及所有注释符(即 号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个列表框,名称为 List1,一个文本框,名称为 Text1,和一个命令按钮,名称为 C1,标题为“ 复制”。要求程序运行后,在列表框中自动建立 4 个列表项,分别为“Item1”、 “Item2”、 “Item3”、 “Item4”如果选择列表框中的一项,则单击“复制”按钮时,可以把该项复制到文本框中,如图 1-3 所示。(2)在考生文件夹中有工程文件 sjt4.vbp 及其窗体文件 sjt4.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后
4、删除?及所有注释符(即 号)但不能修改其他部分。存盘时不得改变文件名和文件夹。在窗体有 3 个复选框,名称分别为 Chi、Ch2 和 Ch3,标题分别为“体育”、 “音乐” 、 “美术”,还有一个命令按钮,名称为 C1,标题为“显示”。要求程序运行后,如果选中某个复选框,当单击“显示” 命令按钮时,则显示相应的信息。例如,如果选中“体育”和“ 美术”复选框,单击“显示” 命令按钮后,在窗体上显示“ 我的爱好是体育美术 ”,如图 1-4 所示。3 综合应用题(1 小题,共计 30 分)在考生文件夹中有工程文件 sjt5.vbp 及其窗体文件 sjt5.frm,该程序是不完整的,请在有?号的地方填
5、入正确内容,然后删除?及所有注释符(即,号 )但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为 Form1 的窗体上有两个单选按钮,名称分别为 Opt1 和 Opt2,标题分别为“100-200 之间素数”和“200-400 之间素数”,一个文本框,名称为 Text1,和两个命令按钮,其名称分别为 Cmd1 和 Cmd2,标题分别为“计算”和“存盘 ”,如图 1-5 所示。程序运行后,如果选中一个单选按钮并单击“计算”按钮,则计算出该单选按钮标题所指明的所有素数之和。并在文本框中显示出来。如果单击“存盘”按钮,则把计算结果存入“out.txt”文件中,该文件必须放在考生
6、文件夹中。(在考生文件夹中有标准模块 mode.bas,其中的 putdata 过程可以把结果存入指定的文件,而 isprime 函数可以判断整数 x 是否为素数,如果是素数,则函数返回 True,否则返回 False,考生可以将该模块文件添加到自己的工程中。)注意:必须把 200-400 之间的素数之和存入考生文件夹下的 out.txt 文件中,否则没有成绩。保存程序时必须存放在考生文件夹下,窗体文件名为 sjt5.frm,工程文件名为 sjt5.vbp。答案:第 1 套 上机考试试题1 基本操作题(1)解析 在 Visual Basic 中,菜单项通过菜单编辑器来建立。解题步骤:第一步:打
7、开“菜单编辑器”窗口,建立菜单项。用到的菜单项及其属性见表 1-1。第二步:调试并运行程序。第三步:按题目要求存盘。(2)解析 在窗体上建立好控件后,再按题目要求设置各自的属性即可。需要指出的是在框架里的控件需要画出框架后,单击工具箱里的控件然后在框架里拖动画出所需控件,不可以用双击的方法,否则所需的控件放不到框架里。窗体中的控件的具体位置由控件的Top、Left 属性设置,大小由属性 Height Width 设置。解题步骤:第一步:设置框架的 Height、Width 属性分别为 2500,4000;文本框的 Left、Top 属性值分别为 600,1200。(以上均可在属性栏里没置 )第
8、二步:调试并运行程序。第三步:按题目要求存盘。2 简单应用题(1)解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。向列表框中添加项目可以用 AddItem 方法,也可以在属性窗口中进行。但题目中要求是程序运行后自动添加,所以利用代码实现。列表框的 Text 属性为最后一次选中的表项的文本。解题步骤:第一步;建立界面并设置控件属性。程序中用到的控件及属性设置见表 1-2。第二步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1 Click()Dim i As Integer For i = ? To List1.ListCount-1If Li
9、st1.Selected(i) = True Then ? = List1.List(i)End IfNext iEnd SubPrivate Sub Form Load()List 1.AddItem “Item1“List 1.AddItem “Item2“List 1.AddItem “Item3“List 1.AddItem “Item4“End Sub参考代码:Option ExplicitPrivate Sub Cl _Click()Dim i As IntegerFor i = 0 To List1.ListCount - 1If List1.Selected(i) = True
10、 ThenText1.Text = List1.List(i)End IfNext iEnd SubPrivate Sub Form Load()List1.AddItem “Item1“List1.AddItem “Item2“List1.AddItem “Item3“List1.AddItem “Item4“End Sub第三步:调试并运行。第四步:按题目要求存盘。(2)解析 在窗体上建立好控件后,先设置控件属性,再编写事件过程。单击命令按钮触发 Click 事件,程序中需要检测复选按钮的状态,可以通过 Value 属性来实现。如果复选按钮被选中,则 Value 值为 1,否则 Value
11、 值为 0。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及属性见表 1-3。第二步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1_Click() Dim s As ?s=“我的爱好是”If Ch1.Value = 1 Thens = s + Ch1.CaptionEnd IfIf Ch2.Value = 1 Thens = s + Ch2.CaptionEnd IfIf Ch3.Value = 1 Thens = s + Ch3.CaptionEnd If Print ?End Sub参考代码:Option ExplicitPrivat
12、e Sub C1 Click()Dim s As Strings =“我的爱好是”If Ch1.Value = 1 Thens = s + Ch1.CaptionEnd IfIf Ch2.Value = 1 Thens = s + Ch2.CaptionEnd IfIf Ch3.Value = 1 Thens = s + Ch3.CaptionEnd IfPrint sEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。3 综合应用题解析 素数的判断准则就是看是否该数除了 1 和其本身外别无其他约数即可。文本框用丁 Text 属性来显示计算结果:命令按钮的标题由 Caption 属性
13、来设置,单击命令按钮触发 Click 事件;为了检测单选按钮是否选中,可以通过检测 Value 属性来实现,当 Value 为了 me 时,表示单选按钮被选中,否则未被选中。解题步骤:第一步:建立界面并设置控件属性。题目提供了程序用到的控件及其属性,见表 1-4。第二步:编写程序代码。程序提供的代码:标准模块代码Option ExplicitSub putdata( t_FileName As String,T_Str As Variant)Dim sFile As StringSFile = “ & t FileNameOpen App.Path & SFile For Output As
14、#lPrint #1, T StrClose #1End SubFunction isprime(t_I As Integer) As BooleanDim J As Integerisprime = FalseFor J = 2 To t I / 2If t_I Mod J = 0 Then Exit ForNext JIf J t I / 2 Then isprime = TrueEnd Function窗体代码Private Sub Cmd1_Click()Dim i As IntegerDim temp As Long temp = ?If Opt2.Value ThenFor i =
15、 200 To 400 If isprime(?) Thentemp = temp + iEnd IfNextElseFor i = 100 To 200If isprime(i) Thentemp = temp + iEnd IfNextEnd If Text1.? = tempEnd SubPrivate Sub Cmd2 Click()putdata “out.txt“, Text1.TextEnd Sub参考代码:Private Sub Cmd1_Click()Dim i As IntegerDim temp As Longtemp = 0If Opt2.Value ThenFor i = 200 To 400If isprime(i) Thentemp = temp + iEnd IfNextElseFor i = 100 To 200If isprime(i) Thentemp = temp + iEnd IfNextEnd IfText1.Text = tempEnd SubPrivate Sub Cmd2 Click()putdata “out.txt“, Text1.TextEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。