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
【解析】
佃.下面程序的功能是:
计算表达式1+3+5+…+(2n1)的值,在文本框Textl中输入n的
值,结果在文本框Text2中输出。
则程序中划线处的语句应填。
PrivateSubCommand1_Click()
DimsumAsLong,iAsInteger,nAsIntegersum=0
n=Val(Textl.Text)
Fori=1To2*n-1Step2
Nexti
Text2.Text=Str(sum)
EndSub
【答案】sum=sum+i
【解析】
20.王敏的E-Mail邮箱密码忘记了,但她需要收一封很重要的来信,请你帮她尽可能
找出密码。
她零星记得自己的密码信息:
1密码是六位数字,前面两位为31;
2最后两位数字相同;
3能被16和46整除。
程序界面如图所示,单击帮助找回密码”按钮(Command"后,可能的密码显示在列表
框List1中。
口找密码□回O
f帮助找Mi密码i
I叩锻的密码有暑|纳to
315744
31H6J1K
解决此问题的相应程序如下:
PrivateSubCommand1_Click()
DimaAsInteger,sAslongbAsIntegeriAsInteger
Fori=0To9999①
s=310000+i
IfsMod46=0Then
②
b=(sMod100)\100
Ifa=bThen
List1.AddltemStr(s)
EndIf
EndIf
Nexti
EndSub
(1)解决此问题的算法是(选填:
枚举算法或排序算法)
在程序①和②画线处,填入适当的语句或表达式,把程序补充完整:
(2)程序中①画线处应填入。
(3)程序中②画线处应填入。
【答案】⑴枚举算法
(2)step16(3)a=smod10
【解析】
21.输入一个三位数的整数,要求将此三位数的各位上的数字重新排列,组成一个尽可
能大的三位数。
例如:
输入213,重新排列可得到尽可能大的三位数是321。
Text1中输入一个
现要求编写VB程序(运行界面如图所示),实现如下功能:
在文本框三位数整数,单击求解"按钮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*1OO+b*1O+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心*2*3)+•-1+(1*2*3*…*的值。
请将已有VB代码补充完整。
n=inputbox(请输入n的值”)
s=0
(1)
Fori=1ton
s=s+
(2)
Nexti
Prints
(1)
(2)
【答案】
(1)t=1
(2)i/t
【解析】
24
VB程序找出任意两个整数之间
请根据算法将下列程序补充完整。
•素数:
只能被1和它本身整除的自然数。
要求编写
Functionprime(aAsIntegei)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.Tex)t
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应置于编号处。
输出t
【答案】2
【解析】
评卷人
得分
27.如果一个整数是另一个整数的平方,则称该数是完全平方数”。
女如:
1=1X]4=2X2
9=3X3所以1、4、9是完全平方数。
编写程序,统计100到10000之间的所有完全平
方数的和。
(4分)
【答案】sum=0
fori=10to100
sum=sum+i*i
nextprintsum
【解析】