1、 .2010年市高等学校计算机等级考试试卷二级 Visual Basic程序设计(考试时间120分钟-A卷)一、单项选择题(共15分,每题1分)1.是合法的变量名。 AA. X_yzB. 123abcC.IntegerD. X-Y 2.Rnd函数不可能的返回值是。AA.1B.0C.0.0001D.0.99993.要将一个值传递给子过程A的m参数,并通过n参数返回一个结果,子过程定义中正确的是。 BA. Sub A(ByVal m!, ByVal n!) B. Sub A(ByVal m!, ByRef n!) C. Sub A(ByVal m!, ByRef (n+1)!) D. Sub A(
2、ByVal m+1, ByVal n+2) 4.能在窗体Form1的标题栏中显示“VisualBasic窗体”的语句是_。CA. Form1.Name=VisualBasic窗体B.Form1.Title=VisualBasic窗体C. Form1.Caption=VisualBasic窗体D.Form1.Text=VisualBasic窗体5.在用通用对话框控件建立打开文件对话框时,在文件列表框中只允许显示jpg图像类型的文件,则Filter属性的正确设置是。DA.Picture(.jpg)|*.jpg B.Picture(.jpg)(*.jpg)C.图片文件|(.jpg)D.图片(.jpg
3、)|*.jpg6. 关于多重窗体程序的表达中,错误的是_。 CA.用Hide方法隐藏窗体,用Show方法显示窗体B. 可以根据需要指定启动窗体C. 若各窗体都建立了一个文本框控件(TextBox),它们的Name不能相同D.若各窗体都有菜单,则各菜单是彼此独立的7. 按照结构化程序设计的要求,语句是非结构化程序设计语句。 CA.If 语句 B.For 语句C.GoTo语句 D.Select Case语句8.同一个窗体中,各个对象的_属性值是不同的,它用于唯一识别对象。A. LocationB. NameBC.Size TextD. Select Case语句9.有一个名为Menu1菜单项,为了
4、在运行时使该菜单项失效(变灰),应使用的语句为_。A. Menu1.Enabled=False B. Menu1.Enabled=True C. Menu1.Visible=True D. Menu1.Visible=False A10.要暂时关闭定时器,应把定时器的_属性设置为False。A. Visible B. Timer C. Enabled D. Interval C11.在VB中,属于方法的是。AA.SetFocusB.LostFocusC.KeyPressD.SelectedText12.使用Dim A(100) As Single 语句声明了数组A,A数组的下标取值围是_。BA
5、. 099B. 0100C. 199D. 110013.列表框List1中已有5个列表项,要删除列表框List1最后一项, _语句是正确的。AA.List1.RemoveItem List1.ListCount - 1B.List1.RemoveItem 5C.List1. RemoveList1.ListCount - 1D.List1.Remove 514.要向D盘根目录下的名为data.txt的顺序文件中添加容,应先使用_语句打开文件。BA.Open data.txt For Append As #1B.Open D:data.txt For Append As #1C.Open dat
6、a.txt For Output As #1D. Open D:data.txt For Output As #115.要使文本框输入的字符均显示为*,则设置_。 DA.Visible属性为*B.Name属性为*C.Text属性为*D.PassWordChar属性为*二、程序调试题(共20分, 每错2.5分,第1题有2处错,第2题3处错,第3题3处错)启动工程文件C:kscxts1.vbp,程序存在8处错误,请调试改正,并按原文件名和位置保存。正确结果见样例cxts1.exe。改错方法:不能修改或重新定义变量,不允许增加或删除语句,但可以修改语句,所修改的语句必须在句尾加上注释标记 *。调试改
7、错题1, 程序中有2个错误。 以下程序的功能是在文本框中输入百分制成绩,单击按钮后,在标签上显示成绩等第,分优秀、合格和不合格,规定:成绩80为优秀;60成绩80为合格;成绩=8 s = 优秀 Case 6 To 7 s = 合格 Case Else s = 不合格 End Select Label1.Text = 成绩等第为: + sEnd Sub正确答案:Case Is = 8 或 8 To 10 或8,9,10Label1.Caption 或 Label1调试改错题2, 程序中有3个错误。单击“调试改错题2”按钮,在Picture1显示有规律数字字符和字母字符图,见样例。Private
8、Sub Command2_Click() Dim ch$,i%,j% Picture1.Cls For i = 1 To 5 Ch = Trim(i) For j = 1 To 5 输出数字字符 Picture1.Print Ch; Next j Picture1.Print Space(3); For j = i To 5 输出字母字符 Picture1.Print Chr(65); Next j Picture1.Print Next jEnd Sub正确答案:For j = 1 To iPicture1.Print Chr(i+64); Next i调试改错题3, 程序中有3个错误。单击
9、“调试改错题3”按钮,自动产生两个 5999 之间的随机正整数a,b,在Text2显示较小的数a,Text3显示较大的数b。计算a到b之间的偶数和,结果显示在Label3。 Private Sub Command2_Click()Dim a%, b%, c%, i%a = Int(Rnd * 995 + 5) b = Int(Rnd * 995 + 5) If a b Then t = b: a = b: b = t End If Text1 = a Text2 = b s = 1 For i = a To b If Mod(i,2)=0 Then s = s + i Next i Label
10、3 = Sum= & sEnd Sub正确答案:t=aS=0 i mod 2 = 0三、程序填空题(共30分,每空2 .5分)1按公式,求累加和s不超过1000的最大项数n。要求每行显示每个n的累加和如下图,并将全部结果保存在c:data.txt中。Private Sub Form_Click() Dim n%, s$ n = 1 s = (1) Print N, S Do While ( (2) ) s = s + n * n Print n, s n=n+1 Loop Print 累加和不超过1000的最大项数n=; n - 2 Open c:jg.txt For (3) As #1Pri
11、nt #1, n=; n - 2Close #1End Sub答案:(1)0(2)s 1000(3)Output2. 以下程序段的功能是:在一个字符串变量str1中查找子串变量str2中出现的个数,并显示是否找到与查找到的结果。样例为查找子串at出现的个数为2个。Private Sub Form_Click() Dim str1$, str2$, cd1%, cd2%, n%, i% str1 = Text1.Text str2 = Text2.Text cd1 = Len(str1) cd2 = Len(str2) i = 1 n = 0 Do While i 03.以下程序段的子过程Rig
12、htShift的功能是:将一维字符数组s中的元素循环右移一位并输出变动后的结果。Command1_Click()事件过程通过键盘输入右移位数,调用子过程RightShift完成对给定的字符数组元素循环右移,样例为右移3次的结果。Private Sub Command1_Click() Dim i%, m%, a()a = Array(A, B, C, D, E, F, G, H) Print 原始顺序为: ; For i = 0 To UBound(a) Print a(i) & ; Next i Print_(1)_= InputBox(请输入右移位数:) For i = 1 To m Pr
13、int 第 & i & 次右移后:; Call_(2)_ Next iEnd SubSub RightShift(ByRef s() Dim Last$, i%, n% n =_(3)_ Last = s(n) For i = n To 1 Step -1 逐位右移 s(i) = _(4)_ Next i s(0) = _(5)_ For i = 0 To n 显示右移后的结果 Print s(i) & ; Next i PrintEnd Sub答案:(1)m (2)RightShift(a)(3)UBound(s) (4)s(i - 1)(5)Last四、编程题(35分)1参见样例,在For
14、m1窗体上放置2个列表框。建立如下菜单:菜单项菜单名备注应用Menu1一级菜单产生Menu11二级菜单计算Menu12二级菜单-bar分隔线完毕Menu13二级菜单绘图Menu2一级菜单在Form2上,放置“绘图”和“返回”2个命令按钮。2单击“产生”菜单项,在列表框List1中随机生成10个3位正整数。单击“计算”菜单项,在列表框List2中显示List1各数据项每位数之和。3单击“绘图”菜单项时,显示窗体2,并隐藏窗体1;单击完毕菜单项时,完毕程序的运行。4在窗体2上单击“绘图”命令按钮,定义窗体坐标系(-1, 60)-(20, -60),绘制坐标轴线;按公式y = (3 * Sin(x) + Cos(5 * x) * 20绘制直线(0 x 20)。单击“返回”命令按钮则关闭窗体2,显示窗体1。5在C:KS 目录下将工程保存为bct1.vbp、Form1窗体为bct11.frm、Form 2窗体为bct12.frm。7 / 7