1、国家二级 VB机试(上机操作)模拟试卷 359及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上建立一个名称为 Command1的命令按钮数组,含三个命令按钮,它们的 Index属性分别为 0、 1、 2,标题依次为 “是 ”、 “否 ”、 “取消 ”,每个按钮的高、宽均为 300、 800。窗体的标题为 “按钮窗口 ”。运行后的窗体图 3一 132所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjtl vbp,窗体文件名为 sjtl frm。 (2)在名称为 Form1的窗体上画一个名称为Shal的形状控件,然后建立 一个菜单,标题为 “形状 ”,名称为 shap
2、e0,该菜单有两个子菜单,其标题分别为 “正方形 ”和 “圆形 ”,其名称分别为 shapel和 shape2,如图3133所示,然后编写适当的程序。程序运行后,如果选择 “正方形 “菜单项,则形状控件显示为正方形;如果选择 “圆形 ”菜单项,则窗体上的形状控件显示为圆形。 注意:程序中不能使用变量,每个事件过程中只能写一条语句。保存时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。二、简单应用题 2 (1)在考生文件夹中有一个工程文件 sjt3 vbp,窗体上有 2个命令按钮、 1个水平滚动条和 1个计时器,其名称分别为 Command1、 Comma
3、nd2、 HScroll1和Timerl,如图 3 8(a)所示。程序运行后,按钮 Command1、 Command2的标题分别立即显示 “开始 ”“停止 ”,同时把计时器的 Interval属性设置为 100, Enabled属性设置为 False。此时如果单击 “开始 ”按钮,则该按钮变为禁用,而标题则变为 “继续 ”,同时滚动条的滚动框自左至右移动,每次移动 10,如图 3-8(b)所示,移到右端时,自动从左端重新开始向右移动;如果 单击 “停止 ”命令按钮,则该按钮变为禁用, “继续 “命令按钮变为有效,同时滚动框停止移动;再次单击 “继续 ”命令按钮后,滚动框继续移动。已经给出了全
4、部控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 “?“改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。最后程序按原文件名存盘。(2)在考生文件夹下有一个工程文件sjt4 vbp,窗体上有 2个名称分别为 Text1、 Text2的文本框,有 1个名称为Command1的命令按钮。程序运行时,在 Text1文本框中输入一行单词 (只含有字母或空格 ),单 击命令按钮后,将把每个单词的第一个字母改为大写 (如果原来已是大写字母则不变 ),并在 Text2文本框中显示出来,如图 3-9所示。已经给出了全部控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 “?”改
5、为正确的内容。 注意:不得修改原有程序和控件的属性。最后把修改后的文件按原文件名存盘。 三、综合应用题 3 在考生文件夹下有一个工程文件 sjt5 vbp,其窗体中有一个实心圆。程序运行时,当用鼠标左键单击窗体任何位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中 已经给出了全部控件,但程序不完整。 要求:请去掉程序中的注释符,把程序中的 “?”改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。 国家二级 VB机试(上机操作)模拟试卷 359答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:新建一
6、个 “标准 EXE”工程,表 4-77在窗体中用 “复制 ”和 “粘贴 ”画出控件数组并设置属性。步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个 “标准 EXE”工程,在窗体 Form1中画一个名为 Sha1的形状控件。 步骤 2:选择【工具】 【菜单编辑器】命令,打开菜单设计器,如表 4 78所示,设置建立菜单项。步骤 3:打开代码编辑窗口,编写菜单命令的单击事件过程。参考代码: PriVate Sub Shape1_Click()Me Shal Shape=1End SubPriVate Sub Shape2_Click()Form1 Shal=3End Sub 步骤
7、 4:按要求将文件保存至考生文件夹中。 【试题解析】 (1)本题只需按题目要求画出含三个元素的按钮数组,并分别设置Caption属性。 (2)要实现本题中的功能,应在 “正方形 ”菜单项的 Click事件过程中,令 Shal的Shape属性为 1,在 “圆形 ”菜单项的 Click事件过程中,令 Shal的 Shape属性为3。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?“改为正确的内容。参考代码: Command1 Caption=“继续 “ Command1 Enabled=F
8、alse Command1 Enabled=True HScroll1 Value=HScroll1 Value+10 HSCrolll Value=HScroll1 Min 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: stl=Trim(Text1 Text) st2=st2 & Mid(stl, n+1, 1) Text2 Text=st2 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 (1)题目中设置 了一个定时器,定时器启动后
9、周期性的移动水平滚动条,可在定时器的 Timer事件处理过程中,设置水平滚动条的 Value属性,Value属性值增大则滚动条往右移动。 第一个 “?”处是补充 “开始 ”命令按钮的事件处理过程代码,根据题目要求,点击“开始 ”按钮后该按钮的标题变成 “继续 ”,即 Caption属性设置为 “继续 ”;同时,“开始 ”按钮变成不可用,即 Enabled属性设置为 False;第三个 “?”处是设置Command1命令按钮变成可用,即 Enabled属性设置为 True;第四个和第五个“?”处是设置水平滚动 条的 Value属性,在 Value属性没有到达最大值之前,在每次定时器的 Timer
10、事件过程中增加 10,如果到了最大值则回到最左边,即把Value值设置为最小。 (2)题目要求对单词进行转换,即单词首字母变成大写。分析代码可知,在命令按钮的事件处理过程中,首先获取需要转换的文本内容,即 Text1文本框内容;然后对第一个单词的首字母 (即文本内容的第一个字母 )转换成大写;接下来通过循环查找其他单词,通过 Mid函数从 stl里面逐个取出字母,判断是否是空格,如果不是则把下一个字母添加到 st2中;如果是空格,表明下一个字 母是单词首字母,需要把下一个字母转换成大写再添加到 st2中。最后一个 “?”处是把 st2显示在 Text2文本框中。 三、综合应用题 3 【正确答案
11、】 步骤 1:打开考生文件下的本题工程文件 sjt5 vbp,在代码编辑窗口,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: stepx=U stepy=a*stepx Timerl Enabled=True Timerl Enabled=False Shape1 Move Shape1 Left+stepx, Shape1 Top+stepy 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 本题在窗体的鼠标按下事件过程中,若按下的是鼠标左键,则通过计算得出圆心的坐标。若圆心与当前鼠标按下点位于同一竖线上时 (即 x=x0),则设定实心圆纵向移动增量为 stepy
12、=Sgn(y-y0)*50,横向移动增量则为 0(即stepx=0);否则设定实心圆横向移动增量为 stepx=Sgn(x-x0)*50,并根据斜率 a计算出纵向移动增量: stepy=a*stepx,若计算出的纵向移动增量 stepy绝对值大于横向移动增量绝对值 stepx,则重新设 定实心圆纵向移动增量为 stepy=Sen(y-y0)*50,计算出横向移动增量 stepx=stepy a,以防止实心圆移动速度不均。启动计时器 Timerl(设置其 Enabled属性值为 True),利用其 Timer事件过程控制实心圆移动。 根据计算出的实心圆横向移动增量和纵向移动增量,其移动的语句为:Shape1 Move Shape1 Left+stepx, Shape 1 Top+stepy。