k=a(i):
(2):
a(j)=k
EndIf
Nextj
Nexti
Fori=1Ton
list2.AddItemStr(a(i))
NextI
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
n=n+1
a(n)=Val((3))
List1.AddItemStr(a(n))
Text1.Text="":
Text1.SetFocus
EndIf
EndSub
①程序中出现了text和list两种控件,其中list控件的中文名称是列表框,text控件的中文名称是。
(2)在上述程序段中3处带序号的空白地方补充恰当的语句,完善程序。
【答案】①文本框
(1)i+1
(2)a(i)=a(j)(3)text1.text
【解析】
19.下面程序的功能是:
计算表达式1+3+5+…+(2n-1)的值,在文本框Text1中输入n的值,结果在文本框Text2中输出。
则程序中划线处的语句应填____________。
PrivateSubCommand1_Click()
DimsumAsLong,iAsInteger,nAsInteger
sum=0
n=Val(Text1.Text)
Fori=1To2*n-1Step2
Nexti
Text2.Text=Str(sum)
EndSub
【答案】sum=sum+i
【解析】
20.王敏的EMail邮箱密码忘记了,但她需要收一封很重要的来信,请你帮她尽可能找出密码。
她零星记得自己的密码信息:
①密码是六位数字,前面两位为31;
②最后两位数字相同;
③能被16和46整除。
程序界面如图所示,单击“帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。
解决此问题的相应程序如下:
PrivateSubCommand1_Click()
DimaAsInteger,sAslong,bAsInteger,iAsInteger
Fori=0To9999①________
s=310000+i
IfsMod46=0Then
②________
b=(sMod100)\100
Ifa=bThen
List1.AddltemStr(s)
EndIf
EndIf
Nexti
EndSub
(1)解决此问题的算法是________(选填:
枚举算法或排序算法)
在程序①和②画线处,填入适当的语句或表达式,把程序补充完整:
(2)程序中①画线处应填入________。
(3)程序中②画线处应填入________。
【答案】
(1)枚举算法
(2)step16(3)a=smod10
【解析】
21.输入一个三位数的整数,要求将此三位数的各位上的数字重新排列,组成一个尽可能大的三位数。
例如:
输入213,重新排列可得到尽可能大的三位数是321。
现要求编写VB程序(运行界面如图所示),实现如下功能:
在文本框Text1中输入一个三位数整数,单击“求解”按钮Command1,在文本框Text2中显示重新组合后的最大三位数整数。
某同学按此要求编写的程序如下,其中函数max(x)用于求解最大三位数整数,但加框处代码有错,请改正。
①___________________②___________________
Functionmax(xAsInteger)AsInteger
DimaAsInteger,bAsInteger,cAsInteger,tAsInteger
a=x\100
b=(x\10)\10'①
c=xmod10
Ifaa=b:
b=t
Ifaa=c:
c=t
Ifbc=b:
b=t
max=c*100+b*10+a'②
EndFunction
PrivateSubCommand1_Click()
DimnAsInteger,yAsInteger
n=Val(Text1.Text)
y=max(n)
Text2.Text=Str(y)
EndSub
【答案】①(x\10)mod10②a*100+b*10+c
【解析】
22.现需计算1*2*3*……*n=?
有如下程序段,在划线处填入合适的语句或表达式,完成程序。
s=1
i=1
DoWhilei<=n
S=s*i
i=i+1
【答案】Loop
【解析】
23.本程序要求完成的功能是:
计算
s=1/1+2/(1*2)+3/(1*2*3)+…+n/(1*2*3*…*n)的值。
请将已有VB代码补充完整。
n=inputbox(“请输入n的值”)
s=0
________
(1)________
Fori=1ton
t=t*i
s=s+______
(2)_______
Nexti
Prints
(1)__________
(2)__________
【答案】
(1)t=1
(2)i/t
【解析】
24.素数:
只能被1和它本身整除的自然数。
要求编写VB程序找出任意两个整数之间中所有的素数及个数,程序运行界面如下图所示。
请根据算法将下列程序补充完整。
Functionprime(aAsInteger)AsBoolean
DimjAsInteger
prime=True
j=2
DoWhileprimeAndj<=a\2
IfaModj=0Then
prime=False
ExitDo
EndIf
①
Loop
EndFunction
PrivateSubCommand1_Click()
DimiAsInteger,aAsInteger,bAsInteger
DimcountAsInteger
a=Val(Text1.Text)
b=Val(Text2.Text)
Fori=aTob
If②=TrueThen
List1.AddItemStr(i)
count=count+1
EndIf
Nexti
Label1.Caption="素数共有"+Str(count)+"个!
"
EndSub
【答案】①j=j+1②prime(i)
【解析】本题考核VB基本语句含义的理解,自定义函数的应用。
25.有如下VisualBasic程序:
PrivateSubCommand1_Click()
DimsAsInteger
DimIAsInteger
S=0
Fori=1To10
s=s+i\7
Nexti
Text1.text=str(s)
Endsub
该程序段运行后,文本框Text1中显示__________
【答案】4
【解析】
26.流程图是实现输出1-100之间所有能被7整除的整数。
若再要统计其个数,则要设置一个计数器c,c=0,如图所示,则计数器c=c+1应置于编号处。
【答案】2
【解析】
评卷人
得分
三、操作题
27.如果一个整数是另一个整数的平方,则称该数是“完全平方数”。
如:
1=1×1,4=2×2,9=3×3,所以1、4、9是完全平方数。
编写程序,统计100到10000之间的所有完全平方数的和。
(4分)
【答案】sum=0
fori=10to100
sum=sum+i*i
next
printsum
【解析】