1、国家二级 VB机试(上机操作)模拟试卷 369及答案与解析 一、基本操作题 1 (1)在名称为 Form1的窗体上画一个文本框,名称为 Text1,内容为 “VB程序设计 ”;再画两个命令按钮,其名称分别为 Command1和 Command2,标题分别为 “扩大 ”和 “缩小 ”,如图 3 93所示,编写适当的事件过程。程序运行后,每单击Command1命令按钮一次,文本框中文本的字体扩大 1 2倍;每单击 Command2单选按钮一次,文本框中文本的字体缩小 1 2倍。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjtl vbp,窗体文件名为 sjtl frm。(2)在名称为 Fo
2、rm1的窗体上画一个列表框,其名称为 List1,通过属性窗口向列表框中输入 9个项目,分别为 10、 20、 30、40、 50、 60、 70、 80、 90;画一个文本框,其名称为 Text1,初始内容为空白;再画一个水平滚动条,其名称为 HScroll1, Min属性和: Max属性分别为 O和 100,如图 3 94(a)所示,编写适当的事件过程。程序运行后,如果单击列表框中的某个项目,则在文本框中显示该项目内容,并把滚动条的滚动框移到相应的位置,如图394(b)所示。要 求:不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2
3、 frm。 二、简单应用题 2 (1)在考生文件夹中有工程文件 sjt3 vbp,程序界面如图 3-3所示。当在文本框中输入正整数 N,单击 “计算 ”命令按钮,进行计算。若 N是奇数,计算l+3!+5!+N! ,若 N是偶数,计算 1+3!+5!+(N+1)! 。在给出的窗体文件中已经有了全部控件,但程序不完整,要求去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:考生不得修改窗体文件中已经 存在的程序。最后程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4 vbp,该程序的功能是显示月历。运行程序后,在 Text1、 Text2中分别输入年份和月份,并在左边的框架中
4、选择该年的 1月 1日是星期几,然后单击 “显示月历 ”按钮,即可在下面的图片框内显示该年该月的月历。如图 3-4所示的是 2008年 2月份的月历。请将事件过程中的注释符去掉,把 “?”改为正确的内容,以实现上述程序功能。注意:不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。 三、综合应用题 3 在考生目录下 有一个工程文件 sjt5 vbp。窗体左边的图片框名称为 Picture1,框中还有六个小图片框,它们是一个数组,名称为 Pic,在窗体右边从上到下有三个显示不同物品的图片框,名称分别为 Picture2、 Picture3、 Picture4,还有一个文本框 Te
5、xt1以及四个标签,如图 3 50(a)所示。 程序运行时,可以用鼠标拖拽的方法把右边的物品放到左边的图片框中 (右边的物品不动 ),同时把该物品的价格累加到Text1中,如图 3 50(b)所示。最多可放六个物品。 实现此功能的方法是:程序刚运行时, Picture1中的图片框数组不显示,当拖拽一次物品时,就显示一个图片框数组元素,并在该图片框数组元素中加载相应的图片,产生物品被放入的效果。 文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 “?”改为正确的内容。 注意:不得修改已经存在的内容和控件属性,最后把修改后的文件按原文件名存盘。国家二级 VB机试(上机
6、操作)模拟试卷 369答案与解析 一、基本操作题 1 【正确答案】 (1)步骤 1:新建一个 “标准 EXE”工程,在窗体 Form1中加入一个文本框和两个命令按钮,其相关属性设置如表 4 58所示。步骤 2:打开代码编辑窗口,输入如下代码。参考代码: Private Sub Command1_Click()Text1 FontSize=Text1 FontSize*1 2End SubPrivate Sub Command2_Click()Text1 FontSize=Text1 FontSize 1 2End Sub 步骤 3:按要求将文件保存至考生文件夹中。 (2)步骤 1:新建一个 “
7、标准 EXE”工程,在窗体上画一个列表框、一个文本框和一个水平滚动条,按表 4 59设置其相关属性。步骤 2:在打开的代码编辑窗口中,编写列表框的单击事件代码。参考代码: Private Sub List1_Click()Text1 Text=List1 TextHScroll1 Value=Val(List1 Text)End Sub 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 (1)要实现题目要求的功能,只需在两个命令按钮的 Click事件过程中,分别设置文本框的 FontSize属性为指定值。 (2)列表框的 Text属性用于返回列表框中选择的项目的内容,返回值总与列表框的
8、 List(List1ndex)属性的返回值相同。本题需要在列表框的属性窗口中输入列表框中的项目,然后在列表框的单击事件中将选定项赋值给文本框和滚动条的 value属性。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开考生文件夹中的本题工程文件 sjt3 vbp,在代码编辑窗口中,去掉程序中的注释符 “,将问号 “?”改为正确的内容。参考代码: m=n+1 m=n For i=1 To m Step 2 sum=sum+f(i) For i=1 To x 步骤 2:按要求将文件保存至考生文件夹中。 (2)步骤 1:打开考生文件夹中的本题工程文件 sjt4 vbp,在代码编辑窗口中,去掉
9、程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: month_day8(2)=IIf(leap_year(year), 2 9, 28) For k=1 To month-1 n=0 Private Function leap_year(year As Integer) As Boolean 步骤 2:按要求将文件保存至考生文件夹中。 【试题解析】 (1)题目要求计算一个数列的和,数列中的每一项是一个整数的阶乘,可通过循环来计算阶乘之和。代码设计了一个 Sub过程和函数 f,在 Sub过程中,首先获取文本框输入值 n,然后判断 n是否是偶数,根据题目要求,如果输入的 n是偶数则加
10、 1,否则不需要加 1,接下来通过 for循环来计算累加和 SHIn。第一个 If用来判断输入的 n是否是偶数,并赋值给变量 m,如果 n是偶数则m=n+1,否则 m=n:第三个 “?”处是补充循环的步长 Step值,题目要求计 算奇数的阶乘 2,每一项之间的差值为 2,因此 For循环的 Step值为 2;第四个 “?”处是计算累加和,通过调用函数 f来计算阶乘,因此第四个 “?”处为 sum=sum+f(i);最后一个 “?”处是补充计算阶乘的 For循环 Step值,显然是 1。 (2)题目要求计算月历,具体计算的方法是将 1月到当前选中月之前一个月的总天数,再根据 1月 1日是星期几就
11、可以得到当前月的星期情况。 数组 month_days保存的是 1-12月的每月的天数,其中 2月比较特殊,需要区分是否是闰年。函数 Leap_year用于判断是否是 闰年,如果是闰年返回布尔True。第一个 “?”处是判断当前年份是否是闰年,如果是闰年的话 2月是 29天,使用 IIf来判断,如果 Leap_year返回 True,则 month_days(2)值是 29,否则month_days(2)的值是非闰年的 2月天数,即 28;第二个 “?”处的循环是计算从 1月到选择月的前一个月 (month-1)的总天数;第三个 “?”处的循环用于输出月历,循环打印 k的值,每循环一次 n加
12、1,当 n的值为 7的时候输出换行,因此第三个“?”处是将 n赋值为 0,开始下次计数;最后一个 “?”处是补充函数参数,根 据函数体内部实现 “leap year=(ygar Mod 4=0 And year Mod 1000 Or year Mod 400=0)”,可知输入参数是 year。 三、综合应用题 3 【正确答案】 步骤 1:打开考生文件夹下的工程文件 sjt5 vbp。 步骤 2:在代码编辑窗口中,去掉程序中的注释符 “”,将问号 “?”改为正确的内容。参考代码: Select Case Source Name For k=0 To 5 If Pic(k) Visible=Fa
13、lse Then Pic(k) Visible=True Text1=Text1+a 步骤 3:按要求将文件保存至考生文件夹中。 【试题解析】 控件的 DragDrop事件有三个主要参数,其中, “Source”参数是一个对象变量,类型为 “Control”,包含被拖动对象的属性, “X”和 “Y”参数是放下对象时鼠标光标的位置。本题中为了判断拖动的是哪一个图片,因此需要判断Source参数的 Name属性。当拖动的图片确定,则在控件数组中显示的图片以及需要累加的价格也随之确定。 由于控件数组共有 6个数组元素,因此应该在拖放事件中 进行一个 6次的循环,在每次循环中判断数组元素是否已经被显示出来,如果没有被显示出来则令其 Visible属性为 True,然后退出循环,这样可以实现序号由小到大每次显示一个图片的效果。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1