江苏省计算机二级VB模拟考试1新版.docx
《江苏省计算机二级VB模拟考试1新版.docx》由会员分享,可在线阅读,更多相关《江苏省计算机二级VB模拟考试1新版.docx(17页珍藏版)》请在冰豆网上搜索。
江苏省计算机二级VB模拟考试1新版
江苏省计算机二级VB模拟考试1(新版)
————————————————————————————————作者:
————————————————————————————————日期:
江苏省高等学校计算机等级考试
二级VisualBasic考试
模拟试卷1
(本试卷完成时间120分钟)
第一部分计算机基础知识
1.下列不同进位制的四个数中,最小的数是_____
(1)_____
A.二进制数1100010B.十进制数65
C.八进制数77D.十六进制数45
2.下列关于PC机主板的叙述正确的是______
(2)_______。
A.不同厂家生产的主板,尺寸各不相同
B.主板上安装有存储器芯片,如ROM芯片、CMOS芯片等
C.CPU是直接固定在主板上的,不可更换
D.主板上安装有电池,在计算机断开交流电后,临时给计算机提供电流,供计算机工作
3.下面关于BIOS的一些叙述正确的是____(3)________。
A.BIOS是存放于ROM中的一组高级语言程序
B.BIOS中含有系统工作时所需的全部驱动程序
C.BIOS系统由加电自检程序、系统主引导记录的装入程序、CMOS设置程序、基本外围设备的驱动程序组成
D.没有BIOS的PC机也可以正常启动工作
4.计算机软件(简称软件)指的是能指挥计算机完成特定任务的、以电子格式存储的程序、数据和相关的文档。
在下列有关软件的叙述中,错误的是__(4)__。
A.软件的版权所有者不一定是软件作者
B.自由软件指的是一种无版权的软件,允许修改其源代码
C.用户购买一个软件后,就获得该软件版权
D.共享软件是一种买前免费试用,具有版权的软件
5.以下关于操作系统中多任务处理的叙述错误的是_____(5)______。
A.将CPU时间划分成许多小片,轮流为多个程序服务,这些小片称为“时间片”
B.由于CPU是计算机系统中最宝贵的硬件资源,为了提高CPU的利用率,一般采用多务处理
C.正在CPU中运行的程序称为前台任务,处于等待状态的任务称为后台任务
D.在单CPU环境下,多个程序在计算机中宏观上同时运行,微观上由CPU轮流执行
6.以下关于IP地址的叙述错误的是_____(6)_____。
A.正在上网(online)的每一台计算机都有一个IP地址
B.现在广泛使用的IPv4协议规定IP地址使用32个二进位表示
C.IPv4规定的IP地址快要用完了,取而代之的将是64位的IPv5
D.IP地址是计算机的逻辑地址,每台计算机还有各自的物理地址
7.路由器用于连接异构的网络,它收到一个IP数据报后要进行许多操作,这些操作不包含_____(7)_____。
A.域名解析B.路由选择
C.帧格式转换D.IP数据报的转发
8.通过有线电视接入因特网时需使用电缆调制解调(CableMODEM)技术,以下叙述错误的是____(8)_____。
A.采用同轴电缆和光纤作为传输介质
B.收看电视时不能上网
C.能提供语音、数据、图像传输等多种业务
D.同一连接段中多个用户的信号都在同一电缆上传输
9.至目前为止,已发布多种汉字信息的编码标准。
在下列叙述中,错误的是____(9)____。
A.无论采用那种编码标准(如GBK、UCS-4等),汉字的机内码都是采用16位二进制表示的
B.中文版Windows98/2000操作系统都支持GB2312-80、GBK等多种汉字编码标准。
C.GB2312-80是我国颁布的第一个汉字信息编码的国家标准。
D.不同的汉字输入法,其可以输入的不同汉字个数可能有所不同。
10.下列四种声音文件中,不可能用于保存歌曲的是___(10)___。
A.WAVB.MP3C.MIDID.WMA
1.C2.B3.C4.C5.C6.C7.A8.B9.A10.C
第二部分VisualBasic程序设计
一、选择题(共10分,每题2分)
1.下列控件中,无法用于显示程序运行结果的是___1___。
A.TextBoxB.ListBoxC.PictureBoxD.Timer
2.下列有关转换函数的说法中,正确的是___2___。
A.Int和CInt函数的区别仅在于返回结果的数据类型不同
B.Int和Fix函数将非整数数据转换成整数,转换后的结果类型是Long
C.在处理正数时,Int函数和Fix函数的返回结果是相同的
D.在处理负数时,Int函数和Fix函数的返回结果是相同的
3.数学式
对应的VB表达式是___3___。
A.Log(x)/Log(10)-Cos(30*3.14159/180)+Abs(x^2+Sqr(y))+Exp(x)
B.Log(x)/Log(10)-Cos(30)+Abs(x^2+Sqr(y))+e^x
C.Log(x)-Cos(30*3.14159/180)+Abs(x^2+Sqr(y))+Exp(x)
D.Log(x)-Cos(30)+Abs(x^2+Sqr(y))+e^x
4.下列有关数组的说法中,错误的是___4___。
A.若模块中有“OptionBase1”语句,则该模块中的数组的维下界都为1
B.定长字符串类型的数组也可以作为过程的形式参数
C.只能在标准模块中用Public语句定义全局数组
D.若A是固定大小数组,执行语句EraseA后,数组A的所有元素被初始化
5.下列关于过程参数的叙述中,正确的是___5___。
A.符号常数名可以出现在定义过程的形式参数表中
B.过程调用时,与用ByRef说明的形参结合的实在参数不可以是常数或表达式
C.在自定义过程中,用ByVal说明的形参值发生改变,不会影响与之结合的实参的值
D.VB对过程的形式参数的类型没有任何限制
二、填空题(共20分,每空2分)
1.执行下面程序,单击命令按钮Command1,则窗体上显示的第一行内容是___
(1)___,
第二行内容是___
(2)___。
OptionExplicit
PrivateSubCommand1_Click()
DimiAsInteger,jAsSingle,kAsInteger
j=11
Fori=2To10Step2.5
j=j-2.5
Ifj=Int(j)Then
i=i+jMod10
Else
i=i+1
EndIf
k=i+j
Nexti
Printi
Printk
EndSub
2.执行下面程序,单击命令按钮执行下面程序,单击命令按钮Command1,则数组元素,则数组元素,则数组元素A(1,2)的值是___(3)___、A(2,1)的值是___(4)___、A(3,3)的值是___(5)___。
OptionExplicit
OptionBase1
PrivateSubCommand1_Click()
DimA(3,3)AsInteger,KAsInteger
DimiAsInteger,jAsInteger
i=2
j=1
A(i,j)=39
ForK=38To31Step-1
Ifi-1=0Andj-1>0Then
i=3:
j=j-1
ElseIfi-1>0Andj-1=0Then
i=i-1:
j=3
ElseIfi-1=0Andj-1=0Then
i=1:
j=2
ElseIfA(i-1,j-1)<>0Then
j=j+1
Else
i=i-1:
j=j-1
EndIf
A(i,j)=K
NextK
Fori=1To3
Forj=1To3
Text1.Text=Text1.Text&A(i,j)&""
Nextj
Text1.Text=Text1.Text&vbCrLf
Nexti
EndSub
3.执行下面程序,单击命令按钮执行下面程序,单击命令按钮Command1,则窗体上显示的第一行内容是___(6)___,最后一行内容是___(7)___。
OptionExplicit
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,kAsInteger
Fora=2To3
b=a+1
k=Fun(Fun(a,b),b)
Printk
Nexta
Printb
EndSub
PrivateFunctionFun(aAsInteger,bAsInteger)AsInteger
b=a+b
a=a+b
Fun=a+b
EndFunction
4.执行下面程序,单击命令按钮Command1,则多行文本框Text1中显示的第一行内容是___(8)___,第二行内容是___(9)___,第三行内容是___(10)___。
OptionExplicit
PrivateSubCommand1_Click()
Dims1AsString,s2AsString,data1AsString,data2AsString
DimiAsInteger
data1="101110101110"
data2="101011011010"
Fori=1ToLen(data1)Step5
s1=Mid(data1,i,4)
s2=Mid(data2,i,4)
Text1.Text=Text1.Text&Subtract(s1,s2)&vbCrLf
Nexti
EndSub
PrivateFunctionSubtract(s1AsString,s2AsString)AsString
DimiAsInteger,kAsInteger,LAsInteger
DimjAsInteger,sAsString
L=Len(s1)
Fori=1ToL
IfMid(s1,i,1)="0"AndMid(s2,i,1)="0"Then
Subtract=Subtract&"0"
Else
Subtract=Subtract&"1"
EndIf
Nexti
EndFunction
三、操作题(共50分)
1.完善程序。
(共12分)
【要求】
1)打开”考生文件夹”中”P1.vbp”文件,完善程序后,直接保存所有文件。
【题目】本程序的功能是找出4~500之间的史密夫数。
所谓史密夫数是指该数的各位数字和等于其质因子分解中所有质因子的各位数字和。
例如在十进制下,202就是一个史密夫数,因为2+0+2=4,202的质因子分解为2×101,2+1+0+1=4。
OptionExplicit
OptionBase1
PrivateSubCommand1_Click()
DimiAsInteger,heAsInteger
DimnAsInteger,pf()AsInteger
Forn=4To500
CallPfactor(n,pf)
IfUBound(pf)>1Then
______
(1)______
Fori=1ToUBound(pf)
he=he+Sum(pf(i))
Nexti
IfSum(n)=heThen
List1.AddItemn
EndIf
EndIf
Nextn
EndSub
PrivateSubPfactor(ByValnAsInteger,f()AsInteger)'质因子分解
DimkAsInteger,PAsInteger
k=2
Do
DoWhile______
(2)______
P=P+1
ReDimPreservef(P)
f(P)=k
n=n\k
Loop
______(3)______
LoopUntiln=1
EndSub
PrivateFunctionSum(ByValnAsInteger)AsInteger
DimSAsString,LAsInteger,kAsInteger,iAsInteger
S=CStr(n)
______(4)______
Fori=1ToL
k=Val(Mid(S,i,1))
Sum=Sum+k
Nexti
EndFunction
2.改错题(共16分)
【要求】
1)打开”考生文件夹”中”P2.vbp”文件,改正程序中的错误后,直接保存所有文件;
2)改错时,不得增加或删除语句但可适当调整位置。
【题目】本程序的功能是在给定的数字串中(在给定的数字串中(121709473)找出所有的素数子串。
OptionExplicit
PrivateSubCommand1_Click()
DimnAsInteger,StAsString,LAsInteger,FlgAsBoolean
DimiAsInteger,jAsInteger,CAsString,sAsString
n=Val(Text1.Text)
St=CStr(n)
L=Len(n)
Fori=1ToL
Flg=False
Forj=1ToL-i+1
C=Mid(St,j,i)
IfLeft(C,1)<>"0"AndPrime(Val(C))Then
s=s&C&""
Flg=True
EndIf
Nextj
IfFlgThens=s&vbCrLf
Nexti
Text2.Text=s
EndSub
PrivateFunctionPrime(MAsLong)AsBoolean
DimiAsLong
Fori=2ToInt(Sqr(M))
IfMModi=0ThenExitFor
Nexti
Prime=True
EndFunction
3.编程题(22分)
【要求】
1)打开“考生文件夹”中“P3.vbp”文件,按参考界面形式编辑窗体,根据题目要求编写和调试程序后,直接保存所有文件;
2)程序代码书写应呈锯齿形,否则适当扣分。
【题目】编写程序,生成由两位随机整数组成的数组,删除数组中数值相同的数组元素。
【编程要求】
1)程序参考界面如图所示,编程时不得增加或减少对象改变的窗体种类,窗体及界面元素大小适中,且均可见;
2)运行程序,单击“生成”按钮,在InputBox对话框中输入需要生成的数组元素个数,并生成由两位随机整数组成的数组显示在文本框1中;单击“删除重复数”按钮将数组中出现的重复数删除后显示在文本框2中;单击“清除”按钮,将所有文本框清空,焦点置于“生成”按钮上;
3)程序中至少应定义一个通用过程,用于将数组中的重复数删除。
参考答案
一、VB选择题(共10分,每题2分)
1.D2.C3.A4.A5.C
二、VB填空题(共20分,每空2分)
1.13
2.17
3.33
4.39
5.36
6.46
7.17
8.1011
9.1111
10.1110
三、VB操作题(共50分)
1.完善程序(共12分)
(1)he=0
(2)nModk=0
(3)k=k+1
(4)L=Len(S)
2.改错题(共16分)
OptionExplicit
PrivateSubCommand1_Click()
DimnAsLong,StAsString,LAsInteger,FlgAsBoolean
DimiAsInteger,jAsInteger,CAsString,sAsString
n=Val(Text1.Text)
St=CStr(n)
L=Len(St)
Fori=1ToL
Flg=False
Forj=1ToL-i+1
C=Mid(St,j,i)
IfLeft(C,1)<>"0"AndPrime(Val(C))Then
s=s&C&""
Flg=True
EndIf
Nextj
IfFlgThens=s&vbCrLf
Nexti
Text2.Text=s
EndSub
PrivateFunctionPrime(MAsLong)AsBoolean
DimiAsLong
Fori=2ToInt(Sqr(M))
IfMModi=0ThenExitFunction
Nexti
IfM>1ThenPrime=True
EndFunction
3.编程题(22分)
OptionExplicit
OptionBase1
Dima()AsInteger,nAsInteger
PrivateSubCommand1_Click()
DimiAsInteger
n=InputBox("输入n=",,10)
ReDima(n)
Fori=1Ton
a(i)=Int(Rnd*90)+10
Text1.Text=Text1.Text&Str(a(i))
Nexti
EndSub
PrivateSubCommand2_Click()
DimiAsInteger
Calldele(a)
Fori=1ToUBound(a)
Text2.Text=Text2.Text&Str(a(i))
Nexti
EndSub
PrivateSubdele(a()AsInteger)
DimiAsInteger,jAsInteger,kAsInteger
i=1
Do
j=i+1
Do
Ifa(i)=a(j)Then
Fork=jToUBound(a)-1
a(k)=a(k+1)
Nextk
ReDimPreservea(UBound(a)-1)
Else
j=j+1
EndIf
LoopUntilj>UBound(a)
i=i+1
LoopUntili>=UBound(a)
EndSub
PrivateSubCommand3_Click()
Text1.Text=""
Text2.Text=""
Command1.SetFocus
EndSub