首页 浙江省历年vb二级考试试题

浙江省历年vb二级考试试题

举报
开通vip

浙江省历年vb二级考试试题浙江省历年vb二级考试试题 2005年春浙江省高等学校 计算机等级考试试卷(二级Visual BASIC) 试题一、判断题(每小题1分,共10分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (1) VB的Double类型的数据,可以精确表示其数值范围内的所有实数。 (2) 事件过程可以由某个用户事件触发执行,它不能被其他过程调用。 (3) 函数MsgBox的前三个参数,分别为图标样式、按钮样式以及默认按钮。 (4) 在窗体或模块文件中声明为Private的过程,只能被本窗...

浙江省历年vb二级考试试题
浙江省历年vb二级考试试 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 2005年春浙江省高等学校 计算机等级考试试卷(二级Visual BASIC) 试题一、判断题(每小题1分,共10分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (1) VB的Double类型的数据,可以精确表示其数值范围内的所有实数。 (2) 事件过程可以由某个用户事件触发执行,它不能被其他过程调用。 (3) 函数MsgBox的前三个参数,分别为图标样式、按钮样式以及默认按钮。 (4) 在窗体或模块文件中声明为Private的过程,只能被本窗体或模块中的过程所调用。 (5) 在自定义函数过程中,函数名必须被赋值。 (6) 列表框控件,只能设置为单选。 (7) 语句“Shape1.FillStyle=vbSolid”和“Shape1.FillStyle=0”作用相同。 (8) 通用对话框的FillName属性,返回的是一个输入或选取的文件全名。 (9) 当一个菜单项不可见时,其后的菜单项就会填充留下来的空位。 (10) 在Open语句中用Append方式所打开的文件若不存在,则创建该文件。 试题二、单选题(每小题2分,共20分) (11) VB算术运算符乘或除、整除、求余的优先级,从高到低依次为 (11) 。 [A] 乘或除、求余、整除 [B] 乘或除、整除、求余 [C] 整除、求余、乘或除 [D] 整除、乘或除、求余 表达式 (12) 可以计算整型变量x的位数。 (12) [A] Len(Trim(Str(Abs(x)))) [B] Len(Abs(x)) - 1 [C] Len(Abs(x)) [D] Len(Trim(Int(x))) (13) 函数InStr("windowse", Mid("winnt", 2, 2))的返回值是 (13) 。 [A] 0 [B] 1 [C] 2 [D] 3 (14) 将文本框控件的 (14) 属性设置为False,可正常显示文本但不可编辑。 [A] Locked [B] Enabled [C] MultiLine [D] Visible (15) 执行下列语句后,列表框中各表项顺序为 (15) 。 List1.Clear For i = 1 To 4: List1.AddItem i - 1, 0: Next i [A] 0、0、0、0 [B] 1、2、3、4 [C] 0、1、2、3 [D] 3、2、1、0 (16) 滚动条控件的 (16) 属性用于指定用户单击滚动箭头时Value属性值的增量。 [A] LargeChange [B] Change [C] SmallChange [D] Value (17) 下列表达式中, (17) 不是红颜色的值。 [A]vbRed [B] Rgb(255,0,0) [C] QBColor(1) [D] &Hff (18) 返回图片框控件P1坐标(a,b)处颜色值的表达式为 (18) 。 [A] P1.SetColor(a,b) [B] P1.GetColor(a,b) [C] P1.PSet (a, b) [D] P1.Point(a,b) (19) 通用对话框可以通过对 (19) 属性的设定来过滤文件类型。 [A] Action [B] FilterIndex [C] Font [D] Filter (20) 编制一个对Single类型一维数组排序的Sub过程,该过程只能被本模块中其他过程所 调用,其首句为 (20) 。 [A] Sub f(a() As Single, n As Integer) [B] Public Sub f(a() As Single) [C] Private Sub f(a(n) As Single, n As Integer) [D] Public Sub f(a() As Single, n As Integer) 试题三、程序填空题(每空2分,共20分,) 说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序1 【程序说明】 单击窗体后,用输入对话框输入x、n,按下式计算结果。要求:将计算结果以标签控 件显示, 且每秒种随机变换一次颜色。 23nxxxx,,,,,,, 2!3!4!(n,1)! 【程序】 (21) Private Sub Form_Load() Timer1.Interval = 1000: Timer1.Enabled = False End Sub Private Sub Form_Click() Dim x As Single, n As Integer, i As Integer, t As Single s = 0: x = InputBox("x="): n = InputBox("n=") (22) For i = (23) t = t * x / i: s = s + t Next i (24) End Sub Private Sub Timer1_Timer() Label1.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) Label1.Caption = s End Sub 【选项】 (21) [A] Static s As Single [B] Dim s As Single [C] Option Base 1 [D] Const s As Single (22) [A] t = -1 [B] t = 0 [C] t = 2 [D] t = 1 (23) [A] 2 To n + 1 [B] 1 To n [C] 2 To n [D] 1 To n + 1 (24) [A] Timer1.Enabled = False [B] Timer1.Enabled = True [C] Label1.Enabled = False [D] Label1.Enabled = True 程序2 【程序说明】 下列程序运行时,先输入各公司月销售额,然后单击命令按钮,图片框中将显示各公司 销售额的圆饼图(如图1所示)。要求:在文本框中只能输入数字字符;在圆饼图中分别用红、 绿、蓝色显示A、B、C公司的扇区填充色。 图1 程序2的界面 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 【程序】 Private Sub Command1_Click() '绘制圆饼图 Const PI = 3.141593 Dim a As Single, b As Single, c As Single, x As Single Picture1.Scale (-8, -8)-(8, 8) (25) a = Text1(0).Text: b = Text1(1).Text c = Text1(2).Text x = 2 * PI / (a + b + c) '计算每个单位在圆饼图中所占圆心角的弧度值 Picture1.FillColor = RGB(255, 0, 0) Picture1.Circle (0, 0), 6, 0, (26) Picture1.FillColor = RGB(0, 255, 0) Picture1.Circle (0, 0), 6, 0, -a * x, -(a + b) * x Picture1.FillColor = (27) Picture1.Circle (0, 0), 6, 0, -(a + b) * x, -(a + b + c) * x End Sub Private Sub Form_Load() Picture1.Width = Picture1.Height End Sub Private Sub Text1_KeyPress(Index As Integer, K As Integer) If (28) Then k = 0 End Sub 【选项】 (25) [A] Picture1.FillStyle = 1 [B] Picture1.DrawStyle = 0 [C] Picture1.DrawStyle = 1 [D] Picture1.FillStyle = 0 (26) [A] 2 * PI, -a * x [B] -2 * PI, a * x [C] -2 * PI, -a * x [D] 2 * PI, a * x (27) [A] RGB(255, 0, 0) [B] vbBlue [C] Blue [D] RGB(0, 255, 0) (28) [A] k < Asc("0") Or k > Asc ("9") [B] k < "0" Or k > "9" [C] k < Asc(0) Or k > Asc (9) [D] k < 0 Or k > 9 程序3 【程序说明】 Form2的过程Command1_Click如下,输入10个数,根据Form1中全局变量flag的不 同取值做不同运算:若flag为True则求10个数的和,若flag为False则求10个数的积。 【程序】 Private Sub Command1_Click() Dim a(10) As Single, s As Single, i As Integer s = 0 If (29) Then s = 1 For i = 1 To 10 a(i) = InputBox("a(" & i & ")=") If (30) Then s = s + a(i) Else s = s * a(i) Next i Print s End Sub 【选项】 (29) [A] Not Form1.flag [B] Form1.flag [C] flag [D] flag = True (30) [A] s = 1 [B] s <> 1 [C] Form1.flag [D] flag 试题四、程序阅读题(每小题5分,共20分,) 说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。 程序1、顺序写出运行时执行下列事件过程的显示结果。 Private Sub Command1_Click() For i = 2 To 20 If i Mod 2 = 1 And i Mod 3 = 2 Then Print i Next i Print i End Sub 程序2、写出下列程序运行时,单击命令按钮控件Command1后窗体上的显示结果。 Private Function f1(n As Integer) As Integer Static i As Integer While i <= n f1 = f1 + i: i = i + 1 Wend End Function Private Function f2(ByVal n1 As Integer, n2 As Integer) As Integer Dim i As Integer Do While n2 >= n1 f2 = f2 + n2: n2 = n2 - 1 Loop End Function Private Sub Command1_Click() Dim a As Integer, b As Integer Print f1(3) Print f1(5) a = 5: b = 8 Print f2(a, b) Print f2(b, a) End Sub 程序3、写出下列程序运行时,单击窗体后窗体上的显示结果。 Sub prnt(b() As String * 1, n As Integer) Dim i As Integer For i = 1 To n Print b(i); Next i Print End Sub Private Sub Form_Click() Dim a(7) As String * 1, i As Integer For i = 1 To 7 a(i) = Chr(Asc("A") + i - 1) Next i For i = 7 To 4 Step -1 Call prnt(a, i) Next i End Sub 程序4、顺序画出下列程序运行时HScroll1.Value依次为1、2、3、4时图片框控件P1上图案的形状。 Private Sub Form_Load() P1.Height = P1.Width P1.Scale (0, 0)-(4, 4) HScroll1.Min = 0: HScroll1.Max = 4 End Sub Private Sub HScroll1_Change() P1.Cls P1.Line (0, 0)-(HScroll1.Value, HScroll1.Value), , BF End Sub 试题五、程序设计题(每小题各10分,共30分) 1( 编制事件过程Command1_Click,执行该过程时调用InputBox函数输入x,按下式计算y并以标签控件Label1显示y值。 2,3x,2x,1x,,5 ,xy,x,sinx,2,5,,x,,5 , ,x,5,logxx,510, 2( 编制通用函数过程fsum,计算Single类型一维数组所有元素的和。 3( 文本文件e:\aaa.txt中存放了若干行字符,编制相应事件过程:在加载窗体时读入文件中各行字符并顺序在列表框控件List1的列表部分显示,在运行时按窗体控制菜单“关闭”后自动将列表框中各行数据存储到文本文件e:\aaa.txt。 【提示】加载窗体时自动执行的事件过程是Form_load(),按窗体控制菜单“关闭”后自动执行的事件过程是Form_Terminate() 2005年秋浙江省高等学校 计算机等级考试试卷(二级Visual BASIC) 试题一、判断题(每小题1分,共10分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (1) 若x是Double类型变量,函数Len(x)的返回值为16。 (2) 所有事件过程都只能由鼠标或按键事件触发。 (3) 函数MsgBox也可以提供在程序运行时的人机交互功能。 (4) 文本框控件的MultiLine属性是只读属性,在运行时不可改变。 (5) 若文本框控件的MaxLength属性赋值0,则该文本框内不可输入任何字符。 (6) 在自定义Sub过程中,过程名必须被赋值。 (7) 若复选框控件的Value属性值为True则框内显示“?”,若Value属性值为False则显示 空白。 (8) VB的RGB函数可以返回的不同颜色值有256×256×256种。 (9) f11_Click是名称为f11的菜单项所能编制的唯一的事件过程。 (10) 用WRITE#语句向文本文件输出时,VB自动为同一行上的不同数据间加逗号作间隔符。 试题二、单选题(每小题2分,共20分) (11) 表达式75 \ 7 Mod 2*3的值为 (11) 。 [A] 5 [B] 4 [C] 3 [D] 0 判断变量x、y中有且只有一个为0的下列各表达式中,正确的是 (12) 。 (12) [A] x=0 Or y=0 and x*y<>0 [B] x+y=0 and x*y<>0 [C] x+y<>0 and x*y=0 [D] x=0 and y<>0 1/3(13) 数学式 (x+5)写成VB表达式是 (13) 。 [A] (x+5)^1/3 [B] (x+5)^(1\3) [C] (x+5)^1\3 [D] (x+5)^(1/3) (14) 函数 Val(“H100”)的返回值为 (14) 。 [A] 256 [B] 0 [C] 100 [D] 64 (15) 以下使用 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 的VB程序代码中,正确的是 (15) 。 [A]Label1.SetFocus [B] Form1.Clear [C] Text1.SetFocus [D] Combo1.Cls (16) 用Scale方法改变了窗体坐标后,被改变了属性值的窗体属性名是 (16) 。 [A] ScaleWidth [B] Width [C] Height [D] DrawMode (17) 使用Circle方法不可以绘制的图形是 (17) 。 [A] 圆角矩形 [B] 椭圆 [C] 圆饼图 [D] 扇形 (18) BorderStyle是用来表示线条的 (18) 。 [A] 长度 [B] 宽度 [C] 线形 [D] 颜色 (19) 通用对话框控件所不具有的属性为 (19) 。 [A] BackColor [B] FileName [C] Flags [D] Filter (20) 可以用来获取已打开文件长度的函数是 (20) 。 [A]Len [B] LOF [C] LOE [D] FileLen 试题三、程序填空题(每空2分,共20分,) 说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序1 -9【程序说明】用近似公式求自然对数的底数e的值,要求计算结果的误差小于10。 e? 【程序】 Private Sub Command1_Click() Dim s As Double, (21) Dim i As Integer i = 2 (22) t = 1 Do While (23) (24) t = t / i i = i + 1 Loop Print s End Sub (21) [A] t As Single [B] t As Byte [C] t As Integer [D] t As Double (22) [A] s = 2 [B] s = 1 [C] s = 0 [D] s = i + 1 (23) [A] t <= 1e-9 [B] t >= 1d-9 [C] t >= 1e-9 [D] t < 0.000000001 (24) [A] s = s + t [B] s = s + i [C] s = t / i [D] s = s + t / i 程序2 【程序说明】下列过程的功能是为与形参a所对应的n个元素的实参数组送数:第1个元素赋值n,其他元素为2位随机整数,要求这n个数各不相同。 【程序】 Private Sub create(a() As Byte, n As Byte) Dim i As Byte, j As Byte, x As Byte a(1) = n i = 1 Do While i < n x = (25) For j = 1 To (26) If x=a(j) Then (27) Next j If (28) Then i = i +1: a(i) = x Loop End Sub 【选项】 (25) [A] Rnd*99 [B] 10+Rnd*90 [C] Rnd*100 [D] Int(Rnd*100) (26) [A] i [B] n - 1 [C] i - 1 [D] n (27) [A] Break [B] Exit Sub [C] j = j - 1 [D] Exit For (28) [A] j > i [B] j <= i [C] x <> a (i) [D] j <> i 程序3【程序说明】下列过程在装入窗体时,清空列表框控件List1中所有表项,并顺序、逐行读入文件e:\aaa.txt中的数据,显示在此List1中。 【程序】 Private Sub Form_Load() Dim s As String Open "e:\aaa.txt" For Input As #1 (29) Do While Not EOF(1) (30) List1.AddItem s Loop Close #1 End Sub 】 【选项 (29) [A] List1.List = "" [B] List1 = "" [C] List1.Cls [D] List1.Clear (30) [A] Line Input #1, s [B] Input Line #1, s [C] Input #1, s [D] LineInput s 试题四、程序阅读题(每空2分,共20分,) 说明:阅读下列程序并根据各题的要求,在各程序后的若干组选项中选出一组,写在答卷纸的相应题号下。 程序1、设Text1.Text 为 “abcdef”, 运行时连续单击3次控件Hscroll1右侧箭头后,组合 框控件中的第1项为 (31) 、第2项为 (32) 、第3项为 (33) 。 Private Sub Form_Load() HScroll1.SmallChange = 1: HScroll1.Max = 5 HScroll1.Min = 1: HScroll1.Value = 1 Combo1.Clear End Sub Private Sub Hscroll1_Change() Combo1.AddItem Left(Text1.text, Hscroll1.Value), 0 End Sub (31) [A] abc [B] abcd [C] ab [D] abcde (32) [A] a [B] abcde [C] abc [D] abcd (33) [A] abcde [B] abcd [C] abc [D] ab 程序2、执行下列事件过程时,窗体上的显示结果依次为2、 (34) 、(35) 、(36) 。 Private Sub Command1_Click() Dim x As Long, i As Integer x = 60 i = 2 Do While x>1 If x Mod i =0 Then Print i ; : x = x \ i Else i = i +1 Loop End Sub (34) [A] 2 [B] 3 [C] 5 [D] 1 (35) [A] 2 [B] 5 [C] 3 [D] 1 (36) [A] 2 [B] 5 [C] 1 [D] 3 程序3、下列过程f的功能是 (37) ;运行时单击命令按钮控件 Command1 后窗体 上的显示结果是 (38) ;如果将其中的语句 “t=a(k):a(k)=a(i):a(i)=t”修改为 “a(k)=a(i):a(i)=a(k)”,则显示结果是 (39) 。 Private Sub f(a() As Single, n As Integer) Dim i As Integer, j As Integer, k As Integer, t As Single For i = 1 To n-1 k=i For j=i +1 To n If abs(a(j)) > abs(a(k)) Then k = j Next j t=a(k) : a(k)=a(i) : a(i)=t Next i End Sub Private Sub Command1_Click() Dim x(5) As Single x(1) = 5: x(2) = -7: x(3) = 5: x(4) = 12: x(5) = -3: Call f(x, 5) Print x(1); x(2); x(3); x(4); x(5) End Sub (37) [A]对相应实参数组按值从小到大排序 [B]对相应实参数组按绝对值从小到大排 序 [C]对相应实参数组按值从大到小排序 [D]对相应实参数组按绝对值从大到小排 序 3 5 –7 12 [B] 12 -7 5 5 -3 (38) [A] – [C] –3 5 5 -7 12 [D] 12 -7 5 -3 (39) [A] 5 -7 5 5 -3 [B] 12 12 12 12 -3 [C] –3 5 -7 12 [D] –7 5 5 5 -3 程序4、执行下列过程时图片框控件Pic1上图案的形状是 (40) 。 Private Sub Command1_Click() Pic1. Width = Pic1. Height Pic1.Scale (-8, 8)-(8, -8) Pic1.FillStyle=1 Pic1.Circle (0, 0), 3 Pic1.FillStyle = 0 Pic1.Circle (0, 0), 6 End Sub (40) [A] [B] [C] [D] 试题五、程序设计题(每小题各10分,共30分) 24( 编制事件过程Command1_Click, 计算一元二次方程 ax+bx+c=0的根; a) 系数a、b、c已分别在Text1(0)、Text1(1)、Text1(2)中输入; b) 若方程有实根则分别通过标签控件Label1、Label2显示,否则在Label1中显示文 本信息“方程无实根”。 5( 编制事件过程Form_Click,计算并显示下列数列的前30项。 f=f=1 12 f=f+f i >2 ii-1i-2 6( 文本文件e:\aaa.txt中存放了若干个数,编制事件过程Form_Click,计算它们的平均值,然后把其中所有大于平均值的数写入到文本文件e:\bbb.txt。 2006年春浙江省高等学校 计算机等级考试试卷(二级VisualBasic) 试题1(每小题3分,共15分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 界面设计如上图所示,程序运行时要求有以下功能: ?按Commandl(出题)后随机生成两个两位正整数存入模块级变量a、b且a>b,并分别在Labell、Labe12中显示,此后Commandl不可用; ?在Textl中输入结果、按回车后,以消息框显示运算正确与否、累计所完成题数以及做错的题数,Commandl恢复为可用; ?按CommandZ(退出)后以消息框显示所完成题数以及做错的题数,退出。 【程序】 Dim n As Integer, n_error As Integer (1) Private Sub Command1_Click() a = 10 + Rnd * 89: b = 10 + Rnd * 89 If a < b Then (2) Label1.Caption = a: Label2.Caption = b n = n + 1: Text1.Text = "": Command1.Enabled = False End Sub Private Sub Text1_ (3) (KeyAscii As Integer) If KeyAscii <> 13 Then (4) '回车键的AscII码值 为13 If a - b = Val(Text1.Text) Then MsgBox ("回答正确") Else MsgBox ("回答不正确") nerror = nerror + 1 End If Command1.Enabled = True End Sub Private Sub Command2_Click() MsgBox (5) End End Sub 【供选择的答案】 (l)A、' 小学 小学生如何制作手抄报课件柳垭小学关于三违自查自纠报告小学英语获奖优质说课课件小学足球课教案全集小学语文新课程标准测试题 生两位数减法训练程序 B、a=0:b=0:c=0 C、n=0:n_error=O D、Dim a As Byte, b As Byte,c As Byte (2)A、b=a:a=b B、c=a:a=b:b=c C、a = b: b = a D、c = a: b = a: a = c (3)A、KeyPress B、Change C、KeyDown D、KeyUp (4)A、Exit Sub B、KeyAscii=13 C、KeyAscii=0 D、Exit Do (5)A、"共" & n & "题,错" & n_error & "题" B、"共n题,错n_error题" C、"共" + n + "题,错" + n_error + "题" D、 共 & n & "题,错" & n_error & "题" 试题2(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入n后,再输入n个数a,a,„,a,按照下列公式计算s的值并显示。 n12 222avavav(,),(,),?,(,)aaa,,?,12n12nsv ,,nn 【程序】 Private Function f( (6) ) As Single Dim i As Integer For i = 1 To n: f = f + x(i): Next i End Function Private Sub Command1_Click() Dim n As Integer, a() As Single, i As Integer Dim v As Single, s As Single n = InputBox("输入数据个数") (7) For i = 1 To n a(i) = InputBox("a(" & i & ")=", "输入各数组元素") Next i v = f(a, n) / n For i = 1 To n s = (8) Next i (9) End Sub 【供选择的答案】 (6) A、x() As Single, n as integer B、x(n) As Single C、a As Single , n As Integer D、n As Integer, x() As Single (7) A、Dim a(n) As Single B、ReDim a() C、Dim a(n) D、ReDim a(n) (9) A、s=s^0.5/n B、Print s^0.5/n C、Print Sqr(s) D、Sqr(s)/n 试题3 (每小题3 分,共15 分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答 案。 【程序说明】 ?图片框控件P1 、P2 除Name属性外均取缺省值,将鼠标在P1拖动绘制矩形 框(边框颜色通过通用对话框指定);鼠标按下处为矩形左上角,鼠标抬起处 为矩形右下角; ?鼠标抬起后,将P1中矩形区域内的图象在P2中重新绘制,如下图所示。 【程序】 (10) Private Sub P1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) X1 = X: Y1 = Y End Sub Private Sub P1_Mouseup(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim j As Single, i As Single, jk As Single, ik As Single Dim (11) jk = P2.ScaleWidth / (X - X1): ik = P2.ScaleHeight / (Y - Y1) CommonDialog1.Action = (12) P1.Line (X1, Y1)-(X, Y), CommonDialog1.Color, B For j = X1 To X For i = Y1 To Y c = (13) '读取该点处的颜色值 (14) Next i, j End Sub 【供选择的答案】 (10) A、Dim x As Single, y As Single B、Dim x2 As Single, y2 As Single Public x1 As Single, y1 As Single D、Dim x1 As Single, y1 As C、 Single (11) A、c As Long B、c As Integer C、c As Single D、c As Double (12) A、1 B、2 C、3 D、4 (13) A、P1.Pset(j,i) B、P2.Pset(j,i) C、P1.Point(j,i) D、P1.Point(i,j) (14) A、P2.PSet ((j-x1)*jk,(i-y1)*ik), c B、P1.Pset ((j-x1)*jk,(i-y1)*ik),c C、P2.PSet ((i-y1)*ik,(j-x1)*jk), c D、P1.Pset ((i-y1)*ik,(j-x1)*jk),c 试题4(每小题3分,共9分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_Load() Text1.Text = "": List1.Clear End Sub Private Sub Text1_KeyPress(K As Integer) Dim n As Integer 'If K>=Asc("0") And K<=Asc("9") Then K=0 If K = 13 Then List1.AddItem Text1.Text, n n = n + 1 Text1.Text = "" End If End Sub (15)运行时在文本框控件Text1中依次输入3个以回车结束的字符串"abc34"、"xy12$"、"+-*/",列表框中各表项依次为: A、abc34 B、+-*/ C、abc D、+-*/ xy12$ xy12$ xy$ xy$ +-*/ abc34 +-*/ abc (16)如果将语句Dim n As Integer用static n As Integer替换,运行时在文本框中依次输入3个以回车结束的字符串"abc34"、"xy12$"、"+-*/",列表框中各表项依次为: A、abc34 B、+-*/ C、abc D、+-*/ xy12$ xy12$ xy$ xy$ +-*/ abc34 +-*/ abc (17)如果将语句Dim n As Integer后一条语句前的注释符删除,运行时在文本 框中依次输入3个以回车结束的字符串,"abc34"、"xy12$"、"+-*/",列表框中 各表项依次为: A、abc34 B、+-*/ C、abc D、+-*/ xy12$ xy12$ xy$ xy$ +-*/ abc34 +-*/ abc 分,共12 分) 试题5 (每小题3 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub f(s As String) Dim i As Integer, n As Integer, c As String n = Len(s) If n Mod 2 = 1 Then c = Mid(s, n \ 2 + 1, 1) For i = 1 To Len(s) \ 2 c = Mid(s, Len(s) + 1 - i, 1) + c + Mid(s, i, 1) Next i s = c End Sub Private Sub Command1_Click() Dim x As String x = InputBox("x = ") Call f(x) Print x End Sub (18)单击Commandl后输入"abc",窗体上显示结果为: A、cba B、bca C、abc D、acb (19)单击Command1后输入"abcd",窗体上显示结果为: A、abdc B、cdab C、abcd D、bcad (20)如果将Sub过程f首句改为Private Sub f(ByVal s As String),单击 Command1后输入"abcd",窗体上显示结果为: A、abdc B、cdab C、abcd D、bcad (21)如果将Sub过程f首句改为Private Sub f(ByRef s As String),单击 Command1后输入"abcd",窗体上显示结果为: A、abdc B、cdab C、abcd D、bcad 试题6 (每小题3 分,共9 分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Command1_Click() Dim i As Integer, fn As Byte fn = FreeFile Open "e:\aaa.txt" For Output As #fn For i = 1 To 20 If Sqr(i) = Int(Sqr(i)) Then Write #fn, i, Next i Close #fn End Sub (22)如果文件e:\aaa.txt已存在并己有数据1、4,执行以上过程后文件中全部数据为: A、1,4,1,4,9,16, B、1,4,9,16, C、1,4, D、 2,4,6,8,10,12,14,16,18, (23)如果文件e:\aaa.txt不存在,执行以上过程后文件中全部数据为: A、1,4,1,4,9,16, B、1,4,9,16, C、空 D、 2,4,6,8,10,12,14,16,18, (24)如果文件e:\aaa.txt已存在并已有数据1、4,且程序中文件打开方式改为Append, 执行以上过程后文件中全部数据为: A、1,4,1,4,9,16, B、1,4,9,16, C、1,4, D、 2,4,6,8,10,12,14,16,18, 试题7 ( 14 分) 编写过程Command1_click,用InputBox函数输入100个学生的成绩,统计后依次用标签控件Label1,Label3 显示优秀(85,100)、通过(60,84)和未通过(小于60)的人数。 试题8(14分) 编写程序,界面设计、运行时状态如下图所示,按照下列要求定义各事件过程: (l)在窗体的Load事件过程中设置计时器控件Timer1的Enabled属性为False、响应的时间间隔为1秒; (2)单击Command1后计时器开始计时,每隔1秒刷新一次控件Label2(0),Label2(3)在窗体上所显示的当前时间以及计时开始后所经过的时间。 2006年秋浙江省高等学校 计算机等级考试试卷(二级Visual Basic) 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 •运行时初始界面如左上图所示,在文本框中输入一个整数n并按回车键后:如果n<1则重新输入,否则按钮Command1可用; •按Command1计算费波那契数列第n项的值(该数列第1、2项均为1,此后各项为该项前两项之和,如:1、1、2、3、5、8、?); •用消息框输出结果(右上图表示输入n为8后,输出结果是21),按消息框中“是”按钮则界面显示如左上图,按“否”按钮则退出。 【程序】 Dim n As Integer Private Sub Form_Load() Command1.Enabled = False End Sub Private Sub Text1_KeyPress(k As Integer) If (1) Then Exit Sub n = Text1.Text If n < 1 Then MsgBox ("n应大于零~"): Exit Sub Command1.Enabled = True End Sub Private Sub Command1_Click() Dim i As Integer (2) f(1) = 1: f(2) = 1 For i = (3) f(i) = f(i-1) + f(i-2) Next i k = MsgBox("第" & n & "项为" & f(n) & ",是否继续,", (4) ) If k = vbYes Then Text1.Text = "" : Command1.Enabled = False Text1.SetFocus Else End End If End Sub 【供选择的答案】 (1) A、k = 13 B、k <> 13 C、KeyAscii<>13 D、KeyAscii=13 (2) A、Redim f(8) As Long B、Redim f(n) As Long C、Dim f(n) As Long D、Dim f(8) As Long A、1 To n B、1 To n Step 1 C、2 To n D、3 To n (3) (4) A、vbNo B、vbYes C、vbYesNo D、vbQuestion 试题2(每小题3分,共15分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 单击Command1后,将所有在List1中存在、而在List2中不存在的表项添加到列表框控件List3中。 Private Sub Command1_Click() Dim i As Integer, j As Integer (5) For i = 0 To (6) For j = 0 To (7) If List1.List(i) = List2.List(j) Then (8) Next j If (9) Then List3.AddItem List1.List(i) Next i End Sub 【供选择的答案】 (5) A、List3.Clear B、List3.List="" C、List3.delete D、List3.Cls (6) A、List1.ListCount B、List1.ListCount - 1 C、List2.ListCount D、List2.ListCount - 1 (7) A、List2.ListCount - 1 B、List2.ListCount C、List1.ListCount – 1 D、List1.ListCount (8) A、Exit For B、Exit C、Exit Do D、Break (9) A、j< List2.ListCount B、j<= List2.ListCount C、j> List2.ListCount D、j>= List2.ListCount 试题3(每小题3分,共15分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 选择一个图象文件(BMP、JPG)后,在图片框控件P1中显示,按“反转”按钮后,将P1中每一像素在P2中相应位置以不同颜色显示。 【程序】 Private Sub Form_Load() File1. (10) = "*.bmp;*.jpg" P2.Width = P1.Width: P2.Height = P1.Height P1.ScaleMode = 3: P2.ScaleMode = 3 End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() Dir1.Path = (11) End Sub Private Sub File1_Click() (12) GoTo kk P1.Picture = LoadPicture(File1.Path + File1.FileName) Exit Sub kk: P1.Picture = LoadPicture(File1.Path + "\" + File1.FileName) End Sub Private Sub Command1_Click() Dim x As Integer, y As Integer, (13) Dim r As Byte, g As Byte, b As Byte For x = P1.ScaleLeft To P1.ScaleLeft + P1.ScaleWidth For y = P1.ScaleTop To P1.ScaleTop + P1.ScaleHeight c = P1.Point(x, y) If c >= 0 Then r = c Mod 256: c = c \ 256 g = c Mod 256: c = c \ 256 (14) P2.PSet (x, y), RGB(255 - r, 255 - g, 255 - b) End If Next y, x End Sub 【供选择的答案】 (10) A、Filter B、Pattern C、FileName D、Path (11) A、Dir1.Path B、File1.Path C、Drive1.Path D、Drive1.Drive (12) A、On Error B、In Error C、If Error D、If Error Then (13) A、c As Byte B、c As Long C、c As Single D、c As Integer (14) A、b = c Mod 255 B、b = c \ 256 C、b = c D、b = c / 256 试题4(每小题3分,共9分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_click() Dim n As Integer, i As Integer, k As Integer, j As Integer Do n = InputBox("请输入1个1至9之间的整数") Loop Until 0 < n And n < 10 k = 10: j = 1 For i = 1 To n Print Space(k); String(j, Trim(Str(i))) If i <= n / 2 Then k = k - 1: j = j + 2 Else k = k + 1: j = j - 2 End If Next i End Sub (15) 若运行时输入n值为2,窗体上的显示结果为: A、 1 B、 1 C、 1 D、 2 121 222 123 121 (16) 若运行时输入n值为3,窗体上的显示结果为: A、 1 B、 1 C、 1 D、 1 222 123 12 222 33333 12321 123 3 (17) 若运行时输入n值为4,窗体上的显示结果为: A、 1 B、 1 C、 1 D、 1 222 222 123 222 3 33333 12345 33333 444 444 1234567 4444444 试题5(每小题3分,共9分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_Load() Timer1.Interval = 100 : Form1.WindowState = 2 Label1.Width = ScaleWidth / 2: Label1.Left = ScaleLeft Label1.Alignment = 0: Label1.Caption = "运行中..." End Sub Private Sub Timer1_Timer() Static m As Byte m = m + 8: Label1.FontSize = m Timer1.Interval = Timer1.Interval + 100 If m > 80 Then Timer1.Enabled = False End Sub (18) 程序运行后,事件过程Timer1_Timer自动执行的次数为: A、9 B、10 C、11 D、0 (19) “运行中...”这段文字的显示位置始终在窗体的 A、窗体的左边 B、Label1的右边 C、窗体的右边 D、Label1的中间 (20) Label1的标题在窗体上的显示多次变化,其规律为: A、字体变大、变化减慢 B、字体变小、变化减慢 C、字体变小、变化加快 D、字体变大、变化加快 试题6(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_Load() Form1.Height = Form1.Width * 2 / 3 Form1.FillColor = RGB(0, 0, 255) Form1.FillStyle = vbSolid End Sub Private Sub Form_Activate() Scale (0, 0)-(300, 200) paint.Caption = "Circle" Line -(150, 100), FillColor, BF End Sub Private Sub paint_Click() Form1.Cls If paint.Caption = "Circle" Then paint.Caption = "Rectanfle" Circle (ScaleWidth / 2, ScaleHeight / 2), ScaleHeight / 2, _ 255, , , ScaleHeight / ScaleWidth Else paint.Caption = "Circle" Line -(150, 100), FillColor, BF End If End Sub (21) 菜单项标题为“Circle”、名称为“paint”,单击该菜单项后窗体上显示: A、圆 B、纵轴大于横轴的椭圆 C、横轴大于纵轴的椭圆 D、矩形 (22) 菜单项标题为“Rectanfle”、名称为“paint”,单击该菜单项后所显示图形: A、红色边框无填充色的椭圆 B、兰色边框黑色填充的矩形 C、黑色边框兰色填充的椭圆 D、兰色边框兰色填充的矩形 (23) 菜单项标题为“Circle”,两次单击名称为“paint”的该菜单项,窗体显示: A、椭圆 B、矩形 C、1个椭圆和1个矩形 D、1个椭圆和1个正方形 (24) 菜单项标题为“Rectanfle”,两次单击名称为“paint”的该菜单项,窗体显示: A、椭圆 B、矩形 C、1个椭圆和1个矩形 D、1个椭圆和1个正方形 试题7(14分) 编写事件过程Command1_Click,计算下式的和,变量x与n的数值用输入对话框输入。 xxxx23n s,,,,..., 2!3!4!(n,1)! 试题8(14分) 某文本文件以下列格式存储若干学生的学号和两门课成绩,编写单击窗体的事件过程: ? 用通用对话框控件Commondialog1选择该文件; 文本文件格式 ? 在Label1(0),Label1(1) 显示总分最高的学生之学 "05010101",78,89 号、总分。 "05010102",83,79 ...... ...... 2007年春浙江省高等学校 计算机等级考试试卷(二级 Visual Basic) 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 单击窗体后输入1个不小于6的正整数,然后输出该数所有的质数因子(如输入6则输出“2 3”,输入60则输出“2 2 3 5”,等等)。 【程序】 Private Sub f(___(1)___) Dim i As Integer i = 2 Do While ___(2)___ If ___(3)___ Then k = k / i: Print i; Else i = i + 1 Loop End Sub Private Sub Form_Click() Dim n As Integer Do n = InputBox(″n = ″) Loop ___(4)___ Call f(n) Print End Sub 【供选择的答案】 (1) [A] n As Integer [B] k As Integer [C] ByVal n As Byte [D] i As Integer (2) [A] k > 1 [B] k >= 1 [C] k = 1 [D] k Mod i = 0 (3) [A] k \ i = 0 [B] k \ i * i = 0 [C] n Mod i = 0 [D] (k \ i) * i = k (4) [A] Until n > 6 [B] While n >= 6 [C] Until n >= 6 [D] While n > 6 试题2(每小题3分,共15分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 统计鼠标单击图片框控件P1中两个同心圆所围成黑色区域的次数:首次单击Command1 将统计结果清零、P1可用,再次单击则以消息框显示统计结果、P1不可用。 【程序】 Dim n As Integer Private Sub Command1_Click() If Command1.Caption = "开始" Then Command1.Caption = "显示" P1.Enabled = True: n = 0 Else Command1.Caption = ___(5)___ P1.Enabled = False: MsgBox ("单击该区域" + ___(6)___ + "次") End If End Sub Private Sub Form_Activate() P1.Width = P1.Height P1.Scale (-3, 3)-(3, -3) P1.FillStyle = ___(7)___ P1.FillColor = ___(8)___: P1.Circle (0, 0), 2 P1.FillColor = vbWhite: P1.Circle (0, 0), 1 End Sub Private Sub Form_Load() Command1.Caption = "开始": P1.Enabled = False End Sub Private Sub P1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If x * x + y * y >= 1 And ___(9)___ Then n = n + 1 End Sub 【供选择的答案】 (6) [A] "退出" [B] "开 始" [C] "显示" [D] "开始" (7) [A] n [B] Val(n) [C] Str(n) [D] Trim(n) (8) [A] 1 [B] 0 [C] 2 [D] 3 (9) [A] vbBlack [B] RGB(255,0,0) [C] vbWhite [D] RGB(255,255,0) (10) [A] x * x + y * y <= 4 [B] x > 2 And y > 2 [C] x * x + y * y <= 2 [D] x * x + y * y > 4 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 某文件中存放了若干个实数,单击Command1可用对话框打开该文件、并将读入的所有数据在List1中显示,单击Command2可将读入的数据按值从大到小顺序重新写入到该文件。 【程序】 Private Sub Command1_Click() Dim x As Single List1.Clear: CommonDialog1.Action = 1 Open CommonDialog1.FileName For ___(10)___ As #1 Do While ___(11)___ Input #1, x: List1.AddItem x Loop Close #1 End Sub Private Sub Command2_Click() Dim n As Single, x As Single, i As Integer, j As Integer, k As Integer n = List1.___(12)___ ReDim a(n) As Single For i = 1 To n: a(i) = List1.List(i - 1): Next i For i = 1 To n - 1 k = i For j = i + 1 To n: If ___(13)___ Then k = j: Next j x = a(k): a(k) = a(i): a(i) = x Next i Open CommonDialog1.FileName For Output As #1 For i = 1 To n: Print #1, a(i): Next i Close #1 End Sub 【供选择的答案】 (10) [A] Output [B] Input [C] Append [D] Read (11) [A] EOF(1) [B] Not EOF(1) [C] EOF(fn) [D]Not EOF(fn) (12) [A] Count [B] ListCount – 1 [C] List [D]ListCount (13) [A] a(j) > a(k) [B] a(j) <= a(k) [C] a(j) <> a(k) [D] a(j) < a(k) 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_Load() Text1.Text = "": Form1.Cls End Sub Private Sub Text1_KeyPress(k As Integer) Static s As Integer If (Chr(k) < "0" Or Chr(k) > "9") And k <> 13 Then k = 0 If k = 13 Then s = s + Val(Text1.Text): Text1.Text = "": Print s; End Sub 【供选择的答案】 (14) 写出运行时在Text1中依次按"1? 3? 5? "后窗体上的显示结果。 [A] 1 4 9 [B] 9 [C] 1 3 5 [D] 5 (15) 写出运行时在Text1中依次按"2? 4? 6? "后窗体上的显示结果。 [A] 2 4 6 [B] 12 [C] 6 [D] 2 6 12 (16) 写出运行时在Text1中依次按"1? -3? 5? "后窗体上的显示结果。 [A] 1 -2 3 [B] 1 4 9 [C] 1 -3 5 [D] 3 (17) 写出运行时在Text1中依次按"1? 2a? 5? "后窗体上的显示结果。 [A] 1 43 48 [B] 1 2 5 [C] 5 [D] 1 3 8 试题5(每小题3分,共9分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Function f(a As Integer, b As Integer) As Integer Dim r As Integer, t As Integer If a < b Then t = a: a = b: b = t Do r = a Mod b If r = 0 Then Exit Do a = b: b = r Loop f = b End Function Private Sub Command1_Click() Dim m As Integer, n As Integer m = InputBox("m="): n = InputBox("n=") Form1.Cls: Print f(m, n) End Sub 【供选择的答案】 (18) 运行时若输入m值为15、n值为25,窗体上的显示结果为: [A] 25 [B] 15 [C] 5 [D] 3 (19) 运行时若输入m值为24、n值为16,窗体上的显示结果为: [A] 24 [B] 16 [C] 8 [D] 2 (20) 运行时若输入m值为123、n值为23,窗体上的显示结果为: [A] 100 [B] 1 [C] 23 [D] 146 试题6(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub f(n As Integer, k As Integer, x As String) Dim m As Integer, t As Integer x = "": m = n: n = Abs(n) Do While n <> 0 t = n Mod k If k = 16 And t > 9 Then x = Chr(Asc("a") + t - 10) + x Else x = t & x n = n \ k Loop If m < 0 Then x = "-" + x End Sub Private Sub Command1_Click() Dim x As Integer, y As Integer, s As String x = InputBox("x ="): y = InputBox("y =") Call f(x, y, s) Form1.Cls: Print s End Sub 【供选择的答案】 (21) 运行时若输入x值为13、y值为2,窗体上的显示结果为: [A] 1011 [B] 33 [C] 1101 [D] 1001 (22) 运行时若输入x值为27、y值为8,窗体上的显示结果为: [A] 33 [B] 1101 [C] 1011 [D] 1001 (23) 运行时若输入x值为-14、y值为2,窗体上的显示结果为: [A] –1110 [B] 1101 [C] 1101- [D] 1011 (24) 运行时若输入x值为123、y值为16,窗体上的显示结果为: [A] 123 [B] 321 [C] b7 [D] 7b 试题7(28分) 按照下列要求和规定的步骤编程: (1)编制函数过程sum,用于计算1个整数的各位数字之和(如引入sum(132)的结果是6,引用sum(-23)的结果是5,等等)。 (2)编写事件过程Command1_Click,完成下列运算: ? 输入10个数到整型数组a; ? 将a(1)各位数字和赋值到b(1)、a(2)各位数字和赋值到b(2)、„、a(10)各位数字和赋值到b(10) 【要求调用函数sum实现】; ? 在窗体上以一行输出a数组各元素值(保持原输入值不变); ? 在窗体上以一行输出b数组各元素值。 2007年秋浙江省高等学校 计算机等级考试试卷(二级 Visual Basic) 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干个可选答案中,挑选一个正确答案。 【程序说明】 单击Commandl后计算a?x2+b?x+c的值并显示,界面设计以及运行时的显示分别如下图左、图右所示。要求在文本框中不可输入英文字母。 【程序】 Private Sub Command1_Click() Dim a As Single, b As Single, x As Single, y As Single a = Text1(0).Text: b = Text1(1).Text c = Text1(2).Text: x = Text1(3).Text y = a * x * x + b * x + c Label3.Caption = y End Sub Private Sub Text1____(1)___ (Index As Integer, ___(2)___) Select Case ___(3)___ Case "A" To "Z" K = 0 Case ___(4)___ K = 0 End Select End Sub 【供选择的答案】 (1) [A] KeyPress [B] Change [C] KeyDown [D] KeyUp (2) [A] KeyAscii As Integer [B] Value [C] Text() [D] K As Integer (3) [A] Chr(KeyAscii) [B] Chr(K) [C] Asc(K) [D] Asc(KeyAscii) (4) [A] a To z [B] 'a' To 'z' [C] "a" To "z" [D] 'a' ... 'z' (每小题3分,共12分) 试题2 阅读下列程序说明和程序,在每小题提供的若干个可选答案中,挑选一个正确答案。 【程序说明】 过程f的功能是:返回Single类型数组n个元素的平均值,查找数组中最大值、最小值并通过相应的实参返回到调用处。该过程可以被其他模板中的过程所调用。 ___(5)___ f(a() As Single, n As Integer, ___(6)___) As Single Dim i As Integer Max = a(1): Min = a(1) For i = 2 To n If a(i) > Max Then Max = a(i) If a(i) < Min Then Min = a(i) ___(7)___ Next i ___(8)___ 【供选择的答案】 (5) [A] Function [B] Sub [C] Private Sub [D] Private Function (6) [A] Max As Single, Min As Single [B] Max As Integer, Min As Integer [C] ByVal As Single [D] ByVal Max As Single, ByVal Min As Single (7) [A] f = f + a(i) [B] f = f + a(i) / n [C] f = a(i) [D] f = a(i) / n (8) [A] Find = Max [B] End Sub [C] Find = Min [D] End Function 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干个可选答案中,挑选一个正确答案。 【程序说明】 单击Commandl后读入文件中所有数据(多于10个),将其中较大的5个数、较小的5个数以及其他数分别在列表框空间List1、List3、List2中显示。 【程序】 Private Sub Command1_Click() Dim n As Integer, x As Single, i As Integer, j As Integer, k As Integer Open "E:\Score.txt" For Input As #1 Do While ___(9)___ '统计文件中的数据个数 Input #1, x: n = n + 1 Loop ___(10)___ As Single Close #1: Open "E:\Score.txt" For Input As #1 '重新打开文件 For i = 1 To n Input #1, a(i) Next i Close #1 For i = 1 To n - 1 k = i For j = i + 1 To n If ___(11)___ Then k = j Next j x = a(i): a(i) = a(k): a(k) = x Next i For i = 1 To n If i <= 5 Then List1.AddItem a(i) ElseIf ___(12)___ Then List3.AddItem a(i) Else List2.AddItem a(i) End If Next i End Sub 【供选择的答案】 (9) [A] Not EOF(1) [B] EOF(1) [C] EOF(#1) [D] Read (10) [A] Dim a(n) [B] ReDim a(n) [C] ReDim a() [D] Static a(n) (11) [A] a(i) > a(k) [B] a(i) < a(k) [C] a(j) > a(k) [D] a(j) < a(k) (12) [A] i >= n - 5 [B] i > n - 5 [C] n > 5 [D] i < n 试题4(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干个可选答案中,挑选一个正确答案。 【程序】 Dim m As Integer Private Sub Command1_Click() Dim a As Integer, i As Integer, f As Integer a = InputBox("a") f = 1: i = 2 While i <= a / 2 If a Mod i = 0 Then f = f + i i = i + 1 m = m + 1 Wend Form1.Cls: Print f End Sub 【供选择的答案】 (13) 运行时第1次单击Commandl输入7后,窗体上显示的结果为: [A] 1 [B] 2 [C] 5 [D] 7 (14) 运行时第2次单击Commandl输入8后,窗体上显示的结果为: [A] 2 [B] 7 [C] 8 [D] 6 (15) 运行时第3次单击Commandl输入9后,窗体上显示的结果为: [A] 3 [B] 5 [C] 7 [D] 4 (16) 运行时3次单击Commandl输入7、8、9后,变量m的当前值为: [A] 6 [B] 7 [C] 8 [D] 3 试题5(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干个可选答案中,挑选一个正确答案。 【程序】 Private Function f(a As Integer, b As Integer) As Integer Dim r As Integer, t As Integer f = a Do While f Mod b <> 0 f = f + a Loop End Function Private Sub Command1_Click() Static k As Integer Dim m As Integer, n As Integer m = InputBox("m=") n = InputBox("n=") k = k + 1 Form1.Cls Print f(m, n) End Sub 【供选择的答案】 (17) 运行时第1次单击Commandl输入4、6后,窗体上显示的结果为: [A] 4 [B] 24 [C] 8 [D] 12 (18) 运行时第2次单击Commandl输入15、16后,窗体上显示的结果为: [A] 150 [B] 240 [C] 30 [D] 2 (19) 运行时第3次单击Commandl输入4、10后,窗体上显示的结果为: [A] 10 [B] 20 [C] 40 [D] 80 (20) 第4次单击Commandl后,该事件过程中变量k的当前值为: [A] 4 [B] 3 [C] 0 [D] 2 试题6(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干个可选答案中,挑选一个正确答案。界面设计以及运行HScro111.Value值为90时的显示分别如下图左、图右所示。 【程序】 Private Sub Form_Load() Picture1.Width = Picture1.Height Picture1.Scale (-10, 10)-(10, -10) Picture1.BorderStyle = 0 HScroll1.SmallChange = 2: HScroll1.LargeChange = 10 End Sub Private Sub HScroll1_Change() Dim t As Single Picture1.Cls t = HScroll1.Value * 3.14159 / 180 Label1.Caption = HScroll1.Value Picture1.Circle (0, 0), 10, vbRed Picture1.Line (0, 0)-(9 * Cos(t), 9 * Sin(t)) End Sub (21) 决定运行时图片框控件边框不显示的相关属性为: [A] BackColor [B] ForeColor [C] FillStyle [D] BorderStyle (22) 滚动条Value属性值为180时,以原点为起点的直线指向: [A] [B] [C] [D] 12点方向 9点方向 6点方向 3点方向 (23) 滚动条Value属性值为270时,以原点为起点的直线指向: [A] [B] [C] [D] 12点方向 9点方向 6点方向 3点方向 (24) 下列说法中正确的是: [A] 拖动滚动条滑块的过程中以及结束后都不会触发HScro111_Change事件 [B] 拖动滚动条滑块的过程结束后立即触发HScro111_Change事件 [C] 单击滚动条两端箭头时Value的增量为10或,10 [D] 单击滚动条上空白区域时Value的增量为2或,2 试题7(28分) 2n-1编程,计算多项式a+ax+ax+„+ax的值。在文本框控件Text1、Text2中分别输入123n n、x后,按Command 1可输入a、a、a、„+a,在按Command 2可计算该多项式的值并123n 以标签控件Lable 3显示。 程序设计时的界面设计如下图左所示。运行时输入n为3、x为1.5,输入a、a、a分123别为1、2、3后输出的结果如下图右所示。请将答卷上各事件过程补充完整。 2008年春浙江省高等学校 计算机等级考试试卷(二级 Visual Basic) 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 单击Command1后用输入对话框输入1个整数,单击Command2后在Text1中显示其反序的数(高位变低位)。要求在文本框中不可输入任何字符。例如:输入123显示321,输入-567显示-765。 【程序】 ___(1)___ Private Sub Form_Load() ___(2)___ End Sub Private Sub Command1_Click() Text1.Text = "": n = InputBox("n=") End Sub Private Sub Command2_Click() If n < 0 Then n = -n: Text1.Text = "-" While n <> 0 Text1.Text = ___(3)___ ___(4)___ Wend End Sub 【供选择的答案】 (1) [A] Dim n As Byte [B] Dim n As Integer [C] Dim n As String [D] Public n As Byte (2) [A] Text1.Locked = True [B] Text1.Locked = False [C] Text1.Visible = True [D] Text1.Visible = False (3) [A] n / 10 & Text1.Text [B] n Mod 10 & Text1.Text [C] Text1.Text & n / 10 [D] Text1.Text & n Mod 10 (4) [A] n = n \ 10 [B] n = n / 10 [C] n = n Mod 10 [D] n = n - 10 试题2(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 运行时,可以在图片框控件P1用红色绘制下列坐标线并加上数字显示。 Private Sub Form_Activate() P1.Height = P1.Width P1.FontSize = 10 ___(5)___ (-10, 110)-(110, -10) ___(6)___ P1.Line (-5, 0)-(100, 0) P1.Line (0, -5)-(0, 100) For i= ___(7)___ P1.Line (i, 0)-(i, 2) P1.Line (0, i)-(2, i) Next i For i = 1 To 9 P1.CurrentX = i * 10 - 2 P1.CurrentY = -2 ___(8)___ Next i End Sub 【供选择的答案】 (5) [A] P1.Draw [B] P1.Line [C] P1.Print [D] P1.Scale (6) [A] P1.ForeColor = RGB(255, 0, 0) [B] P1.FileColor = RGB(255, 0, 0) [C] P1.FillColor = VbRed [D] P1.ForeColor = Red (7) [A] 1 To 9 Step 1 [B] 10 To 90 [C] 10 To 90 Step 10 [D] 2 To 9 (8) [A] PSet i [B] P1.Print i [C] P1.PSet i [D] Print i 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 单击“读文件”按钮将文本文件读入并逐行在列表框控件List1中显示;然后单击“分解”按钮将List1每行中的英文字母、其他字符分别显示在List2、List3各行中。 运行结果如下图所示。 【程序】 Private Sub Command1_Click() '读文件 Dim s As String Open "e:\xxx.txt" For ___(9)___ As #1 While Not EOF(1) Line Input #1, s: List1.AddItem s Wend Close #1 End Sub Private Sub Command2_Click() '分解 Dim i As Integer, n As Integer, s1 As String, s2 As String For i = 1 To ___(10)___ n = Len(List1.List(i - 1)) ReDim a(n) As String * 1 For j = 1 To n a(j)= ___(11)___ Next j s1 = "": s2 = "" For j = 1 To n If ___(12)___ Then s1 = s1 + a (j) Else s2 = s2 + a(j) Next j List2.AddItem s1 List3.AddItem s2 Next i End Sub 【供选择的答案】 (9) [A] Read [B] Append [C] Input [D] Output (10) [A] List1.Count [B] ListCount [C] ListCount - 1 [D] List1.ListCount (11) [A] Mid(List1.List (i - 1), j, 1) [B] Middle(List1.List(i - 1), j, 1) [C] Mid(List1.List(i – 1), j) [D] Middle(List1(i – 1), j, 1) (12) [A] a(j) >= ?a? And a(j) <= ?z? Or a(j) >= ?A? And a(j) <= ?Z? [B] a(j) >= ”a” And a(j) <= ”z” Or a(j) >= ”A” And a(j) <= ”Z” [C] “a” <= a(j) <= ”z” Or “A” <= a(j) <= ”Z” [D] (a(j) >= „a? And a(j) <= ?z?) Or (a(j) >= ?A? And a(j) <= ?Z?) 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Text1_KeyPress(K As Integer) If K < Asc("0") Or K > Asc("9") Then K = 0 Else Label1.Caption = Chr(K) + Label1.Caption End If End Sub 【供选择的答案】 (13) Text1获得输入焦点后,依次按数字键1、3、5,Label1显示: [A] 135 [B] 531 [C] 9 [D] 5 (14) Text1获得输入焦点后,依次按数字键2、7、9,Label1显示: [A] 972 [B] 279 [C] 297 [D] 18 (15) Text1获得输入焦点后,依次按 -、2、3、5键,Label1显示: [A] -532 [B] -235 [C] 532 [D] 235 (16) Text1获得输入焦点后,依次按1、2、a、5键,Label1显示: [A] 空白 [B] 12a5 [C] 5a21 [D] 521 试题5(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_Load() Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() Static k As Byte Form1.CurrentX = 0: Form1.CurrentY = 0 '窗体的所有其他属性均取缺省值 Form1.Cls If k = 0 Then k = 1 Else k = 0 If k = 0 Then Form1.ForeColor = RGB(0, 255, 0) Else _ Form1.ForeColor = RGB(0, 0, 255) Print Time End Sub 【供选择的答案】 (17) 激活Timer1后,每间隔1秒显示一次系统时间,方式是: [A]蓝、绿色交替显示 [B]蓝色显示 [C]绿色显示 [D]红色显示 (18) 系统时间的显示位置,是在: [A] 窗体右上角 [B] 窗体左上角 [C] 窗体右下角 [D] 窗体左下角 (19) 如果将Timer过程中的语句“Static k As Byte”改为“Dim k As Byte”,激活Timer1后, 窗体系统时间显示上的颜色为: [A] 蓝、绿色交替 [B] 蓝色 [C] 绿色 [D] 红色 (20) 如果要同时显示系统日期、时间,对Timer过程中Print语句之输出列表不可取的是: [A] Date,Time [B] Date;Time [C] Date-Time [D]Date + Time 试题6(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub f(b() As Integer, ByRef m As Integer) Dim i As Integer, j As Integer, k As Integer i = 1 Do While i <= m For j = 1 To m If b(i) Mod b(j) = 0 And i <> j Then For k = i To m - 1: b(k) = b(k + 1): Next k Exit For End If Next j If j > m Then i = i + 1 Else m = m - 1 Loop End Sub Private Sub Command1_Click() Dim a(6) As Integer, i As Integer, n As Integer n = 6 For i = 1 To 6: a(i) = InputBox("a(" & i & ") = "): Next i Call f(a, n) For i = 1 To n: Print a(i);: Next i End Sub 【供选择的答案】 (21) 单击Command1输入7、8、5、4、9、3后,相应的显示结果为: [A] 8 9 3 [B] 8 9 3 3 3 3 [C] 7 5 4 3 3 3 [D] 7 5 4 3 (22) 如果将过程f首句中的“ByRef”改为“Byval”,输入数据同(21),显示结果为: [A] 8 9 3 [B] 8 9 3 3 3 3 [C] 7 5 4 3 3 3 [D] 7 5 4 3 (23) 单击Comannd输入4、12、27、8、-6、3后,相应的显示结果为: [A] 4 3 3 3 3 3 [B] 4 3 [C] 12 27 8 -6 [D] 12 27 8 (24) 如果将过程f首句中的“ByRef”改为“Byval”,输入数据同(23),显示结果为: [A] 4 3 3 3 3 3 [B] 4 3 [C] 12 27 8 -6 [D] 12 27 8 试题7(28分) 编程,按Command1可输入有10个实数的数组,调用函数f求他们的平均值V,然后输出其中与V之差的绝对值为最小的那个数组元素。 请将答卷上函数过程f(包括形参列表)、事件过程Command1补充完整。 2008年秋浙江省高等学校 计算机等级考试试卷(二级 Visual Basic) 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】运行时每隔10秒钟,以窗体标题的形式显示此时正在上第几节课或是晚餐或是午休时间,等等。 【程序】 Private Sub Form_Load() Timer1.Interval = ___(1)___ End Sub Private Sub ___(2)___ _Timer() Dim x As Single x = ___(3)___ + Minute(Time) / 60 Select Case x Case Is > 21 Form1.Caption = "Over" Case ___(4)___ Form1.Caption = "第9~11节课" Case Is > 18 Form1.Caption = "晚餐时间" Case Is >= 14 Form1.Caption = "第5~8节课" Case Is > 12 Form1.Caption = "午餐时间" Case Is >= 8 Form1.Caption = "第1~4节课" End Select Print x End Sub 【供选择的答案】 (1) [A] 10 [B] 100 [D] 10000 [C] 1000 (2) [A] Interval [B] Command1 [C] Timer1 [D] Timer (3) [A] Hour(Now) [B] House(Time) [C] Hour(Date) [D] Hour() (4) [A] 19, 20, 21 [B] 19 To 21 [C] 19..21 [D] Is >= 19 And Is <= 21 试题2(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】运行时初始界面如下图左所示。单击Command1统计Text1中的单词数,单击Command2在标签控件中显示所统计的单词数(如下图右所示)。 【程序】 ___(5)___ Private Sub Command1_Click() Dim n As Integer, i As Integer, isalpha As Boolean n = Len(Text1.Text) ___(6)___ sum = 0 For i = 1 To n s(i) = Mid(Text1.Text, i, 1) Next i isalpha = False '做s[0]不是英文字母的标记 For i = 1 To n If UCase(s(i)) >= "A" And UCase(s(i)) <= "Z" Then If ___(7)___ Then '如果s[i-1]不是英文字母,而s[i]是英文 sum = sum + 1 '字母,则判定s[i]是一个单词的首字母 isalpha = True End If Else ___(8)___ End If Next i End Sub Private Sub Command2_Click() Label1.Caption = "文本中有" & sum & "个单词" End Sub 【供选择的答案】 (5) [A] Option Base 1 [B] Dim sum As Integer [C] Option Base 0 [D] sum = 0 (6) [A] ReDim s(n) As String * 1 [B] ReDim s(n) As Byte [C] Dim s(n) As String * 1 [D] Dim s(n) As Byte (7) [A] s[i] <> alpha [B] s[i] = isalpha [C] isalpha [D] Not isalpha (8) [A] isalpha = True [B] Exit For [C] isalpha = False [D] sum = sum -1 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】如下图所示,在图片框上拖动鼠标后绘制出一个轮廓线为黄色的矩形:鼠标按下、抬起位置分别为其斜对角线的顶点,在绘制一个与矩形内接、轮廓线为红色的椭圆。 【程序】 Dim x1 As Single, y1 As Single Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ___(9)___ End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim x0 As Single, y0 As Single, b As Single Picture1.Line (x1, y1)-(X, Y), ___(10)___ x0 = x1 + (X - x1) / 2 '计算椭圆中心点坐标 y0 = y1 + (Y - y1) / 2 b = Abs(Y - y1) / Abs(X - x1) '计算椭圆纵横轴之比 If ___(11)___ Then y1) / 2, 255, , , b Picture1.Circle (x0, y0), Abs(Y - Else Picture1.Circle (x0, y0), Abs(X - x1) / 2, 255, , , b End If End Sub Private Sub Form_Load() ___(11)___ End Sub 【供选择的答案】 (9) [A] CurrentX = X: CurrentY = Y [B] x1 = X: y1 = Y [C] Picture1.PSet (X, Y), vbYellow [D] X = x1: Y = y1 (10) [A] vbYellow, B [B] vbYellow, BF [C] vbYellow, Fill [D] vbYellow, FB (11) [A] b > 1 [B] b < 1 [C] b = 1 [D] b <> 1 (12) [A] Picture1.FillStyle = 0 [B] Picture1.FillStyle = True [C] Picture1.FillStyle = 1 [D] Picture1.FillStyle = False 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Command1_Click() Dim a As Integer, b As Integer, x As Long, i As Integer On Error GoTo qq a = InputBox("a=") b = InputBox("b=") x = a While Not (a Mod x = 0 And b Mod x = 0) x = x - 1 Wend Print x Exit Sub qq: MsgBox "请重新输入" Exit Sub End Sub 【供选择的答案】 (13) 单击Command1后,依次输入8、6后,显示: [A] 2 [B] 24 [C] 14 [D] 1 (14) 单击Command1后,依次输入28、16后,显示: [A] 44 [B] 1 [C] 112 [D] 4 (15) 单击Command1后,依次输入3、5后,显示: [A] 15 [B] 1 [C] 8 [D] 125 (16) 单击Command1后,依次输入4、32987后,显示: [A] 空白 [B] 1 [C] 0 [D] 请重新输入 试题5(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Function f(x() As Integer, m As Integer) As Boolean Dim i As Integer, j As Integer For i = 1 To m If x(i) < 60 Then Exit For Next i If i <= m Then f = True Else f = False If f Then For j = i To m - 1: x(j) = x(j + 1): Next j m = m - 1 End If End Function Private Sub Command1_Click() Dim a(8) As Integer, n As Integer, i As Integer a(1) = 76: a(2) = 56: a(3) = 87: a(4) = 43 a(5) = 46: a(6) = 94: a(7) = 52: a(8) = 88 n = 8 While f(a, n) For i = 1 To n Print a(i); Next i Print Wend End Sub 【供选择的答案】 (17) 单击Command1后,窗体第一行显示: [A] 76 87 43 46 94 52 88 88 [B] 76 87 94 88 [C] 76 87 43 46 94 52 88 [D] 76 87 46 94 52 88 (18) 单击Command1后,窗体第二行显示: [A] 76 87 43 46 94 52 88 88 [B] 76 87 46 94 52 88 [C] 76 87 46 94 52 88 88 88 [D] 76 87 94 52 88 88 (19) 单击Command1后,窗体第三行显示: [A] 76 87 94 52 88 88 88 88 [B] 76 87 94 88 [C] 76 87 94 52 88 [D] 76 87 94 52 88 88 (20) 单击Command1后,窗体第四行显示: [A] 76 87 94 88 [B] 56 43 46 52 [C] 76 87 94 88 88 88 88 88 [D] 76 87 94 52 88 试题6(每小题3分,共12分) 程序运行时,先后依次选中列表框控件List1中的表项“张三”、“王五”、“刘七”,如下图所示。回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【供选择的答案】 (21) 控件List1的MultiSelect属性值为: [A] True [B] 0 - None [C] 1 - Simple [D] False (22) 控件List1的ListCount属性值为: [A] 2 [B] 3 [C] 4 [D] 5 (23) 控件List1的Selected数组各元素中,值为True的元素的索引值(下标)为: [A] 0、2、4 [B] 1、3、5 [C] 1、3 [D] 2、4 (24) 控件List1的Text属性值为: [A] "张三" [B] "刘七" [C] "李四" [D] "张三 王五 刘七" 试题7(28分) 编程,按Command1后用通用对话框确定待输入的文件(格式如下,各行中四个数据分别表示学生姓名及三门功课成绩),将其中三门课成绩均及格的学生信息按同样的格式输出到“E:\score.txt”。 "张三",77,86,93 "李四",77,86,93 „„ 2009年春浙江省高等学校 计算机等级考试试卷(二级Visual Basic) 试题1(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 输入n后,计算并显示下列表达式的值。 1+1/2+1/3+1/4+…+1/n 运行时初始界面如下图左所示,输入10并按回车键后的界面如下图中所示(输入数若小于1则清空文本框,需重新输入),按“计算”按钮后的界面如下图右所示。 【程序】 Dim n As Integer Private Sub Form_Load() Command1. ___(1)___ End Sub Private Sub ___(2)___ (K As Integer) If K <> 13 Then Exit Sub ___(3)___ If n > 0 Then Command1.Enabled = True Text1.Enabled = False Else Text1.Text = "" End If End Sub Private Sub Command1_Click() Dim y As Single, i As Integer For i = 1 To n ___(4)___ Next i Label3.Caption = y Command1.Enabled = False Text1.Enabled = True Text1.Text = "" Text1.SetFocus End Sub 【供选择的答案】 (1) [A] Enabled = True [B] Enabled = False [D] Visible = False [C] Visible = True (2) [A] Text1_KeyPress [B] Text1_Click [C] Text1_Change [D] Text1_KeyDown (3) [A] k = Text1.Text [B] k = 13 [C] n = 13 [D] n = Text1.Text (4) [A] y = y + 1 / n [B] y = y + 1 \ n [C] y = y + 1 / i [D] y = y + 1 \ i 试题2(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】运行时输入10个数后,输出其中较小的5个数。 【程序】 Private Sub Command1_Click() Dim a(10) As Single, t As Single, i As Byte, j As Byte, k As Byte For i = 1 To 10 a(i) = InputBox(___(5)___) Next i For i = 1 To 9 ___(6)___ For j = i + 1 To 10 If ___(7)___ Then k = j Next j t = a(i): a(i) = a(k): a(k) = t Next i For i = ___(8)___ Print a(i) Next i End Sub 【供选择的答案】 (5) [A] "a(" & i & ")=" [B] "a(" + i + ")=" [C] "a(" , i , ")=" [D] "a(" ; i ; ")=" (6) [A] k = i [B] j = k [D] j = k + 1 [C] k = i + 1 (7) [A] a(j) > a(i) [B] a(j) < a(i) [C] a(j) > a(k) [D] a(j) < a(k) (8) [A] 5 To 1 [B] 10 To 6 [C] 1 To 5 [D] 5 To 10 试题3(每小题3分,共12分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】单击Command1以通用对话框控件选择图像文件并加载,如下图左所示。单击图片框控件P1后,将以单击处为圆心,P1宽度的三分之一为半径的圆之外的区域改为白色。下图右是鼠标单击图像鼻翼处的处理效果。窗体加载后,P1的坐标单位应为像素。 【程序】 Private Sub Command1_Click() '加载图片 CommonDialog1. ___(9)___ P1.Picture = LoadPicture(CommonDialog1.FileName) End Sub Private Sub ___(10)___ P1.ScaleMode = 3 '设置P1的坐标单位为像素 End Sub Private Sub P1_MouseDown(Button As Integer, Shift As Integer, X As Single, y As Single) Dim r As Long, i As Long, j As Long r = P1.ScaleWidth / 3 For i = P1.ScaleLeft To P1.ScaleLeft + P1.ScaleWidth For j = P1.ScaleTop To P1.ScaleTop + P1.ScaleHeight If (i - X) ^ 2 + (j - y) ^ 2 ___(11)___ r * r Then P1.PSet (i, j), ___(12)___ End If Next j Next i End Sub 【供选择的答案】 (9) [A] Action [B] ShowOpen [D] Action = 3 [C] ShowFont (10) [A] Form_Load() [B] Form_Click() [D] P1_Click() [C] P1_Load() (11) [A] < [B] > [C] <> [D] = (12) [A] White [B] RGB(0, 0, 255) [C] vbWhite [D] RGB(255, 0, 0) 试题4(每小题3分,共12分) 阅读下列程序并回答问题,在每小题提供的若干个可选答案中,挑选一个正确答案。 【程序】 Private Sub Command1_Click() Dim n As Integer, i As Integer, j As Integer List1.Clear n = InputBox("n=") ReDim a(2 To n) As Integer For i = 2 To n a(i) = i Next i For i = 2 To Sqr(n) If a(i) <> 0 Then For j = 2 * i To n Step i a(j) = 0 Next j End If Next i For i = 2 To n If a(i) <> 0 Then List1.AddItem i Next i End Sub 【供选择的答案】 (13) 单击Command1输入4 后,列表框控件逐行显示: [A] 1,2 [B] 2,3 [C] 3,4 [D] 2 (14) 单击Command1输入6 后,列表框控件逐行显示: [A] 2,3,5 [B] 2,3 [C] 3,5 [D] 2,4 (15) 单击Command1输入8 后,列表框控件逐行显示: [A] 3,5 [B] 2,4,6 [C] 3,5,7 [D] 2,3,5,7 (16) 该事件过程的功能是,输入n 后: [A] 显示小于n 的奇数 [B] 显示小于n 的偶数 [C] 显示小于n 的素数 [D] 显示不大于n 的素数 试题五(每小题3分,共 12 分) 阅读下列程序并回答问题,在每一问题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Function f(ByVal a As Integer, ByVal b As Integer) As Integer Dim r As Integer r = a Mod b While r <> 0 a = b: b = r: r = a Mod b Wend f = b End Function Private Sub Command1_Click() Dim m As Integer, n As Integer m = InputBox("m="): n = InputBox("n=") Form1.Cls Print f(m, n); m; n End Sub 【供选择的答案】 (17) 单击Command1后,输入28、36,窗体显示: [A] 4 4 8 [B] 4 8 4 [C] 4 28 36 [D] 38 36 4 (18) 单击Command1后,输入36、28,窗体显示: [A] 4 4 8 [B] 4 8 4 [C] 4 36 28 [D] 38 36 4 (19) 将函数f参数设置改为“a As Integer, b As Integer”,单击Command1后输入28、 36,窗体显示: [A] 4 4 8 [B] 4 8 4 [C] 4 28 36 [D] 38 36 4 (20) 将函数f参数设置改为“a As Integer, b As Integer”,单击Command1后输入54、 42,窗体显示: [A] 6 54 42 [B] 6 12 6 [C] 42 12 6 [D] 12 6 6 试题6(每小题3分,共12 分) 程序运行时的初始界面如下图所示,列表框中所显示的是从磁盘文件输入的信息。回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_Load() '从文件E:\aa.txt输入数据、追加到List1 Dim ss As String Open "E:\aa.txt" For Input As #1 While Not EOF(1) Line Input #1, ss List1.AddItem ss Wend Close #1 End Sub Private Sub Command1_Click() '查找、保存 Dim xm As String, rq As Date, cj As Integer Dim i As Integer For i = 0 To List1.ListCount - 1 If Val(Mid(List1.List(i), 16, 3)) > cj Then xm = Trim(Mid(List1.List(i), 1, 4)) rg = Mid(List1.List(i), 5, 10) cj = Val(Mid(List1.List(i), 16, 3)) End If Next i Open " E:\aa.txt " For Output As #1 Print #1, xm; rg; cj Close #1 End Sub (21) 单击Command1后,文件E:\aa.txt中第1行显示: [A] 王小波1987-12-05 92 [B] "王小波","1987-12-05",92 [C] 董召弟1988-05-24 43 [D] "董召弟","1988-05-24",43 (22) 若将Click事件中“Print #1”用“Write #1”置换,单击Command1后,文件E:\aa.txt 中第1行显示: [A] 王小波1987-12-05 92 [B] "王小波","1987-12-05",92 [C] 董召弟1988-05-24 43 [D] "董召弟","1988-05-24",43 (23) 单击Command1后,文件E:\aa.txt中的记录数(行数)为: [A] 1 [B] 10 [C] 11 [D] 12 (24) 若将Click事件中“Output”用“Append”置换,运行后文件E:\aa.txt中的记录数为: [A] 1 [B] 10 [C] 11 [D] 12 试题7(28分) 编程,求一组数X1、X2、„、Xn的算术平均值与 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 差,计算公式如下图左所示,界面设计如下图右所示。单击Command1输入数据个数n以及n个数,单击Command2计算并显示n个数的算术平均值,单击Command3计算并显示他们的标准差。 n2()XX,,in1,1iXX, ,,,inn,1,1i 2009年秋浙江省高等学校 计算机等级考试试卷(二级Visual Basic) 第一部分 程序阅读与填空(24小题,每小题3分,共72分) 1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】输入n、x(x的绝对值必须小于1)后,计算并显示下列表达式的值。 231n,xxxx(), 1,,,,,234n 【程序】 Private Sub Command1_Click() Dim y As Single, x As Single, t As Single Dim n As Integer, i As Integer, f As Integer n = InputBox("n=") Do x = InputBox("x=") Loop _____(1)_____ y = 1: _____(2)_____ For i = 2 To _____(3)_____ t = -t * x: _____(4)_____ Next i Print y End Sub 【供选择的答案】 (1) [A] While Abs(x) < 1 [B] While x > -1 And x < 1 [C] Until Abs(x) < 1 [D Until x > 1 (2) [A] t = -x / 2 [B] t = -1 [C] t = 0 [D] t = 1 (3) [A] n - 2 [B] n [C] n - 1 [D] n + 1 (4) [A] y + t / i [B] t * i [C] t / i [D] y = y + t / i 2. 阅读下列程序说明和程序,在每小题提供的若干可选择答案中,挑选一个正确答案。 【程序说明】单击Command1后计算机List1中所有数的平均值,清空列表框控件List2中所有表项后将List1中所有小于平均值的数据写入到List2(如下图所示)。 【程序】 Private Sub Command1_Click() Dim n As Integer, i As Integer, s As Single, v As Single n = _____(5)_____ _____(6)_____ For i = 1 To n a(i) = _____(7)_____: v = v + a(i) Next i v = v / n: _____(8)_____ For i = 1 To n If a(i) < v Then List2.AddItem a(i) Next i End Sub 【供选择的答案】 (5) [A] List1.ListCount -1 [B] List1.ListCount [C] List1.ListIndex [D] List1.Count (6) [A] ReDim a(n - 1) [B] Dim a(n) As Single [C] ReDim a(n) As Single [D] Dim a(n) (7) [A] List1.List(i - 1) [B] List1.List (i) [C] List1.Text [D] List1.List (i + 1) (8) [A] List2.Move [B] List2.List = "" [C] List2.Cls [D] List2.Clear 3. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】运行时初态如下图所示,Text2、Text3、Command1不可用。输入姓名按回车Text2可用,输入学号Text3可用,输入成绩按回车“保存”按钮可用,按“保存”将数据添加到文件E:\Score.txt,界面恢复初态。退出前可继续输入、保存数据。 【程序】 Private Sub f() _____(9)_____ Text1.Text = "": Text1.Enabled = True Text2.Text = "": Text2.Enabled = False Text3.Text = "": Text3.Enabled = False Text1.SetFocus 'Text1获得输入焦点 End Sub Private Sub Form_Activate() '窗体加载后调出f()初始化 Call f End Sub Private Sub Text1_KeyPress(k As Integer) If k = 13 Then Text2.Enabled = True: Text2.SetFocus End Sub Private Sub Text2_KeyPress(k As Integer) If k = 13 Then Text3.Enabled = True: Text3.SetFocus End Sub Private Sub Text3_KeyPress(k As Integer) If k = 13 Then Command1.Enabled = True End Sub Private Sub Command1_____(10)_____ Open "E:\Score.txt" For _____(11)_____ As #1 Write #1, Text1.Text, Text2.Text, Val(Text3.Text) Close #1 _____(12)_____ End Sub 【供选择的答案】 (9) [A] Command1.Visible = True [B] Command1.Enabled = True [C] Command1.Visible = False [D] Command1.Enabled = False (10) [A] _KeyUp() [B] _KeyDown() [C] _Click() [D] _KeyPress() (11) [A] Input [B] Append [C] Output [D] Write (12) [A] Call Sub f() [B] Call f [C] f() [D] Command1.Enabled = False 4. 阅读下列程序说明的程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Command1_Click() Dim n As Integer, k As Integer n = Val(Text1.Text): Label1.Caption = "" While n <> 0 k = n Mod 16 If k < 10 Then Label1.Caption = Trim(Str(k)) + Label1.Caption Else Label1.Caption = Chr(k - 10 + Asc("a")) + Label1.Caption End If n = n \ 16 Wend End Sub 【问题】 (13) 在Text1中输入“19”后。单击命令按钮Command1,标签按钮Label1中显示: [A] 31 [B] 13 [C] 3,1 [D] 1,3 (14) 在Text1中输入“25”后。单击命令按钮Command1,标签按钮Label1中显示: [A] 3119 [B] 1913 [C] 19 [D] 2,4 (15) 在Text1中输入“29”后,单击命令按钮Command1,标签按钮Label1中显示: [A] C1 [B] 1C [C] 1D [D] 1d (16) 在Text1中输入“42”后,单击命令按钮Command1,标签按钮Label1中显示: [A] 2a [B] a2 [C] 2,a [D] A2 5. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub f1(a() As Single, n As Integer) Dim i As Integer For i = 1 To n: a(i) = a(i) + 1: Next i End Sub Private Function f2(a() As Single, n As Integer) As Single Dim i As Integer Call f1(a, n) For i = 1 To n f2 = f2 + a(i) Next i f2 = f2 / n End Function Private Sub Command1_Click() Dim n As Integer, i As Integer n = InputBox("n=") ReDim x(n) As Single For i = 1 To n x(i) = InputBox("x(" & i & ")=") Next i Print f2(x, n) End Sub 【问题】 (17) 单击命令按钮Command1后输入3、1、2、3这四个数,显示结果为: [A] 2.5 [B] 4 [C] 2 [D] 3 (18) 单击命令按钮Command1后输入4、1、2、3、4这五个数,显示结果为: [A] 3.5 [B] 5 [C] 4 [D] 3 (19) 单击命令按钮Command1后输入5、1、2、3、4、5这六个数,显示结果为: [A] 3 [B] 3.5 [C] 4 [D] 4.5 (20) 若删除函数中f2中的语句“Call f1(a, n)”,单击Command1后输入3、1、2、3这四个 数,显示结果为: [A] 2.5 [B] 4 [C] 2 [D] 3 6. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Form_Load() P1.Width = P1.Height P1.Scale (-100, 100)-(100, -100) End Sub Private Sub Command1_Click() Dim x As Single, y As Single P1.Circle (0, 0), 80, RGB(255, 0, 0) P1.FillStyle = 0: P1.FillColor = vbYellow P1.Circle (P1.ScaleLeft + P1.ScaleWidth / 2, P1.ScaleTop + P1.ScaleHeight / 2), _ 40, RGB(0, 0, 255) P1.FillColor = vbGreen For x = -60 To 60 Step 0.01 y = Sqr(3600 - x * x) P1.PSet (x, y), RGB(0, 255, 0) P1.PSet (x, -y), RGB(0, 255, 0) Next x End Sub 【问题】 (21) 运行是第一次单击命令按钮Command1后,图片框控件P1中显示为: [A] 两个圆 [B] 三个圆 [C] 两个圆和一个矩形 [D] 两个圆和一个椭圆 (22) 运行时第一次单击命令按钮Command1后,图片框控件P1中这些圆的圆心: [A] 各不相同 [B] 相同 [C] 都在P1左上角 [D] 都在P1右下角 (23) 运行时第一次单击Command1后,P1中显示实心圆的半径、填充色分别是: [A] 40,黄色 [B] 40,绿色 [C] 80,红色 [D] 60,绿色 (24) 运行时第二次单击Command1后,P1中半径为80的圆的填充色为: [A] 红色 [B] 灰色 [C] 黄色 [D] 绿色 第二部分 程序编写(2小题,每小题14分,共28分) 1. 编制事件过程Command1_Click,输入后,计算下列函数的值。 x ,xx,,55, fx(),,3log5,,xx,10, 2. 编程,求一组数,,„„,的中的最大值。 xxx1220 要求:编制一个自定义函数过程f,返回n个Single类型数中的最大值;编制事件过程Command1_Click,输入20个数、调用f后显示其中的最大值。 2010年春浙江省高等学校 计算机等级考试试卷(二级Visual Basic) 第一部分 程序阅读与填空(24小题,每小题3分,共72分) 1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 数列1、1、2、3、5、8、„„中,从第三项起的各项均为其前两项之和,计算并显示数列的第36项(已知该项值大于10000000)。 【程序】 Private Sub Command1_Click() Dim ___(1)___ Dim i As Integer ___(2)___ For i = ___(3)___ f3 = f1 + f2 ___(4)___ Next i Print f3 End Sub 【供选择的答案】 (1) [A] f1, f2, f3 As Integer [B] f1 As Long, f2 As Long, f3 As Long [C] f(36) As Long [D] f1 As Byte, f2 As Byte, f3 As Byte (2) [A] f1 = f2 = 1 [B] f(1) = 1: f(2) = 1 [C] f1 = 1: f2 = 1 [D] f(1) = f(2) = 1 (3) [A] 3 To 36 [B] 1 To 36 [C] 2 To 36 [D] 1 To 35 (4) [A] f3 = f2: f2 = f1 [B] f2 = f1: f3 = f2 [C] f2 = f3: f1 = f2 [D] f1 = f2: f2 = f3 2. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 若列表框控件List1中某表项为其他两表项之和,单击Command1 后将这些表项添加到列表框控件List2中(如下图所示) 【程序】 Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer, n As Integer n = ___(5)___ For i = 0 To n - 1 For j = 0 To n - 1 For k = 0 To n - 1 If ___(6)___ Then If ___(7)___ Then List2.AddItem List1.List(i) ___(8)___ End If End If Next k If k <= n - 1 Then Exit For Next j Next i End Sub 【供选择的答案】 (5) [A] ListCount [B] List1.ListCount – 1 [C] List1.ListCount [D] ListCount - 1 (6) [A] i <> j Or j <> k Or i <> k [B] i <> j And j <> k And i <> k [C] i <> j Or j <> k [D] Not i = j Or j = k Or i = k (7) [A] List1.List(i) = List1.List(j) + List1.List(k) [B] Val(List1.List(i)) = Val(List1.List(j)) + Val(List1.List(k)) [C] List(i) = List(j) + List(k) [D] List(i) = List(j) & List(k) (8) [A] k = k + 1 [B] j = j + 1 [C] Exit Do [D] Exit For 3. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】 某文本文件存储若干学生的学号和两门课成绩,下列事件过程用通用对话框控件选择该文件,在Label1显示总分最高的学生之学号、总分。 【程序】 Private Sub Form_Click() Dim xh As String, zf As Integer Dim x As String, k1 As Integer, k2 As Integer Commondialog1.___(9)___ Open CommonDialog1.FileName For Input As #1 ___(10)___ Input #1, x, k1, k2 If ___(11)___ Then zf = k1 + k2 xh = x End If Loop Close #1 Label1.Caption = ___(12)___ End Sub 【供选择的答案】 (9) [A] ShowOpen [B] Action = 3 [C] ShowColor [D] Action = 4 (10) [A] Do While Eof(1) [B] While Not Eof(1) [C] Do Until Not Eof [D] Do While Not Eof(1) (11) [A] k1 + k2 > zf [B] k1 + k2 < zf [C] k1 > k2 [D] x + k1 > k2 (12) [A] xh + "," + zf [B] x + "," + k1 + k2 [C] xh & "," & zf [D] x & "," & k1 + k2 4. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Command1_Click() Dim i As Integer, j As Integer, x As Integer List1.Clear List1.List(0) = InputBox("x =") For i = 1 To 3 x = InputBox("x =") For j = 0 To List1.ListCount - 1 If x < List1.List(j) Then List1.AddItem x, j Exit For End If Next j If j = List1.ListCount Then List1.AddItem x Next i End Sub 【供选择的答案】 (13) 单击命令按钮Command1 后输入3、2、7、5这4个数,列表框中依次显示: [A] 2 3 7 5 [B] 2 3 5 7 [C] 7 5 3 2 [D] 2 5 3 7 (14) 单击命令按钮Command1 后输入3、-4、6、5这4个数,列表框中依次显示: [A] 6 5 3 -4 [B] 3 -4 6 5 [C]-4 3 5 6 [D] 3 -4 5 6 (15) 如果删除其中语句"Exit For",单击命令按钮Command1 后输入2、3、4、5这4个数, 列表框中依次显示: [A] 2 4 5 3 [B] 4 5 3 2 [C] 5 4 3 2 [D] 2 3 4 5 (16) 如果删除其中语句"Exit For",单击命令按钮Command1 后输入2、4、5、3这4个数, 列表框中依次显示: [A] 2 3 3 4 5 [B] 2 3 2 4 5 [C] 5 4 3 2 2 [D] 2 3 4 5 2 5. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Function f10_2(n As Integer) As String While n <> 0 f10_2 = n Mod 2 & f10_2 n = n \ 2 Wend End Function Private Sub Command1_Click() Dim n As Integer n = InputBox("n") Print f10_2(n) End Sub 【供选择的答案】 (17) 单击命令按钮Command1 后输入6,显示结果为: [A] 011 [B] 110 [C] 632 [D] 321 (18) 单击命令按钮Command1 后输入7,显示结果为: [A] 111 [B] 10101 [C] 0111 [D] 1110 (19) 将函数f10_2中语句“f10_2 = n Mod 2 & f10_2”改为“f10_2 = f10_2 & n Mod 2”,单 击命令按钮Command1 后输入6,显示结果为: [A] 011 [B] 110 [C] 632 [D] 321 (20) 将函数f10_2中语句“While n <> 0”改为“While n <> 1”,单击命令按钮Command1 后 输入7,显示结果为: [A] 101 [B] 111 [C] 011 [D] 11 6. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】 Private Sub Command1_Click() Dim b As Single If P1.ScaleHeight > P1.ScaleWidth Then b = P1.ScaleWidth / P1.ScaleHeight Else b = P1.ScaleHeight / P1.ScaleWidth End If P1.Circle (0, 0), P1.ScaleWidth / 2, vbRed, , , b End Sub Private Sub Form_Load() P1.ScaleMode = 3 P1.FillStyle = 0 P1.FillColor = RGB(0, 0, 225) P1.Scale (-P1.ScaleWidth / 2, P1.ScaleHeight / 2)-(P1.ScaleWidth / 2, -P1.ScaleHeight / 2) End Sub 【供选择的答案】 (21) 窗体加载后,图片框控件P1的坐标原点被设置在: [A] 图片框左上角 [B] 图片框右下角 [C] 图片框右上角 [D] 图片框中心 (22) 窗体加载后,图片框控件P1的坐标单位被设置为: [A] 厘米 [B] 像素 [C] 毫米 [D] 缇 (23) 单击命令按钮Command1 后,图片框控件P1中显示为: [A] 圆角矩形 [B] 扇形 [C] 内接椭圆 [D] 矩形 (24) 图片框控件P1中所绘制图形的边沿线颜色和填充色分别为: [A] 红色、兰色 [B]红色、绿色 [C] 黑色、绿色 [D] 黑色、兰色 第二部分 程序编写(2小题,第1小题18分,第2小题10分,共28分) 1. 编制过程Command1_Click,输入x、n后,根据下列公式计算多项式L(n, x)的值。要求使用Select Case语句。 10n,, ,xn,1,,2Lnx(,),(31)/22xn,, , 2,(53)/23xxn,,,,22((3530)3)/84xxn,,,,,, 2. 编写一个自定义函数过程f,计算并返回下列表达式的值。 aaaa31n,12 ,,,,aaaa234n
本文档为【浙江省历年vb二级考试试题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:457KB
软件:Word
页数:95
分类:互联网
上传时间:2017-10-16
浏览量:120