1、国家二级 VB机试(上机操作)模拟试卷 284及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“鼠标光标形状示例”的窗体上画 1个名称为 Text1的文本框。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状,如图 356所示;在窗体中其他位置处,鼠标光标为十字(Cross)形状,如图 357所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 vbsj1vbp,窗体文件名为 vbsj
2、1frm。(2)在名称为 Form1的窗体上画两个名称分别为Label1、Label2,标题分别为“开始位置”、“选中字符数”的标签;画三个文本框,名称分别为txtInput、txtBegin、txtNum;再画一个名称为 cmdDisplay,标题为“显示选中文本”的命令按钮。程序运行时,在 txtInput中输入若干字符,并用鼠标选中一些字符后,单击“显示选中文本“按钮,则把选中的第一个字符的顺序号显示在 txtBegin中,选中的字符个数显示在 txtNum中,如图 358所示。要求:画出所有控件,编写命令按钮的 Click事件过程。 (分数:2.00)_二、简单应用题(总题数:1,分数
3、:2.00)2.(1)在名称为 Form1的窗体上画一个名称为 lblPwd的标签,标题为“密令”;画两个文本框,名称分别为 txtPwd、txtObi,都没有初始内容;再画三个命令按钮,名称分别为 cmdShow、cmdHide、cmdCopy,标题分别为“显示”、“隐藏”、“复制”,在开始运行时,向 txtPwd中输入的所有字符都显示“*”,单击“显示”按钮后,在 txtPwd中显示所有字符,再单击“隐藏”后,txtPwd 中的字符不变,但显示的都是“?”,单击“复制”后,把 txtPwd中的实际内容复制到 txtObi中,如图 359所示。要求:在属性窗口中,把窗体的标题改为“密令窗口”
4、。建立适当的事件过程,完成上述功能。每个过程中只允许写一条语句,且不能使用变量。存盘时,工程文件名为 vbsj3vbp,窗体文件名为 vbsj3frm。(2)在考生文件夹下有一个工程文件 vbsj4vbp,运行情况如图 360所示。程序的功能是计算如下表达式的值:Z=(X+2)2+(X+3)3+(x+4)4+(X+N)N。其中,N 和 X值通过键盘分别输入到文本框 txtN、txtX 中。之后如果单击名称为 cmdCal、标题为“计算”的命令按钮,则计算表达式的值 Z,并将计算结果显示在名称为 lblResult的标签中。在给出的窗体文件中已经添加了全部控件和程序,但程序不完整。要求去掉程序中
5、的注释符,把程序中的“?”改为正确的内容。注意:考生不得修改窗体文件中已经存在的程序。程序中不得使用运算符,而应使用函数 xn进行幂运算。程序至少运行一次,按照下图输入数据,使N=5,X=10,单击“计算”按钮,计算 Z的值,并将结果显示在标签 lblResult中,否则没有成绩。最后,程序按原文件名存盘。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 vbsj5vbp,请先装入该工程文件,然后完成以下操作:在名称为Form1的窗体上画两个命令按钮,其名称分别为 cmdRead和 cmdCal,标题分别为“读入数据”和“计算保存”(如图 36
6、1所示)。程序运行后,如果单击“读入数据”按钮,则调用题目所提供的 ReadDatal和ReadData2过程读入 in51txt 和 in52txt 文件中的各 20个整数,分别放入 Arr1和 Arr2两个数组中;如果单击“计算保存”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(即:第一个数组的第 n个元素减去第二个数组的第 n个元素,结果作为第三个数组的第 n个元素。这里的 n为1、2、20),最后计算第三个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的 WriteData过程将所求得的和存入考生文件夹下的 out5dat 文件中。 (分数:2.00)
7、_国家二级 VB机试(上机操作)模拟试卷 284答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.请根据以下各小题的要求设计 Visual Basic应用程序(包括界面和代码)。(1)在名称为 Form1、标题为“鼠标光标形状示例”的窗体上画 1个名称为 Text1的文本框。请通过属性窗口设置适当属性,使得程序运行时,鼠标在文本框中时,鼠标光标为箭头(Arrow)形状,如图 356所示;在窗体中其他位置处,鼠标光标为十字(Cross)形状,如图 357所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为 vbsj1vbp,窗体文件名为 vbsj
8、1frm。(2)在名称为 Form1的窗体上画两个名称分别为Label1、Label2,标题分别为“开始位置”、“选中字符数”的标签;画三个文本框,名称分别为txtInput、txtBegin、txtNum;再画一个名称为 cmdDisplay,标题为“显示选中文本”的命令按钮。程序运行时,在 txtInput中输入若干字符,并用鼠标选中一些字符后,单击“显示选中文本“按钮,则把选中的第一个字符的顺序号显示在 txtBegin中,选中的字符个数显示在 txtNum中,如图 358所示。要求:画出所有控件,编写命令按钮的 Click事件过程。 (分数:2.00)_正确答案:(正确答案:第 1小题
9、 步骤 1:新建“标准 EXE”工程,在窗体 Form1中画一个文本框,按表434设置文本框及窗体属性。 步骤 2:按要求将文件保存至考生文件夹中。 第 2小题 步骤 1:新建一个“标准 EXE”工程,按表 435在窗体中画出控件并设置其相关属性。 )解析:解析:第 1小题:根据题目要求,要使鼠标指针位十文本框中时,鼠标指针的形状为箭头,需将文本框的 MousePointer属性值设置为 1。为使鼠标指针位于窗体中其他位置时,鼠标指针的形状为十字,需将窗体的 MousePointer属性值设置为 2。 当窗体中控件的 MousePointer属性值为 0时,鼠标经过该控件时光标的形状类型由窗体
10、的 MousePointer属性值决定。 第 2小题:由于 SelStart属性返回的所选文本的起始点位于起始文本的左侧,故所选文本的第一个字符的顺序号应为 SelStart属性值加 1。选中字符数即为 SelLength属性返同值。二、简单应用题(总题数:1,分数:2.00)2.(1)在名称为 Form1的窗体上画一个名称为 lblPwd的标签,标题为“密令”;画两个文本框,名称分别为 txtPwd、txtObi,都没有初始内容;再画三个命令按钮,名称分别为 cmdShow、cmdHide、cmdCopy,标题分别为“显示”、“隐藏”、“复制”,在开始运行时,向 txtPwd中输入的所有字符
11、都显示“*”,单击“显示”按钮后,在 txtPwd中显示所有字符,再单击“隐藏”后,txtPwd 中的字符不变,但显示的都是“?”,单击“复制”后,把 txtPwd中的实际内容复制到 txtObi中,如图 359所示。要求:在属性窗口中,把窗体的标题改为“密令窗口”。建立适当的事件过程,完成上述功能。每个过程中只允许写一条语句,且不能使用变量。存盘时,工程文件名为 vbsj3vbp,窗体文件名为 vbsj3frm。(2)在考生文件夹下有一个工程文件 vbsj4vbp,运行情况如图 360所示。程序的功能是计算如下表达式的值:Z=(X+2)2+(X+3)3+(x+4)4+(X+N)N。其中,N
12、和 X值通过键盘分别输入到文本框 txtN、txtX 中。之后如果单击名称为 cmdCal、标题为“计算”的命令按钮,则计算表达式的值 Z,并将计算结果显示在名称为 lblResult的标签中。在给出的窗体文件中已经添加了全部控件和程序,但程序不完整。要求去掉程序中的注释符,把程序中的“?”改为正确的内容。注意:考生不得修改窗体文件中已经存在的程序。程序中不得使用运算符,而应使用函数 xn进行幂运算。程序至少运行一次,按照下图输入数据,使N=5,X=10,单击“计算”按钮,计算 Z的值,并将结果显示在标签 lblResult中,否则没有成绩。最后,程序按原文件名存盘。 (分数:2.00)_正确
13、答案:(正确答案:第 1小题 步骤 1:新建一个“标准 EXE”工程,按表 436在窗体中画出控件并设置其相关属性。 )解析:解析:第 1小题:PasswordChar 属性用于设置屏蔽文本框中内容的字符,要去掉对文本框中输入内容的屏蔽,需将其 PasswordChar属性值清空。 第 2小题:本题源程序中,白定义函数 xn的功能是进行 am幂运算,它通过 For循环连续 m次将 a乘以累积变量 tmp(初值为 1)来实现。故自定义函数 xn中第一个?处应改为:tmp*a,作为函数返回值第二个?处应改为:map。 在“计算”按钮的单击事件过程中,根据程序所要计算表达式的特点,源程序利用一个 F
14、or循环依次计算表达式中各项的值(x+i)i),并将其累加入变量 z。计算表达式中各项的值通过调用自定义函数 xn(t,i)来实现的,其中 t=x+j。故cmdCal_Click事件过程中第一个?处应改为:xn(t,i)。计算结果显示在标签中,故第二个?处应改为:z。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个工程文件 vbsj5vbp,请先装入该工程文件,然后完成以下操作:在名称为Form1的窗体上画两个命令按钮,其名称分别为 cmdRead和 cmdCal,标题分别为“读入数据”和“计算保存”(如图 361所示)。程序运行后,如果单击“读入数据”按钮,则调用题目所提
15、供的 ReadDatal和ReadData2过程读入 in51txt 和 in52txt 文件中的各 20个整数,分别放入 Arr1和 Arr2两个数组中;如果单击“计算保存”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(即:第一个数组的第 n个元素减去第二个数组的第 n个元素,结果作为第三个数组的第 n个元素。这里的 n为1、2、20),最后计算第三个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的 WriteData过程将所求得的和存入考生文件夹下的 out5dat 文件中。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开考生文件夹中的本题工程文
16、件 vbsj5vbp,按表 437在窗体中画出控件并设置其相关属性。 )解析:解析:本题源程序已提供用于读数的 ReadData1、ReadData2 和用于写盘的 WriteData几个自定义过程,只需编写“读数”、“计算”和“保存”命令按钮的单击事件过程,并在事件过程中调用ReadData1、ReadDam2 和 WriteData自定义过程。程序设计思路:在“读数”按钮的 Click事件过程中,通过分别调用 ReadData1和 ReadData2过程将数据从文件 dr342dat 和 dr343dat 中读入到数组 Arr1和 Art2(窗体变量)中:然后在“计算”按钮的 Click事件过程中,利用 For语句(循环变量 i的初值为1,终值为 20)依次将数组 Arr1和 Arr2同下标的元素相减后赋值给数组 Arr3同下标的元素(表达式为:Arr3(i)=Arr1(i)-Arr2(i),并累加到变量 Sum,循环结束后将 Sum的值显示在窗体上。在“保存”按钮的 Click事件过程中,通过调用 WriteData过程将 Sum的值写入数据文件 out5txt。 注意:调用WriteData过程时需传递参数 dw343dat 和 Sum,变量 Sum应声明为窗体变量。