绝密 考试结束前 浙江省 2015 年 4 月高等教育自学考试 VisualBasic 程序设计试题 课程代码 :07759 请考生按规定用笔将所有试题的答案涂 写在答题纸上 注意事项 : 选择题部分 1. 答题前, 考生务必将自己的考试课程名称 姓名 准考证号用黑色字迹的签字笔或钢笔 填写在答题纸规定的位置上 2. 每小题选出答案后, 用 2B 铅笔把答题纸上对应题目的答案标号涂黑 如需改动, 用橡 皮擦干净后, 再选涂其他答案标号 不能答在试题卷上 一 单项选择题 ( 本大题共 10 小题, 每小题 2 分, 共 20 分 ) 在每小题列出的四个备选项中只有一个是符合题目要求的, 请将其选出并将 答题纸 的相应代码涂黑 错涂 多涂或未涂均无分 1.VisualBasic 中的数值可以用十六进制或八进制表示, 十六进制数的开头符是 &H, 八进制数的开头符号是 A.$O B.&O C.$E D.&E 2. 以下语句的输出结果是 a=sqr(30) PrintFormat$ (a,"$####.###") A.$5.477 B.5.477 C.5477 D.$0005.477 3. 在 VisualBasic 中, 要使标签的标题栏靠右显示, 则将其 Alignment 属性设置为 A.0 B.2 C.1 D.3 4. 确定一个控件在窗体上的位置的属性是 A.Width 和 Height B.Width 或 Height C.Top 和 Left D.Top 或 Left 5. 以下说法不正确的是 A. 使用 ReDim 语句可以改变数组的维数 B. 使用 ReDim 语句可以改变数组的类型 C. 使用 ReDim 语句可以改变数组的每一维的大小 D. 使用 ReDim 语句可以对数组中的所有元素进行初始化 07759# VisualBasic 程序设计试卷第 1 页 ( 共 10 页 )
6. 在属性窗口中, 加载指定的图形放入当前对象中的属性是 A.CurrentY B.Picture C.CurrentX D.Caption 7. 在过程调用中, 参数的传递可以分为按值传递和 A. 按参数传递 B. 按数值传递 C. 按地址传递 D. 按位置传递 8. 以下叙述中, 不正确的是 A. 过程中的形式参数是局部变量 B. 不同的过程中可以使用相同名字的局部变量 C. 在一个过程内定义的变量只能在本过程范围内有效 D. 在一个过程内的局部变量与全局变量同名时, 起作用的是全局变量 9. 在 VisualBasic 中, 要将一个窗体加载到内存进行预处理但不显示所使用的语句是 A.Hide B.Show C.Load D.Unload 10. 在 VisualBasic 中按文件的数据性质不同, 可将文件分为 A. 数据文件和程序文件 B. 文本文件和数据文件 C. 顺序文件和随机文件 D.ASCI 文件和二进制文件二 判断题 ( 本大题共 10 小题, 每小题 1 分, 共 10 分 ) 判断下列各题, 在答题纸相应位置正确的涂 A, 错误的涂 B 11. 在 VisualBasic 中, 对象是代码和数据的集合 12. 块 If 结构中的 Endif 是不可缺省的 13. 在消息框 (MsgBox) 中, Prompt ( 消息 ) 是必选项, 最大长度为 64 个字符 14. 拖动滚动条滑块的过程中, 没有执行滚动条控件的 Change 事件, 但在拖动过程停止时, 执行了滚动条控件的 Change 事件 15. 在使用 Redim 重新定义数组时, 下标可以用具有确定值的变量来表示 16. 当对 DrawWidth 进行设置后, 将影响 Line Circle Pset 方法, 但不会影响 Line Shape 控件 17. 因为 Function 过程有返回值, 所以只能在表达式中调用, 而不能使用 Cal 语句调用 18. 若用数组作为过程的参数, 则实参和形参结合是按地址传递的, 定义过程时, 参数前不能使用 ByVal 19. 如果创建的菜单的标题是一个减号 -, 则该菜单显示为一个分隔线, 此菜单项也可以识别单击事件 20. 运行时目录列表框的 List 属性可以用 AddItem 和 RemoveItem 两种方法来改变 07759# VisualBasic 程序设计试卷第 2 页 ( 共 10 页 )
三 程序填空题 ( 本大题共 11 小题, 每小题 2 分, 共 22 分 ) 阅读下列各程序, 根据程序说明在每小题提供的若干可选答案中挑选一个正确答案, 用字母 A B C 或 D 填写在答题纸相应位置上 ( 一 ) 程序说明 打开文本文件 c:\data1.txt, 从中找出所有的数字字符 ; 并将这些数字写入文件 c:\data2.txt 中 程序 DimcAsString Open"c:\data1.txt"ForInputAs#1 (21) DowhileNotEOF(1) LineInput#1,c Fori=1To (22) IfMid(c,i,1)>=48And Mid(c,i,1)<=57then (23) Nexti Loop Close#1 (24) 供选择的答案 21.A.Open"c:\data2.txt"ForOutputAs#2 B.Open"c:\data2.txt"ForInputAs#2 C.Open"c:\data2.txt"ForReadAs#2 D.Open"c:\data2.txt"ForAppendAs#2 22.A.c B.9 C.Length(c) 23.A.Print#1,Mid(c,i,1) C.Print#2,Mid(c,i,1) 24.A.End #2 C.Exit#2 D.Len(c) B.Input#1,Mid(c,i,1) D.Input#2,Mid(c,i,1) B.Close#2 D.Kil#2 07759# VisualBasic 程序设计试卷第 3 页 ( 共 10 页 )
( 二 ) 程序说明 设计用按钮数组 command1(0)-command1(9) 做一个模拟电话拨号程序 运 行时, 单击各数字按钮后, 在标签 label1 中显示所拨的号码, 按 删除 键 command2, 删除 最后一个号码, 按 取消 键 command3, 则撤销所有拨号, 清空标签 程序 (25) PrivateSubCommand1_Click(IndexAsInteger) num = num & (26) Label1.Caption = num PrivateSubCommand2_Click() (27) Label1.Caption = num PrivateSubCommand3_Click() (28) num = "" 供选择的答案 25.A.OptionExplicit C.Dimnum AsString 26.A.Command1.Caption C.Command1 B.Staticnum AsString D.Dimnum AsInteger B.Command1(Index).Caption D.Command1(Index) 07759# VisualBasic 程序设计试卷第 4 页 ( 共 10 页 )
27.A.num=Right(num,Len(num) 1)B.num=Right(num,Len(num)) C.num=Left(num,Len(num) 1) D.num=Left(num,Len(num)) 28.A.Label1.Caption = "" B.Label1.Text= "" C.Label1= "" D.Label1.Cls ( 三 ) 程序说明 下列程序运行时, 先输入各公司月销售额, 然后单击命令按钮, 图片框中用红 绿 蓝色显示 A B C 公司销售额的圆饼图 ( 如下图所示 ) 程序 PrivateSubForm_Load() Picture1.Width = Picture1.Height ConstPI= 3.141593 DimaAsSingle,bAsSingle,cAsSingle,xAsSingle Picture1.Scale(-8,-8)-(8,8) (29) a = Text1(0).Text:b = Text1(1).Text:c= Text1(2).Text x = (30) Picture1.FilColor= RGB(255,0,0) Picture1.Circle(0,0),6,0, (31) Picture1.FilColor= RGB(0,255,0) Picture1.Circle(0,0),6,0,-a* x,-(a+ b)* x Picture1.FilColor= vbblue Picture1.Circle(0,0),6,0,-(a+ b)* x,-(a+ b + c)* x 07759# VisualBasic 程序设计试卷第 5 页 ( 共 10 页 )
供选择的答案 29.A.Picture1.FilStyle = 3 B.Picture1.FilStyle = 2 C.Picture1.FilStyle = 1 D.Picture1.FilStyle = 0 30.A.2 * PI/ (a+ b + c) C.PI/(a+ b + c) 31.A.-2 * PI,a* x B.(a+ b + c)/(2 * PI) D.(a+ b+ c)/pi B.-2 * PI,-a* x C.2 * PI,a* x D.2 * PI,-a* x 四 程序阅读题 ( 本大题共 11 小题, 每小题 2 分, 共 22 分 ) 阅读下列各程序并回答问题, 在每小题提供的若干可选答案中挑选一个正确答案, 用字母 A B C 或 D 填写在答题纸相应位置上 ( 一 ) 程序 OptionExplicit Dim A AsInteger A = 3 CalSub1(A) PrintA PrivateSubSub1(X AsInteger) X = X * 2 + 1 IfX < 10Then CalSub1(X) EndIf X = X * 2 + 1 PrintX 问题与供选择的答案 运行上述程序, 单击按钮 Command1, 则 : 32. 窗体上显示行数据 A.1 B.2 C.3 D.4 07759# VisualBasic 程序设计试卷第 6 页 ( 共 10 页 )
33. 窗体上显示的第一行数据是 A.31 B.32 C.33 D.34 34. 窗体上显示的第二行数据是 A.61 B.62 C.63 D.64 35. 窗体上显示的最后一行数据是 A.61 B.62 C.63 D.64 ( 二 ) 程序 OptionExplicit OptionBase1 Dima(4,4)AsInteger,ubAsInteger DimiAsInteger,jAsInteger,nAsInteger ub = UBound(a,1) n = 0 Fori= ubto1step -1 Forj= 1Toub + 1 -i n = n + 1 a(j,j+i- 1)= n Nextj Nexti Fori= ubto2step -1 Forj= ubtoistep -1 a(j,j-i+ 1)= a(5 -j,4 -j+i) Nextj Nexti Fori= 1Toub Forj= 1Toub Printa(i,j); Nextj Print Nexti 07759# VisualBasic 程序设计试卷第 7 页 ( 共 10 页 )
问题与供选择的答案 运行上述程序, 单击窗体上的按钮 Command1, 则 : 36. 数组 A(1,4) 的值是 A.1 B.2 C.4 D.10 37. 数组 A(2,3) 的值是 A.5 B.3 C.6 D.9 38. 数组 A(3,2) 的值是 A.6 B.8 C.5 D.3 ( 三 ) 程序 OptionExplicit Dim SAsString,N AsInteger S = Text1 N = Text2 Text3 = Convert(S,N) PrivateFunctionConvert(SAsString,N AsInteger)AsLong Dim StAsString,L AsInteger,IAsInteger L = Len(S) Do WhileL >= 1 St= Left(S,1) IfSt> "9"Then St= Asc(St)- 55 EndIf Convert= Convert+ Val(St)* N (L - 1) L = L - 1 S = Right(S,L) Loop EndFunction 07759# VisualBasic 程序设计试卷第 8 页 ( 共 10 页 )
问题与供选择的答案 运行上述程序, 则 : 39. 在文本框 Text1 中输入 4AB, 在文本框 Text2 中输入 14, 点击按钮 Command1, 在文本框 Text3 中输出显示 A.1195 B.935 C.1061 D.511 40. 在文本框 Text1 中输入 3BC, 在文本框 Text2 中输入 16, 点击按钮 Command1, 在文本框 Text3 中输出显示 A.422 B.292 C.754 D.956 41. 在文本框 Text1 中输入 234, 在文本框 Text2 中输入 10, 点击按钮 Command1, 在 文本框 Text3 中输出显示 A.234 B.156 C.564 D.438 42. 在文本框 Text1 中输入 487, 在文本框 Text2 中输入 9, 点击按钮 Command1, 在文本框 Text3 中输出显示 A.327 B.403 C.487 D.1159 非选择题部分 注意事项 : 用黑色字迹的签字笔或钢笔将答案写在答题纸上, 不能答在试题卷上 五 程序设计题 ( 本大题共 2 小题, 每小题 13 分, 共 26 分 ) 43. 窗体中有一个按钮 Command1, 一个列表框 List1 单击 求 200~300 之间的素数 按钮, 列表框 List1 中显示 200~300 之间的素数 运行界面如图所示 请编写完整的事件过程完成以上功能 07759# VisualBasic 程序设计试卷第 9 页 ( 共 10 页 )
44. 窗体中有四个标签 Label1 Label2 Label3 和 Label4, 四个文本框 Text1 Text2 Text3 和 Text4, 一个按钮 Command1 在文本框 Text1 中输入一个三位的正整数, 单击 求各位数字 按钮, 在文本框 Text2 Text3 和 Text4 中分别显示这个三位正整数的个位数字 十位数字和百位数字 运行界面如图所示 请编写完整的事件过程完成以上功能 07759# VisualBasic 程序设计试卷第 10 页 ( 共 10 页 )