信息技术学业水平测试VB操作题题库.docx
《信息技术学业水平测试VB操作题题库.docx》由会员分享,可在线阅读,更多相关《信息技术学业水平测试VB操作题题库.docx(57页珍藏版)》请在冰豆网上搜索。
信息技术学业水平测试VB操作题题库
VB1--打印图形题
【第1题】
打开“Z:
\612\工程1.vbp”,完善Form_Click事件代码并保存。
实现功能:
在窗体上打印如图所示的九九乘法表。
PrivateSubForm_click()
DimiAsInteger
DimjAsInteger
Fori=1To①
Forj=1To②
PrintTab((j-1)*12);
Printj;"*";i;"=";③;
Nextj
Print
Nexti
EndSub
【第2题】
打开文件“考生文件夹\610\工程1.vbp”,完善Command1_Click事件代码并保存。
实现功能:
当单击“显示”按钮后,在窗体上显示下面的图形:
@
@@
@@@
@@@@
@@@@@
@@@@@@
PrivateSubCommand1_Click()
DimiAsInteger'定义i为整型变量
DimjAsInteger'定义j为整型变量
Fori=1To6Step1
Forj=1To①Step1
Print②
Next③
Print
Nexti
【第3题】
打开文件“考生文件夹\609\工程1.vbp”,完善Form_Click事件代码并保存。
实现功能:
单击窗体时在窗体上打印下面所示的图案。
****
***
**
*
PrivateSubForm_Click()
DimiAsInteger
DimjAsInteger
Fori=①To1Step-1
Forj=1ToiStep1
②
Nextj
Print
③
EndSub
【第4题】
打开文件“考生文件夹\730\工程1.vbp”,完善Form_Click事件代码并保存。
实现功能:
在窗体上显示如图所示的数字金字塔。
PrivateSubForm_Click()
DimiAsInteger
DimjAsInteger
Fori=1To5
PrintTab(10-i);
Forj=1To①
Print②;
Nextj
③
Nexti
EndSub
【第5题】
打开文件“考生文件夹\15\工程1.vbp”,完善Command1_Click事件代码并保存。
实现功能:
单击按钮后在窗体上打印出下面所示的图案。
(第一行的第一个“*”从第5列开始输出)
PrivateSubCommand1_Click()
DimiAsInteger
DimjAsInteger
Fori=1To①
PrintTab(6-i);
Forj=1To②
Print③;
Nextj
Print
Nexti
EndSub
【第6题】与第4题重复
【第7题】
打开文件“考生文件夹\729\工程1.vbp”,完善Form_Click事件代码并保存。
实现功能:
在窗体上显示如图所示的数字金字塔。
PrivateSubForm_Click()
DimiAsInteger
DimjAsInteger
Fori=1To①
PrintTab(10-i);
Forj=1To②
PrintStr(i);
Nextj
③
Nexti
EndSub
【第8题】
打开“考生文件夹\1334”文件夹中的工程文件“工程1.vbp”进行以下操作后并保存!
(在字符串相连接时不要使用“+”,应使用“&”)
(1)在窗体Form1中添加一个名为"Command1"的按钮,并在按钮上显示文字“画图”;
(2)完善程序,单击“画图”按钮,使其能输出如下图形。
注:
(1)删除①、②、③,填入正确的语句
(2)不能删除注释语句
PrivateSubCommand1_Click()
Dimi,jAsInteger
Fori=3To①Step②'第一空
PrintSpace(i);'打印空格
Forj=1To10
Print③'第二空
Nextj
Print
Nexti
EndSub
【第9题】
打开“考生文件夹\1987\工程1.vbp”,完善程序并保存。
实现功能:
单击按钮后打印下面所示的图案。
(第一行的第一个“@”从第1列开始输出)
PrivateSubCommand1_Click()
Dimi,jAsInteger
Fori=①To1Step-1
PrintTab(4-i);
Forj=1To②
Print③;
Nextj
Print
Nexti
EndSub
VB2--递归操作题
一、操作题,每题10分,6题共60分
【第1题】
打开“考生文件夹\388\工程1.vbp”,完善程序并保存。
实现功能:
用递归法求5!
+6!
+7!
的值。
PublicFunctionFac(aAsLong)AsInteger
Ifa=1Then
Fac=①
Else
Fac=a*②(a-1)
EndIf
EndFunction
PrivateSubCommand1_Click()
DimSAsLong
S=Fac(5)+Fac(③)+Fac(7)
Print"S="&CStr(S)
EndSub
【第2题】
打开文件“考生文件夹\178\工程1.vbp”,完善Command1_Click事件及fac函数并保存。
实现功能:
用递归法求3!
+5!
+7!
的值,将结果输出到窗体上。
PublicFunctionFac(aAsLong)AsInteger
Ifa=1Then
Fac=①
Else
Fac=a*②(a-1)
EndIf
EndFunction
PrivateSubCommand1_Click()
DimSAsLong
S=Fac(3)+Fac(③)+Fac(7)
Print"S="&CStr(S)
EndSub
【第3题】
打开文件“考生文件夹\413\工程1.vbp”,完善Command1_Click事件及fib函数并保存。
实现功能:
用递归法求斐波那契数列1,1,2,3,5,8,…第10项的值,将结果输出到窗体上。
PublicFunctionfib(nAsInteger)AsInteger
If(n=1)Or(n=2)Then
fib=①
Else
fib=fib(n-1)+fib(n-2)
②
EndFunction
PrivateSubCommand1_Click()
DimSAsInteger
S=fib(③)
Print"S="&CStr(S)
EndSub
【第4题】
打开文件“考生文件夹\175\工程1.vbp”,完善Command1_Click事件及s函数代码并保存。
实现功能:
用递归法求1+2+3+…+100的值,结果输出在窗体上。
PublicFunctionS(nAsInteger)AsInteger
Ifn=1Then
S=①
Else
S=②+S(n-1)
EndIf
EndFunction
PrivateSubCommand1_Click()
DimSumAsInteger
Sum=S(③)
Print"Sum="&CStr(Sum)
EndSub
【第5题】
打开文件“考生文件夹\851\工程1.vbp”,完善程序实现如下功能并保存:
花果山上有一洞,小猴每次采取跳1阶或者跳3阶的办法从山下跳跃上台阶进洞,编程在Text1中输入台阶数,在Label1中显示有多少种不同的跳法。
正确的运行结果如下图所示,调试时输入的台阶数最大不要超过35!
Functions(nAsInteger)AsLong
Ifn=1Orn=2Then
s=①
Else
Ifn=3Then
s=2
Else
s=s(n-1)+s(n-3)
EndIf
EndIf
EndFunction
PrivateSubCommand1_Click()
DimnAsInteger
n=Val(②)
Label1.Caption=Str(③)
EndSub
【第6题】
打开文件“考生文件夹\861\年龄问题.vbp”,完善程序实现如下功能并保存:
有5个人坐在一起,第5个人说他比第4个人小3岁;第4个人说他比第3个人小3岁;第3个人说他比第2个人小3岁;第2个人又说他比第1个人小3岁;第1个人说他是38岁。
编写程序,计算出第5个人的年龄并显示。
PrivateSubcmdDisplay_Click()
Print"第5人的年龄:
";age(①)
EndSub
Functionage(nAsInteger)AsInteger
Ifn=1Then
age=②
Else
age=age(n-1)-3
③
EndFunction
VB3—解析操作题
一、操作题,每题10分,6题共60分
【第1题】
打开文件“考生文件夹\89\工程1.vbp”,完善Command1_Click事件代码并保存。
乘坐飞机的经济舱时,免费托运行李一般不得超过20公斤,超重每公斤按全票价的1.5%计算。
实现功能:
输入行李重量及经济舱全票价后,点击按钮,计算出行李托运费用,输出到对应文本框中。
PrivateSubCommand1_Click()
DimwAsInteger'行李重量
DimpjAsInteger'机票价格
DimfyAsSingle'托运费用
w=Val(Text1.Text)
pj=Val(Text2.Text)
Ifw<=20Then
①
Else
fy=(w-20)*pj*0.015
②
Text3.Text=③
EndSub
【第2题】
打开“Z:
\30\工程1.vbp”,完善Command1_Click事件代码并保存。
实现功能:
PrivateSubCommand1_Click()
DimxAsSingle,yAsSingle
a=3:
b=-5
①=Val(InputBox("请输入x的值"))
Ifx<0Then
②=x+5*a
Else
y=x-2*b
③
Print"y=";CStr(y)
EndSub
【第3题】
打开文件“考生文件夹\20\工程1.vbp”,完善Command1_Click事件代码并保存。
某超市苹果价格每斤4元,购买10斤以上(包括10斤)将享受8折优惠。
实现功能:
使得在Text1中输入重量并单击“计算”按钮后,在Label1中显示对应的价格。
PrivateSubCommand1_Click()
DimxAsSingle
DimsAsSingle
x=Val(Text1.Text)
If①Then
s=4*②
Else
s=4*x
EndIf
Label1.Caption=Str(③)
EndSub
【第4题】
打开文件“考生文件夹\122\工程1.vbp”,完善Command1_Click事件代码并保存。
王晓珊家距离学校s1(千米),某天她和李明各自同时从家里步行出发上学,王晓珊步行速率v1(千米/小时),李明步行速率v2(千米/小时),结果他们同时到达学校。
实现功能:
输入s1、v1、v2,在窗体上输出李明家与学校之间的距离s2。
PrivateSubCommand1_Click()
Dims1AsSingle
Dims2AsSingle
Dimv1AsSingle
Dimv2AsSingle
DimtAsSingle
s1=Val(InputBox("请输入王晓珊家离学校的距离:
"))
v1=Val(InputBox("请输入王晓珊步行速度:
"))
v2=Val(InputBox("请输入李明步行速度:
"))
t=①
s2=②*t
Print③
EndSub
【第5题】
打开“考生文件夹\772”中的文件“工程1.vbp”,完善Command1_Click事件代码并保存。
实现功能:
某商场正在搞促销活动,买300元送200元,例如:
某顾客购买商品449元,返还顾客200元,不满300元的零头不送。
在文本框中输入一个正整数,计算返还的金额并显示在标签上,如样张所示。
PrivateSubCommand1_Click()
DimaAsInteger
DimsAsInteger
a=Val(Text1.①)
s=(②)*200
Label1.③=Str(④)
EndSub
【第6题】
打开“考生文件夹\776”中的文件“蜗牛爬竹.vbp”,完善Command1_Click事件代码并保存。
实现功能:
青竹高17米,蜗牛从青竹底端慢慢爬向顶端,晴天每天爬1.4米,雨天每天爬1.8米,若蜗牛爬到顶端用了11天,计算晴天、雨天各多少天?
(晴天对应文本框text1,雨天对应文本框text2)
PrivateSubCommand1_Click()
DimxAsSingle
DimyAsInteger
y=(17-1.4*11)/(1.8-1.4)
①=11-y
Text1.Text=Str(②)+"天"
Text2.Text=Str(③)+"天"
EndSub
VB4—穷举操作题
一、操作题,每题10分,8题共80分
【第1题】
打开文件“考生文件夹\862\完数.vbp”,完善程序实现如下功能并保存:
输入一个数,判断该数是否为完数。
所谓完数即该数等于其因子之和。
例如:
6=1+2+3;28=1+2+4+7+14。
若是完数则输出该数及该数等于因子之和的公式;若不是完数则输出该数不是完数。
PrivateSubcmdPerfect_Click()
DimmAsInteger
DimsumAsInteger
DimsAsString
DimiAsInteger
s="1"
sum=1
①=Val(InputBox("输入一个正整数:
"))
Fori=2Tom-1
IfmModi=0Then
sum=②
s=s&"+"&Str(i)
EndIf
Nexti
Ifsum=mThen
Printm;"是完数"
Printm;"=";③'输出因子之和
Else
Printm;"不是完数"
EndIf
EndSub
【第2题】
打开文件“考生文件夹\859\玫瑰花数.vbp”,完善程序实现如下功能并保存:
如果一个4位数等于它的各位数字的4次方和,则这个4位数称为“玫瑰花”数,例如1634就是一个玫瑰花数。
试编程求出所有的玫瑰花数,结果如下图所示。
PrivateSubcmdDemoRose_Click()
DimiAsInteger
DimsAsInteger
DimmAsInteger
Fori=1000To9999
s=0
Forj=①To4
m=Mid(i,j,1)
s=s+②
Nextj
Ifi=sThenPrinti
③
EndSub
【第3题】
打开文件“考生文件夹\855\工程1.vbp”,完善程序实现如下功能并保存:
古题新编:
妇人洗碗在河边,路人问妇酬几宾。
答曰数目无细数,十三只碗自分明。
二人共食一碗饭,三人共吃一碗羹。
四人共肉无余数,请君细算客几人。
将客人数显示在文本框中。
PrivateSubCommand1_Click()
DimiAsInteger
Fori=1To①
IfiMod2=0AndiMod3=0And②Then
Text1.Text=Str(③)
EndIf
Nexti
EndSub
【第4题】
打开文件“考生文件夹\608\工程1.vbp”,完善窗体的Click事件代码并保存。
实现功能:
鸡兔同笼,共有100条腿,40个头,问鸡有几只,兔有几只?
结果输出在窗体上。
PrivateSubForm_Click()
DimjiAsInteger'鸡的个数
DimtuAsInteger'兔的个数
DimlegAsInteger'腿数
Forji=1To39
tu=①
'计算腿数
leg=②+tu*4
'如果腿正好100只,则打印。
Ifleg=③Then
Print"鸡=";ji;"只","兔=";tu;"只"
EndIf
Nextji
EndSub
【第5题】
打开“Z:
\424\工程1.vbp”,完善Command1_Click事件代码并保存。
实现功能:
将一张100元面值的人民币换成若干5元、1元、5角面值的人民币,但要求100元换成的零钱共100张,且要求每种面值不少
于1张,问5元、1元、5角各多少张,请输出每种可能的组合。
PrivateSubCommand1_Click()
DimWuyuanAsInteger
DimYiyuanAsInteger
DimWujiaoAsInteger
ForWuyuan=1To20
ForYiyuan=1To①
Wujiao=100-Wuyuan-②
IfWuyuan*5+Yiyuan*1+Wujiao*0.5=100Then
Print"Wuyuan="&Wuyuan&",Yiyuan="&Yiyuan&",Wujiao="&Wujiao
③
NextYiyuan
NextWuyuan
EndSub
【第6题】
打开“考生文件夹\389\工程1.vbp”,完善程序并保存。
实现功能:
小明忘记了自己一个word文档的打开密码,只记得是一个4位数的数字密码6□□5,但知道该数能够被69整除,也能被95整除。
请你完善程序,帮他找出这个密码。
PrivateSubCommand1_Click()
DimaAsLong
Fora=6005To①Step10
If(aMod69=0)Or(aMod95=0)Then
Print②
EndIf
③
EndSub
【第7题】
打开文件“考生文件夹\96\工程1.vbp”,完善程序并保存。
实现功能:
假设有一个5位数密码。
只记得密码为67□□8,其中百位和十位的数字记不清了,但知道该密码能够被78整除,也能被67整除。
请完善算法帮忙找出这个密码。
PrivateSubCommand1_Click()
DimxAsLong
Forx=①To67998Step10
If(xMod67=0)And(xMod78=0)Then
Print②
EndIf
③
EndSub
【第8题】
打开文件“考生文件夹\51\工程1.vbp”,完善Command1_Click事件代码并保存。
实现功能:
若一个三位数abc,满足:
abc=a3+b3+c3,则称abc为水仙花数。
如三位数153满足:
13+53+33=1+125+27=153,则153是水仙花数。
结果输出在窗体上。
PrivateSubCommand1_Click()
DimiAsInteger
DimaAsInteger'百位数
DimbAsInteger'十位数
DimcAsInteger'个位数
Fori=100To①
a=i\100
b=(i-a*100)\10
c=②
Ifa*a*a+b*b*b+c*c*c=iThen
Printi
③
Nexti
EndSub
VB5—数组操作题
一、操作题,每题10分,8题共80分
【第1题】
打开文件“考生文件夹\863\细胞分裂.vbp”,完善程序实现如下功能并保存:
有一种细胞每3分钟分裂一次,每次分裂时每个细胞分裂成2个,30分钟后有2048个细胞。
问开始时有多少个细胞?
PrivateSubcmdDivision_Click()
Dimf(10)AsInteger'30分钟共分裂10次
DimiAsInteger
f(10)=①
Fori=9To0Step②
f(i)=f(i+1)/2
Nexti
Print③
EndSub
【第2题】
打开文件“考生文件夹\853\工程1.vbp”,完善程序实现如下功能并保存:
在数组中输入5个整数,找出最大数(max)和最小数(min),并分别在Label1和Label2中显示。
PrivateSubCommand1_Click()
Dimx(5)AsInteger,iAsInteger
DimmaxAsInteger,minAsInteger
Fori=1To5
①=InputBox("输入一个数")
Nexti
max=②
min=x
(1)
Fori=2To5
Ifx(i)>maxThenmax=x(i)
Ifx(i)Nexti
Label1.Caption=Str(max)
L