2015年秋江苏省计算机二级VB考试题目样卷 |
2015秋江苏省高等学校计算机等级考试 二级Visual Basic考试样卷 (本试卷完成时间 120分钟) 第一部分 计算机信息技术基础知识 本套试卷的详细讲解请登录http://school.njwww.net/kecheng/detail_897001查阅 一、选择题(共20分,每题2分) 1.下列关于数字技术与微电子技术的叙述中,错误的是______ 。 A.数字技术的处理对象是"比特",一个触发器可以存储2个比特 B.在数据通信时,远距离传输或者无线传输时需要用比特对载波进行 C.现代集成电路使用的半导体材料主要是硅 D.我国第2代居民身份证中使用了非接触式IC芯片 2.下列关于台式PC芯片组的叙述中,错误的是______ 。 A.芯片组是主板上最为重要的部件之一,存储器控制、I/O控制等功能主要由芯片组实现 B.芯片组与CPU同步发展,有什么样功能和速度的CPU,就需要使用什么样的芯片组 C.芯片组决定了主板上能安装的内存最大容量及可使用的内存条类型 D.同CPU一样,用户可以很方便、很简单地更换主板上的芯片组 3.下列关于I/O设备的叙述中,错误的是______。 A.目前平板电脑、智能手机的触摸屏大多为"多点触摸屏",可同时感知屏幕上的多个触控点 B.扫描仪可分为手持式、平板式和滚筒式等类型,目前普通家用/办公用扫描仪大多为滚筒式 C.目前一些型号的数码相机已具有拍摄视频和进行录音的功能 D.为了降低成本,目前许多PC采用集成显卡,其显示控制器被集成在芯片组中 4.下列关于PC外存储器的叙述中,错误的是____。 A.目前PC采用的硬盘,其盘片的直径通常为3.5英寸、2.5英寸或1.8英寸 B.U盘和存储卡都是采用闪烁存储器制作的,目前其容量大多为几GB至几十GB C.目前固态硬盘的存储容量大多为数百GB,但其读写速度远不如传统硬盘(硬磁盘) D.蓝光光盘是目前最先进的大容量光盘,单层盘片的存储容量可达25GB 5.下列关于Windows操作系统功能的叙述中,错误的是______。 A.对于多任务处理,系统一般采用按时间片轮转的策略进行处理器调度 B.系统采用了虚拟存储技术进行存储管理,其页面调度算法为"最近最少使用"( LRU)算法 C.系统支持多种文件系统(如FAT32、NTFS、CDFS等)以管理不同的外存储器 D.系统支持任何I/O设备的"即插即用"和"热插拔" 6.下列关于程序设计语言的叙述中,错误的是____。 A.虽然机器语言不易记忆、机器语言程序难以阅读和理解,但目前还有很多人使用其编写程序 B.汇编语言与计算机的指令系统密切相关,不同类型的计算机,其汇编语言通常不同 C.VBScript语言是VB的子集,用其编写的程序可以嵌入在HTML文档中以扩充网页的功能 D.Java语言是一种适用于网络环境的程序设计语言,目前许多手机软件就是用Java编写的 7.下列关于通信技术的叙述中,错误的是______。 A.调制与解调技术主要用于模拟通信,在数字通信中不需要使用调制与解调技术 B.使用多路复用技术的主要目的是提高传输线路的利用率,降低通信成本 C.在数据通信中采用分组交换技术,可以动态分配信道资源,提高传输效率和质量 D.数据通信网络大多采用分组交换技术,但不同类型网络的数据包格式通常不同 8.Internet使用TCP/IP协议实现了全球范围的计算机网络的互连,连接在 Internet上的每一台主机都有一个IP地址。目前使用的是IPv4标准(32位地 址),下一代互联网将会采用IPv6标准,其IP地址为____。 A.48位 B.64位 C.96位 D.128位 9.下列关于字符编码标准的叙述中,错误的是____。 A.在ASCII标准中,每个字符采用7位二进制编码 B.在绝大多数情况下,GB2312字符集包含的1万多个汉字足够使用 C.Unicode字符集既包含简体汉字,也包含繁体汉字 D.中文版Windows XP及其后的Windows系列操作系统均支持国标GB18030 10.由于采用的压缩编码方式及数据组织方式的不同,图像文件形成了多种不同的文件格式。在下列四种图像文件中,常用于网页上发布并可具有动画效果的是 。 A. BMP B.JPEG C.GIF D. TIF 参考答案: 1.A 3.B 2.D 4.C 5.D 6.A 7.A 8.D 9.B 10.C 第二部分 Visual Basic程序设计 一、选择题(共10分,每题2分) 1.以下有关对象事件过程的说法中,错误的是____。 A.对象事件过程的参数由系统决定,用户不得随意添加或改变 B.窗体事件过程名中的对象名为窗体的名称(Name属性值) C.控件事件过程名中的对象名为控件的名称(Name属性值) D.对象事件过程可以通过Call语句调用执行 2.设字符串变量a已赋值"Visual Basic",以下表达式中运算结果等于2的是______。 A.InStr(a,"a") B. InStr(Left(a, 2) & Right(a,6),"a") C. InStr(Right(a,InStr(a,"a")),"a") D. InStr(Left(a,InStr(a,"a")),"a") 4.以下有关动态数组的说法中,错误的是______。 A.动态数组可用ReDim语句重新说明其维数和大小 B.不能用ReDim语句改变动态数组的数据类型 C.含有Preserve关键字的ReDim语句只能改变数组最后一维的维上界 D.主调过程中说明的动态数组只能在本过程中使用ReDim语句重新定义 5.以下有关自定义函数过程的说法中,错误的是______。 A.自定义函数名的数据类型与形参自变量的数据类型有关 B.未说明自定义函数名的数据类型时,返回函数值的类型为变体类型 C.自定义函数过程内不得再定义其他函数过程 D.自定义函数过程的形参中,可以包含数组参数 二、填空题(共20分,每空2分) 1.执行下面程序,单击Command1按钮后,列表框上显示的第一个列表项内容是 ___(1)___ ,最后一个列表项内容是 ___(2)___ 。 Option Explicit Private Sub Command1_Click( ) Dim st As String, p As String * 1, i As Integer, js As Integer st = "12233" p = Mid( st, 1, 1) js = 1 i=1 Do i=i+1 If Mid( st, i, 1) = p Then js = js + I Else List1.AddItem p & " :" & js p = Mid(st, i, 1) js = 1 End If Loop While i < Len(st) List1.AddItem p & " :" & js End Sub 2.执行下面程序,在"输入:"文本框Text1中输入"12,3,5,18,9"后单击"输入数组"按钮Command1,则数组元素a(2)的值是 ___(3)___ ,在单击"数组处理"按钮Command2后数组元素a(2)的值变为 ___(4)___ 。 Option Explicit Option Base 1 Dim a()As Integer 定义模块级数组 Private Sub Command1_Click() 输入数组 Dim i As Integer,st As String,j As Integer st = Text1.Text Do Until InStr(st, " ," ) = 0 i=Instr(st,",") j=j+1 ReDim Preserve a(j) a(j) = Val(Left( st, i - 1)) st = Right(st, Len(st) - i) Loop ReDim Preserve a(j + 1) a(j+1) = st End Sub Private Sub Command2_Click( ) '数组处理 Dim i As Integer, t As Integer, j As Integer For i= 2 To UBound(a) If a(i)> a(1) Then t=a(i) For j = i To 2 Step -1 a(j) = a(j - 1) Next j a(1)=t End If Next i For i =1 To UBound( a) Text2.Text = Text2.Text & Str(a(i)) Next i End Sub 3.执行下面程序,单击命令按钮Command1后,窗体显示的第一行内容是___(5)___,第二行内容是___(6)___ ,第三行内容是___(7)___ 。 Option Explicit Dim K As Integer Private Sub Command1_Click( ) Dim A As Integ;er, B As Integer A = 11: B = 2 K = Fun((A), B) + Fun(A, A) Print K End Sub Private Function Fun( N As Integer, M As Integer) As Integer N = N\2 K = K+N If N Mod 2 < > 0 Then N=N+1 End If M=M+K Fun = M + N Print M, N End Function 4. 执行下面程序,单击Command1按钮,则在窗体上显示的第一行内容是 ___(8)___ ,第二行内容是 ___(9)___ ,最后一行内容是 ___(10)___ 。 Option Explicit Private Sub Command1_Click( ) Dim a As Integer, b As String a = 27 Do b = fun(a) a = a\5 Loop Until a = 0 Print b End Sub Private Function fun(n As Integer) As String Static s As String s = CStr(n Mod 5) & s fun = s Print s End Function 三、操作题(共50分) 1.完善程序。(共12分) 【要求】 1)打开"T盘"中"P1.vbp"文件,按参考界面形式编辑窗体界面,完善程序后,直接保存所有文件。 【题目】 下面程序的功能是实现两个分数相加。分数相加的一般步骤是先通分,分子相加,再约分。如果结果的分子大于分母,则将其化为带分数。 Option Explicit Private Sub Command1_Click( ) '计算 Dim fz1 As Integer, fz2 As Integer, fm1 As Integer, fm2 As Integer Dim zs As Integer, js1 As String, js2 As String Dim g As Integer, fz As Integer, fm As Integer js1 = Text1. Text js2 = Text2. Text fz1 = Left(js1, InStr(js1, "/" ) - 1) fm1 = Right(js1, Len(js1) - InStr(js1, "/" )) fz2 = Left(js2, InStr(js2, "/" ) - 1) fm2 = Right( js2 , Len(js2 ) - InStr(js2 , "/")) fm = lcd(fm1, fm2) fz = fz1 * (fm\fm1) + fz2 * (fm\fm2) ___(1)___ fm=fm/g '约分 fz=fz/g '化带分数 If ___(2)___ Then zs = zs + ( fz\fm) fz = fz Mod fm Text3. Text = zs End If Text4. Text = fz Text5. Text = fm End Sub Private Function lcd( a As Integer, b As Integer) As Integer Dim n As Integer n=a Do While n Mod b <> 0 ___(3)___ Loop lcd = n End Function Private Function gcd( ByVal a As Integer, ByVal b As Integer) As Integer Dim r As Integer Do r = a Mod b a=b b=r Loop Until r = 0 ___(4)___ End Function 2.改错题(共16分) 【要求】 1)打开"T盘"中"P2.vbp"文件,按参考界面形式编辑窗体界面,改正程序中的错误后,直接保存所有文件; 2)改错时,不得增加或删除语句,但可适当调整语句位置。 【题目】本程序的功能是生成由n(n通过InputBox函数输入)个3位升序数据组成的随机数组。所谓升序数是指从高位到低位数字值依次增加的整数。 Option Explicit Option Base 1 Private Sub Command1_Click( ) Dim n As Integer, a() As Integer,k As Integer,p As Integer n= InputBox("输入数据个数:","升序数数组",10) ReDim a(n) Do p= Int( Rnd()*900) If judge(p) Then k=k+1 a(k)=p Text1.Text = Text1.Text & Str(a(k)) If k Mod 5 = 0 Then Text1.Text = Text1.Text & vbCrLf End If Loop Until k > n End Sub Private Function judge ( n As Integer) As Boolean Dim i As Integer, a(3) As Integer For i = 3 To 1 Step -1 a(i) = n Mod 10 n = n\10 Next i For i = 1 To 2 If a(i) >= a(i + 1) Then Exit For Next i judge = True End Function 3.编程题(22分) 【要求】 (1)打开"T盘"中"P3.vbp"文件,根据题目要求编写和调试程序后,直接保存所有文件。 (2)程序代码书写应呈锯齿形,否则适当扣分。 【题目】编写程序,找出给定范围内所有不是素数的亏数。所谓亏数是指除 本身外其所有因子之和小于自身的正整数。例如106的因子为l、2、53,和为 56,故106是亏数。(注意:凡因子和为l的即为素数) 【编程要求】 (1)程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象 的种类,窗体及界面元素大小适中,且均可见。 (2)运行程序,在"a:"文本框中输入数据范围的起始值,在"b:"文本框中输 入数据范围的终止值后,单击"查找"按钮,若数据范围内存在"亏数",则将它们 按附图参考界面所示的格式输出到列表框中,否则在列表框中输出"指定范围内 无亏数"的信息;按"清除"按钮,将文本框与列表框清空,焦点置于"a:"文本框上。 (3)程序中至少应定义一个通用过程,用于求一个整数的因子和或判断其 是否为"亏数"。 参考答案 一、选择题(共10分,每题2分) 1.B 2.C 3.B 4.D 5.A 二、填空题(共20分,每空2分) 1.1:1 2.3:2 3.3 4.12 5.7 6 6.16 16 7.45 8.2 9.02 10. 102 三、操作题(共50分) 1.完善程序(共12分) (1)g=gcd(fz, fm)或g=gcd(fm, fz) (2)fz (3)n=n+a (4) gcd=a 2.改错题(共16分) (1)p = Int( Rnd * 900)修改为 p = Int( Rnd * 900) + 100 (2)Until k > n 修改为:Loop Until k = n (3)Private Function judge ( n As Integer) As Boolean修改为: Private Function judge (byval n As Integer) As Boolean (4)If a(i) >= a(i + 1) Then Exit For 修改为 If a(i) >= a(i + 1) Then Exit Function 3.编程题(22分) Option Explicit Option Base 1 Private Sub CmdClear_Click( ) Text1. Text = " " : Text2.text="" List1. Clear Text1. setfocus End Sub Private Sub CmdFind_Click( ) Dim a As Integer, b As Integer, i As Integer Dim st As String, flg As Boolean, sum As Integer a = Val( Text1.Text) b = Val( Text2.Text) For i = a To b flg = False: st = "" : sum = 0 Call judge(i, flg, st, sum) If flg Then List1. AddItem i & " :" & st & "=" & sum End If Next i If List1.ListCount = 0 Then List1.Addltem "指定范围内无亏数 ! " End Sub Private Sub judge(n As Integer, fg As Boolean, st As String, sum As Integer) Dim i As InteS;er For i = 1 To n - 1 If n Mod i = 0 Then sum = sum + i st=st & i & "+" End If Next i If sum < n And sum < > 1 Then fg = True st = Left(st, Len(st) - 1) End If End Sub |