1、- 1 -1基本操作(2小题,每小题15分,共计30分)请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。(1)在窗体上建立一个二级菜单,该菜单含有“文件“和“帮助“(名称分别为vbFile和vbHelp)两个主菜单项,其中“文件“菜单包括“打开“、“关闭“和“退出“三个子菜单项(名称分别为vbOpen、vbClose和vbExit ),如图1-1 所示。只建立菜单,不必定义其事件过程。注意:保存时必须存放在考生文件夹下,窗体文件名为sjt1.frm,工程文件名为sjt1.vbp。图 1-1(2)在名为Form1的窗体上画一个框架,名称为 Frm1,标题为“框架“,
2、高度为2500,宽度为4000,框架内建立一文本框,距左边框600,距框架的上边框1200,文本框中的初始内容设置为“文本框“。注意:保存时必须存放在考生文件夹下,窗体文件名为sjt2.frm,工程文件名为sjt2.vbp。图 1-22简单应用(2小题,每题 20分,计40分)(1)在考生文件夹中有工程文件sjt3.vbp及其窗体文件sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号),但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体上有一个列表框,名称为List1,一个文本框,名称为Text1,和一个命令按钮,名称为 C1,标
3、题为“复制“。要求程序运行后,在列表框中自动建立4个列表项,分别为“Item1“、“Item2“、“Item3 “、“Item4“如果选择列表框中的一项,则单击“复制“按钮时,可以把该项复制到文本框中,如图1-3所示。图 1-3(2)在考生文件夹中有工程文件sjt4.vbp及其窗体文件sjt4.frm ,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在窗体有3个复选框,名称分别为Ch1、Ch2 和Ch3,标题分别为“体育“、“音乐“、“美术“,还有一个命令按钮,名称为C1,标题为“显示“。要求程序运
4、行后,如果选中某个复选框,当单击“显示“命令按钮时,则显示相应的信息。例如,如果选中“体育“和“美术“复选框,单击“显示“命令按钮后,在窗体上显示“我的爱好是体育美术“,如图1-4所示。图 1-43综合应用(1小题,计30分)在考生文件夹中有工程文件sjt5.vbp及其窗体文件sjt5.frm ,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为Form1的窗体上有两个单选按钮,名称分别为Opt1和Opt2,标题分别为“100-200之间素数“和“200-400之间素数“,一个文本框,名称为Te
5、xt1,和两个命令按钮,其名称分别为Cmd1和Cmd2,标题分别为“计算“和“存盘“,如图1-5所示。程序运行后,如果选中一个单选按钮并单击“计算“按钮,则计算出该单选按钮标题所指明的所有素数之和。并在文本框中显示出来。如果单击“存盘“按钮,则把计算结果存入“out.txt“文件中,该文件必须放在考生文件夹中。(在考生文件夹中有标准模块mode.bas,其中的putdata 过程可以把结果存入指定的文件,而isprime 函数可以判断整数x是否为素数,如果是素数,则函数返回True,否则返回False,考生可以将该模块文件添加到自己的工程中。)注意:必须把200-400之间的素数之和存入考生文
6、件夹下的out.txt文件中,否则没有成绩。保存程序时必须存放在考生文件夹下,窗体文件名为sjt5.frm,工程文件名为sjt5.vbp。- 2 7图 1-51基本操作(2小题,每小题15分,共计30分)请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。(1)在名称为Form1的窗体中建立一个名称为 Cmd1,标题为“显示“的命令按钮,如图2-1所示。要求程序运行后,如果单击“显示“按钮,则执行语句Form1.Print “显示“ ;如果单击窗体,则执行语句Form1.Cls。注意:保存时必须存放在考生文件夹下,窗体文件名为sjt1.frm,工程文件名为sjt1.v
7、bp。图 2-1(2)在名称为Form1的窗体上建立一个水平滚动条,名称为HS1 ,其最大值为 100,最小值为0。要求程序运行后,每次移动滚动框时,都执行语句Form1.Print HS1.Value,如图2-2所示(程序中不能使用任何变量)。注意:保存时必须存放在考生文件夹下,窗体文件名为sjt2.frm,工程文件名为sjt2.vbp。图 2-22简单应用(2小题,每题20分,计40分)(1)在考生文件夹中有工程文件sjt3.vbp及其窗体文件sjt3.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本
8、题描述如下:在窗体上有两个单选按钮,名称分别为Op1和Op2,标题分别为“黑体“和“楷体“,一个文本框,名称为Text1,字体为宋体,字号为四号字,还有一个命令按钮,名称为C1,标题为“切换“。要求程序运行后,在文本框中输入 “等级考试“,并选择一个单选按钮,如图2-3所示。在单击“切换“按钮后,会根据所选的单选按钮来切换文本框中所显示的汉字字体,如图2-4所示。图 2-3图 2-4 (2)在窗体上建立一个名称为Text1的文本框和一个名称为Cmd1,标题为“计算“的命令按钮,如图 2-5所示。程序运行后,单击“计算“命令按钮,通过在对话框输入整数12,放入整型变量a中,然后计算a!,(提示:
9、运算结果应放入Long型变量中),在文本框中显示结果,并把结果存入文件out.txt中。在考生文件夹中有一个标准模块mode.bas,该模块中提供了保存文件的过程putdata, 考生可以直接调用。注意:保存时必须存放在考生文件夹下,窗体文件名为sjt4.frm,工程文件名为sjt4.vbp。图 2-53综合应用(1小题,计30分)在考生文件夹中有工程文件sjt5.vbp及其窗体文件sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即号)但不能修改其他部分。存盘时不得改变文件名和文件夹。本题描述如下:在名称为Form1的窗体上有一个文本框,名称为Text
10、1,MultiLine 属性为True,ScrollBars属性为2;两个命令按钮,名称分别为Cmd1和Cmd2,标题分别为“读入数据“和“计算保存“,如图2-6所示。要求程序运行后,如果单击“读入数据“按钮,则读入“in.txt“文件中的100个整数,放入一个数组中(数组下界为1),同时在文本框中显示出来;如果单击“计算保存“按钮,则计算数组中大于或等于400并且小于800的所有数之和,把求和结果在文本框Text1中显示出来,同时把结果存入考生文件夹中的文件result.txt 中。(在prog.bas 中的 putdata过程可以把结果存入result.txt 文件)。注意:文件必须存放在
11、考生文件夹下,窗体文件名为sjt5.frm,工程文件名为sjt5.vbp,计算结果存入result.txt 文件中,否则没有成绩。3图 2-61基本操作(1)解析:在Visual Basic 中,菜单项通过菜单编辑器来建立。解题步骤:第一步:打开“菜单编辑器“窗口,建立菜单项。用到的菜单项及其属性见表1-1。第二步:调试并运行程序。第三步:按题目要求存盘。(2)解析:在窗体上建立好控件后,再按题目要求设置各自的属性即可。需要指出的是在框架里的控件需要画出框架后,单击工具箱里的控件然后在框架里拖动画出所需控件,不可以用双击的方法,否则所需的控件放不到框架里。窗体中的控件的具体位置由控件的Top、
12、Left属性设置,大小由属性Height、Width设置。解题步骤:第一步:设置框架的Height、Width属性分别为2500,4000;文本框的Left、Top属性值分别为600,1200。( 以上均可在属性栏里设置)第二步:调试并运行程序。第三步:按题目要求存盘。2简单应用(1)解析:在窗体上建立好控件后,先设置控件属性,再编写事件过程。向列表框中添加项目可以用AddItem方法,也可以在属性窗口中进行。但题目中要求是程序运行后自动添加,所以利用代码实现。列表框的Text属性为最后一次选中的表项的文本。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及属性设置见表1-2。表 1
13、-2控 件 属 性 设 置 值列表框 Name List1文本框 Name Text1命令按钮 Name Caption C1 复制第二步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1_Click()Dim i As Integer For i = ? To List1.ListCount - 1If List1.Selected(i) = True Then ? = List1.List(i)End IfNext iEnd SubPrivate Sub Form_Load()List1.AddItem “Item1“List1.AddItem “I
14、tem2“List1.AddItem “Item3“List1.AddItem “Item4“End Sub参考代码:Option ExplicitPrivate Sub C1_Click()Dim i As IntegerFor i = 0 To List1.ListCount - 1If List1.Selected(i) = True ThenText1.Text = List1.List(i)End If4Next iEnd SubPrivate Sub Form_Load()List1.AddItem “Item1“List1.AddItem “Item2“List1.AddItem
15、 “Item3“List1.AddItem “Item4“End Sub第三步:调试并运行。第四步:按题目要求存盘。(2)解析:在窗体上建立好控件后,先设置控件属性,再编写事件过程。单击命令按钮触发Click事件,程序中需要检测复选按钮的状态,可以通过Value属性来实现。如果复选按钮被选中,则Value值为1,否则Value值为0。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及属性见表1-3。表 1-3对 象 属 性 设 置 值复选按钮 Name Caption Ch1 体育复选按钮 Name Caption Ch2 音乐复选按钮 Name Caption Ch2 美术标签 C
16、aption 爱好按钮 Name Caption C1 显示第二步:编写程序代码。程序提供的代码: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 ExplicitPrivate Sub C1_Clic
17、k()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属性来设置,单击命令按钮触发Click事件;
18、为了检测单选按钮是否选中,可以通过检测Value属性来实现,当Value为True时,表示单选按钮被选中,否则未被选中。解题步骤:第一步:建立界面并设置控件属性。题目提供了程序用到的控件及其属性,见表1-4。表 1-4控 件 属 性 设 置 值单选按钮 Name Caption Op1 100-200之间素数单选按钮 Name Caption Op2 200-400之间素数文本框 Name Text1命令按钮 Name Caption Cmd1 计算命令按钮 Name Caption Cmd2 存盘第二步:编写程序代码。程序提供的代码:标准模块代码Option ExplicitSub putd
19、ata(t_FileName As String, T_Str As Variant)Dim sFile As StringsFile = “ & t_FileNameOpen App.Path & sFile For Output As #1Print #1, T_StrClose #1End SubFunction isprime(t_I As Integer) As Boolean5Dim J As Integerisprime = FalseFor J = 2 To t_I / 2If t_I Mod J = 0 Then Exit ForNext JIf J t_I / 2 Then
20、 isprime = TrueEnd Function窗体代码Private Sub Cmd1_Click()Dim i As IntegerDim temp As Longtemp = ?If Opt2.Value ThenFor i = 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
21、“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()putd
22、ata “out.txt“, Text1.TextEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。1基本操作(1)解析:在窗体上建立好控件后,先设置控件属性,再编写事件过程。命令按钮的标题由Caption属性设置,单击命令按钮触发Click事件。在窗体上打印信息用Print方法,清除窗体上的打印信息使用Cls方法,这两条语句在题目中已经给出,只要将其放入适当的事件过程中即可。解题步骤:第一步:建立界面并设置控件属性。本题只用到了1个命令按钮,将其Caption属性设置为“显示“,Name属性设置为Cmd1。第二步:编写代码。参考代码:Private Sub Cmd1_Click(
23、)Form1.Print “显示“End SubPrivate Sub Form_Click()Form1.ClsEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。(2)解析:在窗体上建立好控件后,先设置控件属性,再编写事件过程。滚动条表示的最大值由Max属性设置,最小值由Min属性设置,滚动条的当前值由Value属性设置;当滚动框的位置改变时,触发Change事件。清除窗体上原来的显示的值可以用Cls方法来实现。解题步骤:第一步:建立界面并设置控件属性。本程序中用到1个滚动框,将其名称即Name属性设置为HS1,Min 和Max属性属性分别设置为0和100。第二步:编写程序代码。
24、参考代码:Private Sub HS1_Change()ClsForm1.Print HS1End Sub第三步:调试并运行程序。第四步:按题目要求存盘。62简单应用(1)解析:窗体的控件及属性已经建好,只需编写事件过程空缺的代码即可。单选按钮和“切换“按钮的是通过它们的Caption属性来设置的,当点击“切换“时触发它的Click事件来使文本框的内容改变的。文本框的字体设置是通过它的Font属性来实现的。解题步骤:第一步:编写程序代码。程序提供的代码:Option ExplicitPrivate Sub C1_Click()If Op1 ThenText1.Font = Op1.?End
25、IfIf Op2 ThenText1.? = “楷体_GB2312“End IfEnd Sub参考代码:Option ExplicitPrivate Sub C1_Click()If Op1 ThenText1.Font = Op1.CaptionEnd IfIf Op2 ThenText1.FontName = “楷体_GB2312“End IfEnd Sub第二步:调试并运行程序。第三步:按题目要求存盘。(2)解析:在窗体上建立好控件后,先设置控件属性,再编写事件过程。当运行程序后所弹出的对话框是由Visual Basic系统本身提供的,通过调用函数InputBox 来实现,本题的主要思想
26、是考查循环语句的应用。计算一个数值的阶乘时使用了for循环,最后调用了所给模块中的过程将结果进行保存。解题步骤:第一步:建立界面并设置控件属性。本题用到了1个文本框和1个命令按钮,将命令按钮的Caption属性设置为“计算“,Name属性设置成Cmd1,文本框属性为默认设置。第二步:编写程序代码。在编写程序代码时要注意变量范围的设定,题目要求将计算结果存入Long变量中,所以把最后放入文本框内的变量设置为长整型,然后保存结果。参考代码:Private Sub Cmd1_Click()Dim a As IntegerDim temp As LongDim i As Integera = Val(
27、InputBox(“请输入“, , “12“)temp = 1For i = 1 To Val(a)temp = temp * iNextText1.Text = tempputdata “out.txt“, Text1.TextEnd Sub标准模块代码:Option ExplicitSub putdata(t_FileName As String, T_Str As Variant)Dim sFile As StringsFile = “ & t_FileNameOpen App.Path & sFile For Output As #1Print #1, T_StrClose #1End
28、 Sub第三步:调试并运行程序。第四步:按题目要求存盘。3综合应用解析:文本框显示的内容由Text属性设置;按钮的标题由Caption属性设置,单击命令按钮触发Click事件;在本题中涉及到文件的操作,读入顺序文件以顺序的方式打开,用Input#语句读取数据,另外需要注意的是对文件操作完后,一定要关闭文件。解题步骤:第一步:建立界面并设置控件属性。程序中用到的控件及其属性见表2-1。表 2-1控 件 属 性 设 置 值文本框 Name Scrollbars Multiline Text1 2 true命令按钮 Name Caption Cmd1 读入数据命令按钮 Name Caption Cm
29、d2 计算保存第二步:编写程序代码。程序提供的代码:窗体代码Dim i(1 To 100) As IntegerPrivate Sub Cmd1_Click()Dim j As Integerj = 07Open App.Path & “in.txt“ For Input As #1For j = 1 To 100 Input #1, i(?)NextClose #1For j = 1 To 100Text1.Text = Text1.Text & i(j) & Space(5)NextEnd SubPrivate Sub Cmd2_Click()Dim temp As LongDim j As IntegerFor ? = 1 To 100If i(j) = 400 And i(j) = 400 And i(j) 800 Thentemp = temp + i(j)End IfNextText1.Text = tempputdata tempEnd Sub第三步:调试并运行程序。第四步:按题目要求存盘。