1、(A)二级 VISUAL+BASIC 笔试-10 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:40.00)1.在名称为 Form1 的窗体上添加一个名称为 L1 的标签,标签上标题为“请输入密码”,添加一个名称为Text1 的文本框,其宽、高分别为 2000 和 300,设置适当的属性,使得在输入密码时,文本框中显示为“*”字符,此外再把窗体的标题设置为“密码窗口”,以上这些设置都必须在属性窗口中进行,程序运行时的窗体如图所示。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1.vbp,窗体文件名保存为 sit1.frm。(分数:20.0
2、0)_2.在名称为 Form1 的窗体上添加一个名称为 P1 的图片框,请编写适当的事件过程,使得程序在运行时,每单击一次图片框,就在图片框中输出“单击图片框”,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”,运行时的窗体如图所示。要求在程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt2.vbp,窗体文件名保存为 sjt2.frm。(分数:20.00)_二、简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有一个工程文件 sjt3.vbp,窗体中有两个图片框,名称分别为 P1、P2,其中的图片内容分别是一架航天飞机和
3、一朵云彩,一个命令按钮,名称为 C1,标题为“发射”,还有一个计时器,名称为 Timer1。并给出了两个事件过程,但并不完整,要求:设置 Timer1 的属性,使其在初始状态下不计时:设置 Timer1 的属性,使其每隔 0.1 秒调用 Timer 事件过程一次;去掉程序中的注释符,把程序中的?改为正确的内容,使得在运行时单击“发射”按钮,则航天飞机每隔 0.1 秒向上移动一次,当到达 P2 的下方时停止移动,如图所示。(分数:20.00)_4.在考生文件夹下有一个工程文件 sjt4.vbp,运行情况如图所示。程序的功能是计算下列表达式的值:z=(x+2)2+(x+3)3+(x+4)4+(x+
4、N)N其中 N 和 x 的值通过键盘分别输入到文本框 Text1、Text2 中。之后如果单击标题为“计算”、名称为Command1 的命令按钮,则计算表达式的值 z,并将计算结果显示在名称为 Label1 的标签中。在给出的窗体文件中已经添加了全部控件和程序,但程序不完整。要求去掉程序中的注释符,把程序中的?改为正确的内容。注意:考生不得修改窗体文件中已经存在的程序。程序中不得使用运算符,而应使用函数 xn 进行幂运算。程序至少运行一次,按照下图输入数据,使 X=10,N=5,单击“计算”按钮,计算 Z 的值,并将结果显示在标签 Label1 中,否则没有成绩。最后,程序按原文件名存盘。(分
5、数:20.00)_三、综合应用题(总题数:1,分数:20.00)5.在考生文件夹中有一个工程文件 sjt5.vbp。该程序的功能是从 in5.txt 文件中读入 40 个数据,统计这些数据中素数的个数,并找出所有素数中最小的素数(判断素数的函数已给出)。最后将查找和统计的结果分别显示在标签 Label4 和 Label3 中(窗体外观如图所示)。程序不完整,请在指定的位置把程序补充完整。注意:不得修改原有程序和控件的属性。程序结束运行之前,必须至少正确运行一次程序,将统计的结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。(分数:20.00)_(A)二级 VISUAL+BASIC
6、 笔试-10 答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:40.00)1.在名称为 Form1 的窗体上添加一个名称为 L1 的标签,标签上标题为“请输入密码”,添加一个名称为Text1 的文本框,其宽、高分别为 2000 和 300,设置适当的属性,使得在输入密码时,文本框中显示为“*”字符,此外再把窗体的标题设置为“密码窗口”,以上这些设置都必须在属性窗口中进行,程序运行时的窗体如图所示。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1.vbp,窗体文件名保存为 sit1.frm。(分数:20.00)_正确答案:(操作步骤步骤 1:新
7、建一个窗体,按照要求建立控件并设置其属性,如图所示。程序中用到的控件及属性如表所示。控件 文本框 标签 窗体属性 Name HeightPassword CharWidthNameCaptionCaption设置值 Text1300 * 2000 L1 请输入密码 密码窗口步骤 2:调试并运行程序,效果如图所示。)解析:考点 本题考点有:窗体的 Caption 属性,文本框的 Name、Height、Password Char 和 Width 属性以及标签的 Caption 和 Name 属性。通过标签的 Caption 和 Name 属性设置标题和名称;通过文本框 Name、Height、P
8、assword Char 和 Width属性分别设置文本框的名称、高度、显示“*”字符和宽度;通过窗体 Caption 属性设置窗体的标题“密码窗口”。2.在名称为 Form1 的窗体上添加一个名称为 P1 的图片框,请编写适当的事件过程,使得程序在运行时,每单击一次图片框,就在图片框中输出“单击图片框”,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”,运行时的窗体如图所示。要求在程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt2.vbp,窗体文件名保存为 sjt2.frm。(分数:20.00)_正确答案:(操作步骤步骤 1:
9、新建一个窗体,按照题目要求建立控件并设置其属性,如图所示。)解析:考点 本题考点有:图片框的 Name 属性、Print 方法和 Click 事件以及窗体的 Print 方法和Click 事件。通过图片框 Name 属性设置图片框的名称,运用图片框 Print 方法,使图片框上显示字符,运用窗体Print 方法,使窗体上显示字符。二、简单应用题(总题数:2,分数:40.00)3.在考生文件夹下有一个工程文件 sjt3.vbp,窗体中有两个图片框,名称分别为 P1、P2,其中的图片内容分别是一架航天飞机和一朵云彩,一个命令按钮,名称为 C1,标题为“发射”,还有一个计时器,名称为 Timer1。
10、并给出了两个事件过程,但并不完整,要求:设置 Timer1 的属性,使其在初始状态下不计时:设置 Timer1 的属性,使其每隔 0.1 秒调用 Timer 事件过程一次;去掉程序中的注释符,把程序中的?改为正确的内容,使得在运行时单击“发射”按钮,则航天飞机每隔 0.1 秒向上移动一次,当到达 P2 的下方时停止移动,如图所示。(分数:20.00)_正确答案:(操作步骤步骤 1:按题目要求打开工程文件,设置计时器属性,如图所示。)解析:考点 本题考点有:计时器控件的 Enabled 和 Interval 属性,图片框的 Move 方法,图片框的Height、Width、Top 和 Left
11、属性以及命令按钮的 Caption 属性,If 判断语句。工程文件中已建立全部控件,只需编写事件过程即可。Timer1 控件的 Interval 属性用来控制计时器事件发生的时间间隔,通过题意可知,该属性设置为 100(Interval 是以毫秒为单位)。当单击“发射”按钮时开始计时,将计时器控件的 Enabled 属性设置为 True。如果使航天飞机即 P1 停止移动,则将计时器控件的 Enabled 属性设置为 False。4.在考生文件夹下有一个工程文件 sjt4.vbp,运行情况如图所示。程序的功能是计算下列表达式的值:z=(x+2)2+(x+3)3+(x+4)4+(x+N)N其中 N
12、 和 x 的值通过键盘分别输入到文本框 Text1、Text2 中。之后如果单击标题为“计算”、名称为Command1 的命令按钮,则计算表达式的值 z,并将计算结果显示在名称为 Label1 的标签中。在给出的窗体文件中已经添加了全部控件和程序,但程序不完整。要求去掉程序中的注释符,把程序中的?改为正确的内容。注意:考生不得修改窗体文件中已经存在的程序。程序中不得使用运算符,而应使用函数 xn 进行幂运算。程序至少运行一次,按照下图输入数据,使 X=10,N=5,单击“计算”按钮,计算 Z 的值,并将结果显示在标签 Label1 中,否则没有成绩。最后,程序按原文件名存盘。(分数:20.00
13、)_正确答案:(操作步骤步骤 1:打开本题工程文件。步骤 2:分析并编写程序代码。参考答案Private Function xn(a As Single,m As Integer)Dim i As Integertmp=1For i=1 To mtmp=tmp* a 求 ai的结果Nextxn=tmp 返回计算结果End FunctionPrivate Sub Command1_Click()Dim n As IntegerDim i As IntegerDim t As SingleDim s, x As Singlen=Val(Text1.Text) 将数字字符转换为数值x=Val(Tex
14、t2.Text) 读取 n.x m 值z=0For i=2 To nt=x+iz=z+xn(t,i) 调用 xn 函数求 tiNextLabel1.Caption=z 将结果显示在 Label1Call SaveResultEnd SubPrivate Sub SaveResult()Open App.Path “/out4.dat“For Output As # 1Print #1, Label1.CaptionClose #1End Sub步骤 3:按照题目要求调试并运行程序,如图所示。)解析:考点 本题考点有:标签的 Caption 属性、Function 过程、Val()函数、Call
15、 语句、Sub()函数、文件操作(Open、Close、Output)、App.Path 相对路径以及 For 循环语句。通过 For 循环语句实现 xn()的幂运算;Click 事件过程中通过 Val()函数实现字符类型向数值型的转换,通过循环语句及调用 xn()函数,获得函数返回值,实现表达式的运算结果;运用 Call 语句调用SaveResuh 函数对结果进行保存,涉及文件的 Open、Close 和 Output 操作,最后将结果保存在文件夹下的 out4.dat 文件中。对于 xn(t,i)函数调用的理解,弄清楚两个变量各代表的函数值的意义,正确调用函数。三、综合应用题(总题数:1,
16、分数:20.00)5.在考生文件夹中有一个工程文件 sjt5.vbp。该程序的功能是从 in5.txt 文件中读入 40 个数据,统计这些数据中素数的个数,并找出所有素数中最小的素数(判断素数的函数已给出)。最后将查找和统计的结果分别显示在标签 Label4 和 Label3 中(窗体外观如图所示)。程序不完整,请在指定的位置把程序补充完整。注意:不得修改原有程序和控件的属性。程序结束运行之前,必须至少正确运行一次程序,将统计的结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。(分数:20.00)_正确答案:(操作步骤步骤 1:打开本题工程文件。步骤 2:分析并在适当位置编写程序
17、代码。参考答案Dim a As IntegerDim b As Integera=0b=arr(1)For i=1 To 40 确定素数个数If prime(arr(i)Then 判断是否为素数a=a+1 素数个数累加Label3.caption=a 在标签中显示NextFor i=1 To 40 查找最小素数If prime(arr(i)And arr(i) =bThen 比较素数大小b=arr(i) 将较小素数赋给 bLabel4.Caption=b 在标签中显示Next步骤 3:按照题目要求调试并运行程序,效果如图所示。)解析:考点 本题考点有:标签的 Caption 属性,Int()函
18、数,Sqr(x)函数,Function 过程,文件操作(Open、Close、Input),App.Path 相对路径,数组以及变量的定义。除了 1 和它本身以外,不再有别的约数,这种整数叫做素数。判别某数 m 是否是素数的经典算法是:对于m,依次判别能否被 I(I=2,3,4m-1)整除,只要有一个能整除,m 就不是素数,否则 m 是素数。本题需统计数据中素数的个数和所有素数中的最小素数。自定义函数过程 prime 用来判断是否为素数,返回True 则为素数,反之则为非素数,通过对返回值的判断确定素数,并进行个数统计及查找最小值。prime()过程的函数返回值确定,调用过程中,变量为数组元素。