x(i)=x(j):
x(j)=t
Nextj,i
Fork=1To5
Form1.Print"x(";k;")=";x(k)
Nextk
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
11.程序
PrivateSubForm_Click()
Dima(2,3)AsInteger
Fori=1To2
Forj=1To3
a(i,j)=2*i-j
Nextj,i
Forh=1To3
Fork=1To2
Form1.Printa(k,h),
Nextk
Print
Nexth
EndSub
写出程序运行时单击窗体后,Form1上的输出结果。
12.程序
PrivateSubCommand1_Click()
DimxAslong,yAsString
x=InputBox("","")
DoWhileX〈〉0
y=y&xMod10
y=x\lOMod10&y
x=x\100
printy
Loop
EndSub
运行时单击Command1后,输入l2345678,写出窗体上的输出结果。
13.程序
DimxAsInteger,yAsInteger
PrivateSubf1(aAsInteger)
a=a/2
EndSub
PrivateSubf2(ByValbAsInteger)
b=b/2
EndSub
PrivateSubCommand1_Click()
Callfl(x)
Callf2(y)
Printx,y
EndSub
PrivateSubFormLoad()
x=64;y=64
EndSub
依次写出下列程序运行时四次单击命令按钮Command1后窗体上的输出结束
14.程序
PrivateSubForm1_Click()
DimyasInteger
Do
y=Inputbox(“y=”)
If(yMod10)+Int(y/10)=10ThenPrinty
LoopUntily=0
EndSub
运行时,单击窗体后依次输入10、37、50、55、56、64、20、28、19、-19、0,写出运行结果。
15.程序
DimxasByte
PrivateStaticSubForm1_Click()
DimyasByte,zasByte
CallInit(y,z)
CallOP(x,y,z)
Printx,y,z
EndSub
PrivateSubInit(aASByte,bASByte)
a=a+1:
b=b+2:
x=a+b
EndSub
PrivateSubOP(ByValuASByte,vASByte,ByRefwASByte)
u=u+1:
v=v+u:
w=u+v+w
EndSub
写出运行时两次单击窗体后屏幕上的显示结果
16.程序
PrivateSubForm_Click()
Dima(4,4)AsInteger,iAsInteger,jAsInteger
Fori=1To4
Forj=1To4
a(i,j)=Trim(Str(i))+Trim(Str(j))
Nextj
Nexti
Fori=1To4
Forj=1To4
PrintTab((j-1)*4+1);a(i,j);
Nextj
Print
Nexti
EndSub
写出下列程序运行时,单击窗体后窗体上的显示结果
17.程序
PrivateSubCommand1_Click()
Fori=2To20
IfiMod2=1AndiMod3=2ThenPrinti
Nexti
Printi
EndSub
写出运行时单击命令按钮后窗体上的显示结果
18.程序
PrivateFunctionf1(nAsInteger)AsInteger
StaticiAsInteger
Whilei<=n
f1=f1+i:
i=i+1
Wend
EndFunction
PrivateFunctionf2(ByValn1AsInteger,n2AsInteger)AsInteger
DimiAsInteger
DoWhilen2>=n1
f2=f2+n2:
n2=n2-1
Loop
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
Printf1(3)
Printf1(5)
a=5:
b=8
Printf2(a,b)
Printf2(b,a)
EndSub
写出程序运行时,单击命令按钮控件Command1后窗体上的显示结果。
19.程序
Subprnt(b()AsString*1,nAsInteger)
DimiAsInteger
Fori=1Ton
Printb(i);
Nexti
Print
EndSub
PrivateSubForm_Click()
Dima(7)AsString*1,iAsInteger
Fori=1To7
a(i)=Chr(Asc("A")+i-1)
Nexti
Fori=7To4Step-1
Callprnt(a,i)
Nexti
EndSub
写出程序运行时,单击窗体后窗体上的显示结果。
20.程序
PrivateSubCommand1_Click()
DimxAsLong,iAsInteger
x=60
i=2
DoWhilex>1
IfxModi=0ThenPrinti;:
x=x\iElsei=i+1
Loop
EndSub
单击命令按钮,窗体上的显示结果为。
21.程序
Subf(a()AsSingle,nAsInteger)
DimiAsInteger,jAsInteger,kAsInteger,tAsSingle
Fori=1Ton-1
k=i
Forj=i+1Ton
IfAbs(a(j))>Abs(a(k))Thenk=j
Nextj
t=a(k):
a(k)=a(i):
a(i)=t
Nexti
EndSub
PrivateSubCommand1_Click()
Dimx(5)AsSingle
x
(1)=5:
x
(2)=-7:
x(3)=5:
x(4)=12:
x(5)=-3
Callf(x,5)
Printx
(1);x
(2);x(3);x(4);x(5)
EndSub
运行时单击命令按钮Command1后窗体上的显示结果是;如果将其中的语句“t=a(k):
a(k)=a(i):
a(i)=t”修改为“a(k)=a(i):
a(i)=a(k)”,则显示结果为。
22.程序
PrivateSubf(sAsString)
DimiAsInteger,nAsInteger,cAsString
n=Len(s)
IfnMod2=1Thenc=Mid(s,n\2+1,1)
Fori=1ToLen(s)\2
c=Mid(s,Len(s)+1-i,1)+c+Mid(s,i,1)
Nexti
s=c
EndSub
PrivateSubCommand1_Click()
DimxAsString
x=InputBox("x=")
Callf(x)
Printx
EndSub
单击Command1后输入”abc”,窗体上显示结果为:
单击Command1后输入”abcd”,窗体上显示结果为:
如果将Sub过程f首句改为PrivateSubf(ByValsAsString),单击后Command1后输入”abcd”,窗体上显示结果为:
(二)程序填空,根据程序实现的功能,将程序填充完整。
1.
【程序说明】:
已知自然对数的底数e的级数表示如下:
本程序利用函数过程fact()求e,其中绝对值小于1E-8的项被忽略。
【程序】
PrivateFunctionfact(mAsInteger)AsSingle'求m!
的函数
DimxAsSingle,iAsInteger
x=1
Fori=1Tom
x=
Nexti
fact=x
EndFunction
PrivateSubForm_Click()
DimeAsSingle,itemAsSingle
DimnAsInteger
e=1:
n=
Do
n=n+1
item=
e=e+item
LoopWhile
Form1.Print"e=";e
EndSub
2.本程序求3-100之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件e:
\dataout.txt;素数的个数显示在窗体Form1上。
【程序】
PrivateSubCommand1_Click()
DimcountAsInteger,flagAsBoolean
Dimt1AsInteger,t2AsInteger
count=0
Fort1=3To100
flag=True
Fort2=2ToInt(Sqr(t1))
IfThenflag=False
Nextt2
count=count+1
EndIf
Nextt1
Close#1
EndSub
3.【程序说明】
由输入对话框输入n(设n为大于零且小于30的自然数),计算下列表达式的值,并在标签框Label1上显示。
【程序】
PrivateSubForm_Click()
DimnAsInteger,sumAsDouble,kAsInteger
n=Val(InputBox("n=","请输入自然数n(n>0且n<30)"))
Do
n=Val(InputBox("n=","请重输"))
Loop
sum=0
Do
k=k+1
sum=
LoopUntilk>=n
Label1.Caption="sum="+Str(sum)
EndSub
4.【程序说明】
本程序用于处理文本框Text1.Text中的内容,假设文本框中有偶数个字符。
要求将文本框中的内容从头尾至中间依次各取字符,组成一个新的字符串Str2,并在窗体上输出。
例如:
Text1.Text="12345678",则Str2="18273645"
【程序】
PrivateSubForm_Click()
DimStr1AsString,Str2AsString
Str1=Text1.Text
Str2=""
m=0
Do
Str2=Str2+
Str2=Str2+
m=m+1
Loop
Form1.PrintStr2
EndSub
5.【程序说明】
用近似公式求自然对数的底数e的值,要求计算结果的误差小于10-9
E=1+1/1!
+1/2!
+1/3!
……
【程序】
PrivateSubCommand1_Click()
dimsasDouble,tasdouble
DimiAsInteger
i=2
t=1
dowhile
t=t+1
i=i+1
Loop
Prints
EndSub
6.【程序说明】
下列过程的功能是为与形参a所对应的n个元素的实参数组送数,第一个元素赋值n,其他元素为2位随机整数,要求这n个数各不相同。
【程序】
PrivateSubcreat(a()asbyte,nasbyte)
Dimiasbyte,jasbyte,xasbyte
a
(1)=n
i=1
Dowhileix=
forj=1to
ifx=a(j)then
Nextj
Iftheni=i+1:
a(i)=x
loop
EndSub
7.【程序说明】Summary过程是用于计算1!
+2!
+...+20!
,并打印出计算结果,但不完整,请在横线上填入必要的内容,使其完整。
nFactor函数过程用于计算n!
。
【程序】
PublicFunctionnFactor(ByValnAsInteger)AsDouble
DimiAsInteger
DimtempAsDouble
Fori=1Ton
temp=temp*i
Nexti
nFactor=
EndFunction
PublicSubsummary()
DimsumAsDouble
DimiAsInteger
DimnAsInteger
n=20
Fori=1Ton
sum=sum+
Nexti
Form1.Print"sum="&
EndSub
8.【程序说明】Findat过程是用于在一个字符串变量中查找"at",并用消息框给出查找结果的报告:
没有找到或找到的个数,但不完整,请在横线上填入必要的内容,使其完整。
【程序】
PublicSubFindat()
'在字符串str1中查找"at"
Dimstr1AsString
DimlengthAsInteger'字符串长度
DimsumAsInteger'查到的个数
DimiAsInteger
str1=InputBox("请输入一个字符串")
length=
i=1
sum=0
DoWhilei<=
If="at"Then
sum=sum+1
EndIf
i=i+1
Loop
IfThen
MsgBox"没有找到!
"
Else
MsgBox"找到了"&Str(sum)&"个"
EndIf
EndSub
9.【程序说明】ArmstrongNumber过程是用于求出1--999之间所有的Armstrong数,并打印出来,但不完整,请在横线上填入必要的内容,使其完整。
所谓Armstrong数是指一个数等于它每位上数字的立方和。
例如:
371=3^3+7^3+1^3,那么371就是一个Armstrong数。
【程序】
PublicSubArmstrongNumb