国家二级VB机试(上机操作)模拟试卷297
基本操作题
1.请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。
(1)在名称为Form1、标题为“标签”的窗体上画一个名称为Label1的标签,并设置适当属性以满足以下要求:
①标签的内容为“计算机等级考试”;
②标签可根据显示内容自动调整其大小;
③标签带有边框,且标签内容显示为三号字。
运行后的窗体如图3—122所示。
注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。
(2)在名称为Form1的窗体上画一个名称为Hscroll1的水平滚动条,其刻度范围为1~100;再画一个名称为。Text1的文本框,初始内容为1。程序开始运行时,焦点在滚动条上。请编写适当的事件过程,使得程序运行时,文本框中实时显示滚动框的当前位置。运行情况如图3—123所示。
注意:要求程序中不得使用变量,每个事件过程中只能写一条语句。
存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
第1小题
步骤1:新建一个“标准ExE”工程,在窗体Form1中画一个标签,并设置它的相关属性,其属性和值如表4—72所示。
[*]
步骤2:按要求将文件保存至考生文件夹中。
第2小题
步骤1:新建一个“标准EXE”工程,在窗体Form1中画一个文本框和一个水平滚动条,在属性设置窗口中设置其相关属性,其属性及值如表4—73所示。
[*]
步骤2:打开代码编辑窗口,编写水平滚动条的Change事件过程。
参考代码:
Private Sub HScroll1_Change()
Text1.Text=HScroll1.Value
End Sub
步骤3:按要求将文件保存至考生文件夹中。
解析:第1小题:本题只需按要求画出控件并设置其相应属性即可。
第2小题:根据题意,本题需在滚动条的Change事件过程中编写在义本框中输出滚动条当前Value值的语句。
简单应用题
2.(1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有名称为Timer1的定时器,以及名称为Line1和Line2的两条水平直线。请用名称为Shape1的形状控件,在两条直线之间画一个宽和高都相等的形状,其显示形式为圆,并设置适当属性使其满足以下要求:
①圆的顶端距窗体Form1顶端的距离为360;
②圆的颜色为红色(红色对应的值为&H000000FF&或&HFF&),如图3—124所示。
程序运行时,Shape1将在Line1和Line2之间运动。当Shape1的顶端到达Line1时,会自动改变方向而向下运动;当Shape1的底部到达Line2时,会改变方向而向上运动。
文件中给出的程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容,使其实现上述功能。
注意:不能修改程序的其他部分和已给出控件的属性。最后将修改后的文件按原文件名存盘。
(2)在考生文件夹下有一个工程文件sjt4.vbp,包含了所有控件和部分程序,如图3—125所示。程序功能如下:
①单击“读数据”按钮,可将考生文件夹下in4.dat文件中的100个整数读到数组a中;
②单击“计算”按钮,则根据从名称为Combo1的组合框中选中的项目,对数组a中的数据计算平均值,并将计算结果四舍五入取整后显示在文本框Text1中。“读数据”按钮的Click事件过程已经给出,请为“计算”按钮编写适当的事件过程实现上述功能。
注意:不得修改已经存在的控件和程序,在结束程序运行之前,必须进行一次计算,且必须用窗体右上角的关闭按钮结束程序,否则无成绩。最后,程序按原文件名存盘。
第1小题
步骤1:打开考生文件下的本题工程文件sjt3.vbp,在窗体上两条水平直线间画一个形状控件,并如表4—74设置其属性。
[*]
步骤2:在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。
参考代码:
Timer1.Enabled=True
If]]Shape1.Top)<=Lin1.Y1 Then
If Shape1.Top+Shape1.Height>=
Lin2.Y1Then
步骤3:按要求将文件保存至考生文件夹中。
第2小题
步骤1:打开考生文件夹中的本题工程文件sjt4.vbp,在代码编辑窗口,编写“计算”按钮的单击事件过程以及三个自定义过程。
参考代码:
Private Sub Command2_Click()
Select Case Combo1.ListIndex
Case0
Text1=even()
Case1
Text1=odd()
Case2
Text1=all()
End Select
End Sub
Function even()
Dim s As Single,n As Integer
s=0
For k=1To100
If a(k)/2=Fix(a(k)/2)Then
s=s+a(k)
n=n+1
End If
Next
s=s/n
even=CInt(s)
End Function
Function odd()
Dim s As Single.n As Integer
s=0
For k=1To100
If a(k)/2<>Fix(a(k)/2)Then
s=s+a(k)
n=n+1
End If
Next
s=s/n
odd=CInt(s)
End Function
Function all()
Dim s As Single,n As Integer
s=0
For k=1To100
s=s+a(k)
Next
s=s/100
all=CInt(s)
End Function
步骤2:按<F5>键运行程序,先单击“读数据”按钮,然后选择组合框中的一项再单击“计算”按钮,最后单击窗体右上角的关闭按钮结束程序。
步骤3:按要求将文件保存至考生文件夹中。
解析:第1小题:本题在计时器的Timer事件过程中,Shape1每次上下移动的距离为s(值为负向上移动,值为正向下移动,初值为-40),若Shape1向上移动后其Top属性值小于或等于Line1的Y1(或Y2)属性值,则s取其相反数,Shape1向下移动。若Shape1向下移动后其Top属性值与其Width属性值之和大于或等于Line2的Y1
本文档预览:3600字符,共4950字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载