VB填空题.docx
《VB填空题.docx》由会员分享,可在线阅读,更多相关《VB填空题.docx(18页珍藏版)》请在冰豆网上搜索。
![VB填空题.docx](https://file1.bdocx.com/fileroot1/2023-1/7/844af7a2-9582-4dd1-b812-c67ec5564fe5/844af7a2-9582-4dd1-b812-c67ec5564fe51.gif)
VB填空题
第一套
1.有如下程序段:
x=5
y=6
p=Not(x+y=11)
该程序段运行后,P的值是
(1) 。
2.有如下程序段:
x=5
y=10
z=12
ifx+y<=zOry+z<=xOrx+z<=ythena="False"elsea="True"
该程序段运行后,a的值为
(1) 。
3.有如下程序段:
s=0
fori=1to5
s=s+i*i
nexti
该程序段运行后,s的值为
(1) 。
4.程序填空
随机产生10个1~100之间的正整数,按从小到大的次序排序并输出。
为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计(流程图参见图12-3)。
图12-3
subcommand1_click()
constn=10
dimi,j,tasinteger
dima(1to10)asinteger
fori=1to10
______
(1)__________
nexti
Fori=1Ton-1
Forj=i+1Ton
If______
(2)______Then
k=a(i):
a(i)=a(j):
a(j)=k
EndIf
Nextj
Nexti
Fori=1Ton
Str(a(i))
Nexti
Endsub
答案:
2.”True”
(i)=int(rnd()*100)+1a(i)>a(j)
第二套
1.有如下程序段:
x=5
y=6
t=x
x=y
y=t
该程序段运行后,y的值为
(1) 。
2.有如下程序段:
x=5
y=-20
ifnotx>0thenx=y-3elsey=x+3
该程序段运行后,x的值为
(1) 。
3.有如下程序段:
e=0:
f=1
fori=1to3
e=e+f
f=f+e
nexti
该程序段运行后,f的值为
(1) 。
4.程序填空
有30个人,其中有男人、女人和小孩。
他们在一家饭馆里花去500元。
已知,每个男人花30元,每个女人花20元,每个小孩花10元。
问男人、女人、小孩各为多少人
为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。
subcommand1_click()
dimman,woman,child,sasinteger
forman=1to15
forwoman=1to23
child=_______
(1)__
s=30*man+20*woman+10*child
if___
(2)then
str(man)+""+str(woman)+""+str(child)
endif
nextwoman
nextman
endsub
图12-7
答案:
1.5
2.5
3.13
4.30-woman-mans=500andchild>0
第三套
1.有如下程序段:
x=5
y=6
x=y
y=x
该程序段运行后,y的值为
(1) 。
2.有如下程序段:
x=5
y=-20
ifnotx>0thenx=y-3elsey=x+3
该程序段运行后,y的值为
(1) 。
3.有如下程序段:
k=1
fori=1to5
k=k*i
nexti
该程序段运行后,k的值为
(1) 。
4.程序填空
从键盘键入一个整数x,将x插入到一列有序数据:
-5,3,4,12,20,45,70中,并使数据序列仍保持有序,试求出x应插入的位置。
为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。
Dima(1To8)AsInteger
Dimn,I,j,xAsInteger
PrivateSubCommand1_Click()
x=Val
Ifx>a(n)Then
________
(1)__________
Else
i=1
DoWhilex>a(i)
_______
(2)__________
Loop
EndIf
=Str(i)
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
n=n+1
a(n)=Val
Str(a(n))
="":
EndIf
EndSub
答案:
1.6
2.8
3.120
4.i=8或i=n+1i=i+1
5.
第四套
1.有如下程序段:
x=5
y=6
p=Not(x+y<>11)
该程序段运行后,P的值是
(1) 。
2.有如下程序段:
x=5
y=10
z=12
Ifx+y>zAndy+z>xAndx+z>yThena="True"Elsea="False"
该程序段运行后,a的值为
(1) 。
3.有如下程序段:
x=6
k=1
dowhilek<=5
k=k+3
x=x+k
loop
该程序段运行后,x的值为
(1) 。
4.程序填空
用物理天平测量物体的质量时,测得物体的质量为a克(a为整数,并小于1千克),问这时在天平的砝码盘中应有哪几个砝码,请选用最少数量的砝码(称质量为1千克的物体,天平的砝码由下列质量的砝码组成:
500克1个,200克1个,100克2个,50克1个,20克1个,10克2个,5克1个,2克2个,1克1个)。
为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计(流程图见图12-15)。
Dima(1To12)AsInteger
Dimi,xAsInteger
PrivateSubCommand1_Click()
a
(1)=500:
a
(2)=200:
a(3)=100
a(4)=100:
a(5)=50:
a(6)=20
a(7)=10:
a(8)=10:
a(9)=5
a(10)=2:
a(11)=2:
a(12)=1
x=Val
i=1
dowhile_______
(1)_
ifx>=a(i)then
Str(a(i))
_________
(2)____________
Endif
i=i+1
loop
EndSub
1.True
2.“True”
3.17
4.x<>0x=x-a(i)
第五套
1.有如下VisualBasic程序段:
a=3:
b=2:
c=3
b=a+b*c
该程序段运行后,变量b的值为
(1)
2.有如下VisualBasic程序段:
a=39
b=93
Ifa+b>100Thenpy="太大"
Ifa+b=100Thenpy="相等"
Ifa+b<100Thenpy="太小"
=py
该程序段运行时,在Label1标签上显示的是
(1) 。
3.以下VisualBasic程序的功能是:
计算表达式1+2+4+8+16+32+…+1024的值,并在文本框Text1中输出结果。
为了实现这一功能,程序中划线处的表达式应更正为_____
(1)________。
PrivateSubCommand1_Click()
DimiAsInteger,sAsLong
s=0
i=1
DoWhilei<=1024
s=s+2*i
i=i*2
Loop
=Str(s)
EndSub
4.有一道趣味题,张老师问李老师:
"你今年几岁你爱人今年几岁"李老师笑笑说:
"我年龄的平方与我爱人年龄之和恰好等于1053。
而我爱人年龄的平方与我的年龄之和却等于873。
你计算一下吧!
"
设李老师年龄为x岁,他爱人年龄为y岁,由题意可得x,y满足的数学式为:
x2+y=1053
x+y2=873
解决此问题的流程图如VB-1所示。
根据流程图VB-1编写的VisualBasic程序如下,在
(1)和
(1)划线处,填入合适的语句或表达式,把程序补充完整。
PrivateSubCommand1_Click()
DimxAsInteger,yAsLong
x=1
y=1053-x*x
DoWhile
(1)
(2)
y=1053-x*x
Loop
=Str(x)
=Str(y)
EndSub
程序中划线处
(1)应填入
程序中划线处
(2)应填入
答案:
1.9
2.太大
3.i
4.y*y+x<>873x=x+1
第六套
1.有如下VisualBasic程序段:
a="Happy"
b="ness"
c=a+b
该程序段运行后,变量c的值是_____
(1)______。
2.有如下VisualBasic程序段:
DimxAsSingle,cAsString
x=Val
Ifx>12Then
c="PM"
Else
c="AM"
EndIf
=c
该程序段运行时,在文本框Text1中输入,Label1标签上将显示的是
(1) 。
3.下列VisualBasic程序的功能是:
计算表达式12+42+72+…+972的值,并在文本框Text1中输出表达式的值。
为了实现这一目标,程序中For语句划线处的循环变量步长应为_________
(1)_________。
PrivateSubCommand1_Click()
DimsumAsLong
DimiAsInteger
sum=0
Fori=1To97Step
sum=sum+i*i
Nexti
=Str(sum)
EndSub
4.模拟一个简单计算器,输入两个数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。
程序界面如图VB-1所示,在文本框Text1中输入第一个数a,在文本框Text2中输入第二个数b,在文本框Text3中输入运算符ch,在文本框Text4中输出运算结果。
图VB-1
当输入的运算符不是加、减、乘、除四种运算符时,则输出"运算符不正确";当进行除法运算时,如果除数为0,提示输出"除数不能为零"。
解决上述问题的算法流程图如图VB-2所示,相应的VisualBasic程序如下,在
(1)和
(2)划线处,填入合适的语句或表达式,把程序补充完整。
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,chAsString
a=Val
b=Val
(1)
Ifch="+"Then
=Str(a+b)
ElseIfch="*"Then
=Str(a*b)
ElseIfch="-"Then
=Str(a-b)
ElseIfch="/"Then
If
(2)Then=Str(a/b)Else="除数不能是零"
Else
="运算符不正确"
EndIf
EndSub
程序中划线处
(1)应填入
程序中划线处
(2)应填入
1.Happyness
2.PM
3.3
4.ch=b<>0
第七套
1.有如下VisualBasic程序段:
a="Tea"
b="cher"
c=a+b
该程序段运行后,变量c的值是:
(1)。
2.有如下VisualBasic程序段:
n=0
Fori=1To100
IfiMod4=0Thenn=n+1
Nexti
该程序段运行后,n的值为:
(1)。
3.《浙江省电网销售电价表》中规定,不满1千伏"一户一表"居民用电价格,按以下标准计算:
月用电量在50千瓦时及以下部分,每千瓦时以元计算;51~200千瓦时部分,则每千瓦时按元计算;200千瓦时以上部分,每千瓦时按元计算。
某学生设计了一个VisualBasic程序,能根据用户的月用电量分段计算电费。
其思路如下:
设某用户的当月用电量是x千瓦时,
当x≤50时,电费为×x元;
当50<x≤200时,电费为×(x-50)+×50元;
当x>200时,电费为×(x-200)+×150+×50元;
在文本框Text1输入x,在文本框Text2中输出相应的电费。
VisualBasic程序如下,程序中划线处的语句应更正为:
(1)。
PrivateSubCommand1_Click()
DimxAsInteger
X=Val
Ifx<0Then
="用电量不能是负的!
"
ElseIfx<=50Then
=Str*x)
ElseIfx>200Then
=Str*(x-50)+*50)
Else
=Str*(x-200)+*150+*50)
EndIf
EndSub
以下是根据如图所示界面设计的一个VisualBasic程序段,目的是用对分查找的方法根据某货物编号(1001到1020之间)查询其对应的库存结余量,并统计出查找的次数。
其中货物库存信息已经按"货物编号"由小到大排列,列表框List1用于显示货物编号(1001至1020)及相应的库存结余量,文本框Text1用于输入待查货物编号,文本框Text2用于输出相应货物的库存结余量,文本框Text3用于输出查找的次数,变量nc用于累计查找的次数,数组bh中已依次存放货物编号1001,1002,…,1020,数组number中存放了相应货物的库存结余量。
请在
(1)和
(2)划线处,填入合适的语句或表达式,把程序段补充完整。
Functionsearch(keyAsInteger)AsInteger
i=1:
j=20:
nc=0
DoWhilei<=j
(1)
m=Int((i+j)/2)
Ifbh(m)=keyThen
Search=number(m):
ExitFunction
EndIf
Ifkey<bh(m)Then
(2)
Else
i=m+1
EndIf
Loop
Search=0
EndFunction
PrivateSubCommand1_Click()
DimkeyAsInteger
Key=Val
Nr=search(key)
Ifnr>0Then
=Str(key)+"货号的库存结余量:
"+Str(nr)
Else
="找不到"
EndIf
=Str(nc)
EndSub
程序中划线处
(1)应填入:
。
程序中划线处
(2)应填入:
。
1.Teacher
2.25
3.x<=200
4.nc=nc+1j=m-1