1、国家二级 VB机试(上机操作)模拟试卷 368及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“鼠标光标形状示例”的窗体上画 1个名称为 Text1的文本框。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状,如图 356所示;在窗体中其他位置处,鼠标光标为十字(Cross)形状,如图 357 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 vbsj1vbp,窗体文件名为 vbsj1frm。 (2)在名称为 Form1的窗体上画两个名称分别为 Label1、
2、Label2,标题分别为“开始位置”、“选中字符数”的标签;画三个文本框,名称分别为 txtInput、txtBegin、txtNum;再画一个名称为 cmdDisplay,标题为“显示选中文本”的命令按钮。程序运行时,在 txtInput中输入若干字符,并用鼠标选中一些字符后,单击“显示选中文本”按钮,则把选中的第一个字符的顺序号显示在 txtBegin中,选中的字符个数显示在 txtNum中,如图358 所示。 要求:画出所有控件,编写命令按钮的 Click事件过程。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相
3、应的窗体文件为 sjt3frm。 在名称为 Form1的窗体上有一个名称为 Text1的文本框和名称为 Command1、标题为“确定”的命令按钮,一个名称为 List1的列表框和两个名称分别为 Optionl和 Option2、标题分别为“添加”和“删除”的单选按钮,如图395(a)所示。程序运行后,如果选择单选按钮 Optionl并在文本框中输入一个字符串,然后单击“确定”命令按钮,则把文本框中的字符串添加到列表框中,并清除文本框,如图 395(b)所示;如果选择列表框中的一项和单选按钮 Option2,并单击“确定”命令按钮,则删除列表框中所选择的项目,如图395(c)所示;如果不选择列
4、表框中的项目,或者没有在文本框中输入字符串,则单击“确定“命令按钮后,将显示一个信息框“未输入或未选择项目”,如图 395(d)所示。该程序不完整,请把它补充完整。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件sjt4vbp,相应的窗体文件为 sjt4frm。 在窗体上有一个命令按钮,其名称为 Command1,标题为“计算”。程序运行后,如果单击命令按钮,程序将根据下面的公式计算 的值:4=113+1517+,所提供的窗体文件已给出了命令按钮的事件过程,程序运行结
5、果如图 396 所示。 该程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下有工程文件 sjt5vbp 和数据文件 in5txt。in5txt 中有多条记录,每条记录占一行,含 4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。程序运行时,会把in5txt 中的所有记录读入数组 a中(每个数组元素是一条记录),并在窗体上显示第 1条记录(如图所示)。单击“首记录”“下一记录”“
6、上一记录”“尾记录”等按钮,可显示相应记录,并且当显示第 1条记录时,“首记录”“上一记录“按钮不可用,如图 35 所示;当显示最后 1条记录时,“尾记录”“下一记录”按钮不可用;其他情况,所有按钮均可用。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。 (分数:2.00)_国家二级 VB机试(上机操作)模拟试卷 368答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)在名称为 Form1、标题为“鼠标光标形状示例”的窗体上画 1个名称为 Text1的文本框。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时
7、,鼠标光标为箭头(Arrow)形状,如图 356所示;在窗体中其他位置处,鼠标光标为十字(Cross)形状,如图 357 所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 vbsj1vbp,窗体文件名为 vbsj1frm。 (2)在名称为 Form1的窗体上画两个名称分别为 Label1、Label2,标题分别为“开始位置”、“选中字符数”的标签;画三个文本框,名称分别为 txtInput、txtBegin、txtNum;再画一个名称为 cmdDisplay,标题为“显示选中文本”的命令按钮。程序运行时,在 txtInput中输入若干字符,并用鼠标选中一些字符后,单击“显示选中文本”按
8、钮,则把选中的第一个字符的顺序号显示在 txtBegin中,选中的字符个数显示在 txtNum中,如图358 所示。 要求:画出所有控件,编写命令按钮的 Click事件过程。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:新建“标准 EXE”工程,在窗体 Form1中画一个文本框,按表 4-34设置文本框及窗体属性。 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个“标准EXE”工程,按表 4-35在窗体中画出控件并设置其相关属性。 )解析:解析:(1)根据题目要求,要使鼠标指针位于文本框中时,鼠标指针的形状为箭头,需将文本框的MousePointer属性值设置
9、为 1。为使鼠标指针位于窗体中其他位置时,鼠标指针的形状为十字,需将窗体的 MousePointer属性值设置为 2。 【特别提示】当窗体中控件的 MousePointet属性值为 0时,鼠标经过该控件时光标的形状类型由窗体的 MousePointer属性值决定。 (2)由于 SelStart属性返回的所选文本的起始点位于起始文本的左侧,故所选文本的第一个字符的顺序号应为 SelStart属性值加 1。选中字符数即为 SelLength属性返回值。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下有一个工程文件 sjt3vbp,相应的窗体文件为 sjt3frm。 在名称为 F
10、orm1的窗体上有一个名称为 Text1的文本框和名称为 Command1、标题为“确定”的命令按钮,一个名称为 List1的列表框和两个名称分别为 Optionl和 Option2、标题分别为“添加”和“删除”的单选按钮,如图395(a)所示。程序运行后,如果选择单选按钮 Optionl并在文本框中输入一个字符串,然后单击“确定”命令按钮,则把文本框中的字符串添加到列表框中,并清除文本框,如图 395(b)所示;如果选择列表框中的一项和单选按钮 Option2,并单击“确定”命令按钮,则删除列表框中所选择的项目,如图395(c)所示;如果不选择列表框中的项目,或者没有在文本框中输入字符串,则
11、单击“确定“命令按钮后,将显示一个信息框“未输入或未选择项目”,如图 395(d)所示。该程序不完整,请把它补充完整。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 (2)在考生文件夹下有一个工程文件sjt4vbp,相应的窗体文件为 sjt4frm。 在窗体上有一个命令按钮,其名称为 Command1,标题为“计算”。程序运行后,如果单击命令按钮,程序将根据下面的公式计算 的值:4=113+1517+,所提供的窗体文件已给出了命令按钮的事件过程,程序运行结果如图 396 所示。 该程序不完整,请把它补
12、充完整。 要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 (分数:2.00)_正确答案:(正确答案:(1)步骤 1:打开考生文件夹中的本题工程文件 sjt3vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: List1AddItem Text1Text If Form1Option2Value = True And List1ListIndex=0 Then List1RemoveItem List1ListIndex 步骤 2:按要求将文件保存至考生文件夹中。
13、(2)步骤 1:打开考生文件夹中的本题工程文件 sjt4vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: Result =Result + Sign * 1 i Sign=-Sign Text1Text=Result * 4 步骤 2:按要求将文件保存至考生文件夹中。)解析:解析:(1)单击列表框中的某个项目,将触发其 Click事件。要实现单击列表框中的某一项,该项就从列表中消失的功能,只需在 Click事件过程中编写删除项目的语句即可。列表框的 List1ndex属性可返回当前选择的项目的索引号,因此删除选中项目的语句为:List1Removelte
14、m List1List1ndex。 (2)本题是一个数列求累加和的问题。这个数列的特点是,每一项的分子都是 1,分母都是前一项分母加2,符号都是前一项符号的相反数。因此,这个数列累加求和问题使用循环来完成,在循环中令分母加2,符号取反即得到下一项。循环结束后需要将累加和乘 4才能得到所求的圆周率的值。三、综合应用题(总题数:1,分数:2.00)3.考生文件夹下有工程文件 sjt5vbp 和数据文件 in5txt。in5txt 中有多条记录,每条记录占一行,含 4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。程序运行时,会把in5txt 中的所有记录读入数组 a中(每个数组元
15、素是一条记录),并在窗体上显示第 1条记录(如图所示)。单击“首记录”“下一记录”“上一记录”“尾记录”等按钮,可显示相应记录,并且当显示第 1条记录时,“首记录”“上一记录“按钮不可用,如图 35 所示;当显示最后 1条记录时,“尾记录”“下一记录”按钮不可用;其他情况,所有按钮均可用。请将事件过程中的注释符去掉,把“?”改为正确的内容,以实现上述程序功能。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的工程文件 sjt5vbp,在代码编辑窗口中,去掉程序中的注释符“”,将问号“?”改为正确的内容。参考代码: num=k-1 n=n-1 Private Sub put
16、data(k As Integer) SetEnabled k Command4Enabled=IIf(m=num,False, True) 步骤 2:按F5键运行程序,单击各个按钮测试验证。 步骤 3:按要求将文件保存至考生文件夹中。)解析:解析:分析题目可知,在窗体的 Load事件处理过程中,调用了 readdata过程把 in5txt 文件里面的内容读出放到数组 a里面。putdata 过程将某条记录信息显示在节目上,四个按钮控件的事件响应过程中首先给变量 n赋值,然后调用“putdata n”来显示记录。 第一个“?”处是给变量 num赋值,由于程序在显示第一条记录的时候“上一个”按钮
17、不可用,因此需要知道总的记录条数,根据“尾记录”按钮的事件响应过程代码“n=num”可知,num 变量用于记录总的记录条数。在 Do While循环结束之后,k 的值为记录条数+1,因此第一个“?”处是 k1;第二个“?”处的 Sub过程是显示上一个记录,因此 n应该减 1;第三个“?”处是补充 Sub过程的入参,根据 Sub过程内部代码可知,如参数为 k;第四个“?”处是补充调用 SetEnabled过程的参数,SetEnabled 过程根据当前是第几条记录来控制按钮是否可用,在putdata过程中,当前记录数为 k,因此第四个“?”处为 k:最后一个“?“是设置 Command4按钮是否可用,如果当前记录 m是最后一条,则 Command4按钮不可用,否则可用,如果当前记录 m和总的记录数num相等则表示当前是最后一条。