1、国家二级 VB机试(上机操作)模拟试卷 291及答案与解析 一、基本操作题 1 请根据以下各小题的要求设计 Visual Basic应用程序 (包括界面和代码 )。 (1)在名称为 Form1的窗体上画一个文本框,名称为 Text1,内容为 “VB程序设计 ”;再画两个命令按钮,其名称分别为 Command1和 Command2,标题分别为 “扩大 ”和 “缩小 ”,如图 393所示,编写适当的事件过程。程序运行后,每单击 Command1命令按钮一次,文本框中文本的字体扩大 1 2倍;每单击 Command2单选按钮一次,文本框中文本的字 体缩小 1 2倍。注意:存盘时必须存放在考生文件夹下
2、,工程文件名为 sjt1 vbp,窗体文件名为 sjjt1 frm。(2)在名称为 Form1的窗体上画一个列表框,其名称为 List1,通过属性窗口向列表框中输入 9个项目,分别为 10、 20、 30、 40、50、 60、 70、 80、 90;画一个文本框,其名称为 Text1,初始内容为空白;再画一个水平滚动条,其名称为 HScroll1, Min属性和 Max属性分别为 0和 100,如图394(a)所示,编写适当的事件过程。程序运行后,如果单击列表框中的某个项目,则在文本框中显 示该项目内容,并把滚动条的滚动框移到相应的位置,如图394(b)所示。要求:不得使用任何变量。注意:存
3、盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。 二、简单应用题 2 (1)在考生文件夹下有一个工程文件 sjt3 vbp,相应的窗体文件为 sjt3 frm。在名称为 Form1的窗体上有一个名称为 Text1的文本框和名称为 Command1、标题为“确定 ”的命令按钮,一个名称为 List1的列表框和两个名称分别为 Option1和Option2、标题分别为 “添加 ”和 “删除 ”的单选按钮,如图 395(a)所示。程序运行后,如果选择单选按钮 Option1并在文本框中输入一个字符串,然后单击 “确定 ”命令按钮,则把文本框中的字符串添加到
4、列表框中,并清除文本框,如图 395(b)所示;如果选择列表框中的一项和单选按钮 Option2,并单击 “确定 ”命令按钮,则删除列表框中所选择的项目,如图 395(c)所示;如果不选择列表框中的项目,或者没有在文本框中输入字符串,则单击 “确定 ”命令按钮后,将显示一个信息框 “未输入或未选择项目 ”,如图 395(d)所示。该程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的 ?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。(2)在考生文件夹下有一个工程文件 sjt4 vbp,相应的窗体文件为 sjt4 frm。在窗
5、体上有一个命令按钮,其名称为 Command1,标题为 “计算 ”。程序运行后,如果单击命令按钮,程序将根据下面的公式计算 的值: 4=1-1 3+1 5-1 7+ ,所提供的窗体文件已给出了命令按钮的事件过程,程序运行结果如图 396所示。该程序不完整,请把它补充完整。要求:去掉 程序中的注释符,把程序中的 ?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp,相应的窗体文件为 sjt5 frm。窗体外观如图 35(a)所示。三个命令按钮的名称分别为 Command1、 C
6、ommand2和Command3,标题分别为 “读取数据 ”、 “首字母大写 ”和 “存盘 ”。程序运行后,如果单击 “读取数据 ”命令按钮,则读取考生文件夹下 in5 txt中的全部文本 (文本中的单词与单词之间或标点 符号与单词之间均用一个空格分开 ),并在文本框中显示出来。文本内容如下:TuckeddeepwithinthepromisesandpoliciesofhisStateoPdaeUnionaddress,PresidentBushutteredthreewordsthatspeakvolumesaboutWashingtonsparalysisinaddressingthep
7、lightoflhefortymillionAmericanswholackhealthinsurance InbetweenhisdiscourseonMedicareandhissupportforalow-incomehealthcaretaxcredit,Bushcalledforsomethingcalledassociationhealthplans如果单击 “首字母大写 ”命令按钮,则将文本框中每个单词的第一个字母变为大写字母(如果原来已是大写字母则不改变 ),并在文本框中显示出来,如图 397(b)所示;如果单击 “存盘 ”命令按钮,则把文本框中的内容 (首字母大写后 )保存到
8、考生文件夹下的文件 out5 txt中。窗体文件中已给出了 部分程序,请把它补充完整,使其实现上述功能。 要求: 1)编写 “读取数据 ”命令按钮的 Click事件过程。 2)去掉 “首字母大写 ”命令按钮和 “存盘 ”命令按钮事件过程中的注释符,把程序中的 “?”改为正确的内容,使其能正确运行。 3)用原来的文件名保存工程文件和窗体文件。 国家二级 VB机试(上机操作)模拟试卷 291答案与解析 一、基本操作题 1 【正确答案】 第 1小题步骤 1:新建一个 “标准 EXE”工程,在窗体 Form1中加入一个文本框和两个命令按佣,其相关属件设置如表 458所示。步骤 2:打开代码编辑窗口,输
9、入如下代码。参考代码: Private Sub Command1_Click()Text1 FontSize=Text1 FontSize*1 2End SubPrivate Sub Command2_CliCk()Text1 FontSize=Text1 FontSize 1 2End Sub步骤 3:按要求将文件保存至考生文件夹中。第 2小题步骤 1:新建一个 “标准 EXE”工程,在窗体上画一个列表框、一个文本框和一个水平滚动条,按表 459设置其相关属性。步骤 2:在打开的代码编辑窗 口中,编写列表框的单击事件代码。参考代码: Private Sub List1_Click()Text
10、1 Text=List1 TextHScroll1 Value=Val(List1 Text)End Sub步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:要实现题目要求的功能,只需在两个命令按钮的 Click事件过程中,分别设置文本框的 FontSize属性为指定值。 第 2小题:列表框的 Text属性用于返回列表框中选择的项目的内容,返回值总与列表框的 List(ListIndex)属性的返 回值相同。本题需要在列表框的属性窗口中输入列表框中的项目,然后在列表框的单击事件中将选定项赋值给文本框和滚动条的Value属性。 二、简单应用题 2 【正确答案】 第 1小题 步
11、骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: List1 AddItem Text1 Text If Form1 Option2 Value=True And List1 ListIndex =0Then List1 RemoveItem List1 ListIndex 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: Result=Resul
12、t+Sign*1 i Sign=-Sign Text1 Text=Result*4 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 第 1小题:单击列表框中的某个项目,将触发其 Click事件。要实现单击列表框中的某一项,该项就从列表中消失的功能, 只需在 Click事件过程中编写删除项目的语句即可。列表框的 ListIndex属性可返回当前选择的项目的索引号,因此删除选中项目的语句为: List1 RemoveItem List1 ListIndex。 第 2小题:本题是一个数列求累加和的问题。这个数列的特点是,每一项的分子都是 1,分母都是前一项分母加 2。符号都是前一项符号的相
13、反数。凶此,这个数列累加求和问题使用循环来完成,在循环中令分母加 2,符号取反即得到下一项。循环结束后需要将累加和乘 4才能得到所求的圆周率的值。 三、综合应用题 3 【正确答案】 步骤 1:打开考生文件夹中的工程文件 sjt5 vbp,在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。 参考代码: ch=Mid(oldSen, i, 1) newSen=newSen&ch write#1, Text1 Text 步骤 2:编写 “读取数据 ”命令按钮的单击事件。 参考代码: Private Sub Command1_CliCk() Dim s As String Op
14、en“in5 txt“For Input As1 Line Input#1, s Ciose#1 Text1 Text=S End Sub 步骤 3:按 F5键运行程序,先单击 “读取数据 ”按钮,接着单击 “首字母大写 ”按钮,最后单击 “存盘 ”按钮。 步骤 4:按要求将文件保存至考生文件夹中。 【试题解析】 分析题目可知,本题中 “读取数据 ”命令按钮中首先使用 For Input方式打开文件,然后通过 Line Input#语句将打开文件中的数据读出到变量 s中并且赋给文本框。 在 “首字母大写 ”按钮的单击事件中,首先依次取出文本框中的每一个字符,然后判断这个字符的上一个字符是否是空格,如果是空格则将该字符使用 UCase函数转换为 大写;判断完毕后无论是否转换均将其连接到新的字符串中,同时令这个字符成为新的 “上一个字符 ”。这样,循环结束后每个单词的首字母就转换成了大写字母。 在 “存盘 ”按钮的单击事件中,首先以 Output方式打开文件,然后利用 Write#语句将文本框中的内容写回到文件中,最后关闭文件。