过程的练习题.docx
《过程的练习题.docx》由会员分享,可在线阅读,更多相关《过程的练习题.docx(10页珍藏版)》请在冰点文库上搜索。
![过程的练习题.docx](https://file1.bingdoc.com/fileroot1/2023-8/4/29ad57c6-7388-44b4-898b-a9e6b06eafa8/29ad57c6-7388-44b4-898b-a9e6b06eafa81.gif)
过程的练习题
30017
以下过程是()。
PublicFunctionMaxNum()……EndFunction
用户自定义函数
按钮单击事件
窗体单击事件
窗体属性
A
30017以下过程是()。
PublicFunctionMaxNum()……EndFunction
用户自定义函数
按钮单击事件
窗体单击事件
窗体属性
A
30314
函数过程是以()保留字开始的。
Function
Sub
Property
Event
A
11"求12345最大的质因子
""PrivateSubForm_Click()
DimnAsInteger
DimmAsInteger
n=12345
m=n
Do
If________________________________Then
Printm
ExitDo
Else
m=m-1
EndIf
Loop
EndSub
FunctionIsPrime(nAsInteger)AsBoolean
DimflagAsBoolean
flag=True
Fori=2ToSqr(n)
IfnModi=0Then
flag=False
ExitFor
EndIf
Next
IsPrime=flag
EndFunction
""823
80"以下程序的功能是求:
在[100,999]范围内同时满足以下两个条件的十进制数的个数。
⑴其个位数字与十位数字之和除以10所得的余数是百位数字;
⑵该数是素数。
PrivateSubCommand1_Click()
n=0
Fori=100To999
Ifprime(i)=TrueThen
g=iMod10
s=i\10Mod10
b=i\100
If(g+s)Mod10=bThenn=n+1
EndIf
Nexti
Printn
EndSub
PrivateFunctionprime(x)AsBoolean
p=x\2
Fori=2Top
IfxModi=0Then
prime=False
ExitFor
EndIf
Nexti
Ifi>pThen________________
EndFunction
""15
208"程序功能:
求10的阶乘,程序中有一行有错误。
改正错误,使它能输出正确的结果。
""PrivateSubCommand1_Click()
Printfun(10)
EndSub
PrivateFunctionfun(nAsInteger)AsLong
Ifn>0Then
fun=1
Else
fun=n*fun(n-1)
EndIf
EndFunction
"3628800
209"程序功能:
求S=1+1/2+1/3+……+1/100,程序中有两行错误。
改正错误,使它能输出正确的结果。
""PrivateSubCommand1_Click()
sum1=sumd(100)
Printsum1
EndSub
PrivateFunctionsumd(nAsInteger)AsSingle
i=0
Do
i=i+1
s=s+1/i
LoopUntilisumf=s
EndFunction
"5.187377
210"程序功能:
求整数2310的所有质因子(即所有为素数的因子)之和。
程序的Isprime()函数中有一行有错误。
改正错误,使它能输出正确的结果。
PrivateSubCommand1_Click()
s=0
k=2310
Forj=2Tok
If(kModj=0AndIsprime(j))Then
s=s+j
EndIf
Nextj
Prints
EndSub
PrivateFunctionIsprime(nasinteger)asboolean
DimflagAsBoolean
flag=True
Ifn=2Then
Isprime=True
Else
Fori=2Ton-1
IfnModi=0Then
flag=False
ExitFor
EndIf
Nexti
Isprime=True
EndIf
EndFunction
"28
217"程序功能:
根据整型参数m的值,计算公式t=1-1/(2*2)-1/(3*3)-…-1/(m*m)的值(m=100)。
程序的函数fun()中有一行有错误。
改正错误,使它能输出正确的结果。
PrivateSubCommand1_Click()
PrintFormat(fun(100),"0.######")
EndSub
PrivateFunctionfun(nAsInteger)AsInteger
DimtAsSingle
DimiAsInteger
i=2:
t=1
DoWhilei<=n
t=t-1/(i*i)
i=i+1
Loop
fun=t
EndFunction
"0.365016
220"程序功能:
用公式pi/4=1-1/3+1/5-1/7+…求pi(pi为圆周率)的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。
程序的fun()函数中有一行有错误。
改正错误,使它能输出正确的结果。
PrivateSubCommand1_Click()
PrintFormat(fun(0.0001),"#.####")
EndSub
PrivateFunctionfun(numAsSingle)AsSingle
pi=1:
t=1:
s=1:
n=1
Do
s=-s
n=n+2
t=s*1/n
pi=pi+t
LoopUntiltpi=pi*4
fun=pi
EndFunction
"3.1418
378"程序功能:
利用函数pd计算1~2000之间能被17和37整除的数之和。
程序中有错误,改正错误,使程序能输出正确的结果。
PrivateSubCommand1_Click()
DimiAsInteger
DimsAsLong
s=0
Fori=1To2000
Ifpd(i)Thens=s+i
Nexti
Prints
EndSub
PrivateFunctionpd(xAsInteger)AsBoolean
IfxMod17=0OrxMod37=0Then
pd=True
Else
pd=False
EndIf
EndFunction
3774
20"金星和地球在某一时刻相对于太阳处于某一确定位置,已知金星绕太阳一周为225日,地球绕太阳一周为365日,问两个行星至少经过多少日仍同时回到原来的位置上?
PrivateSubForm_Click()
Dimm0&,n0&
DimmAsLong
DimnAsLong
DimrAsLong
m0=365
n0=225
m=m0
n=n0
r=mModn
While________________
m=n
n=r
r=mModn
Wend
Printm0*n0/n
EndSub
16425
"
78"从键盘输入两个数51211314和84131421,利用辗转相除法求它们的最大公约数。
求需要经过多少次辗转。
PrivateSubform_Click()
Dimm,n,r,tAsSingle,count%
m=Val(InputBox("请输入第一个数:
"))
n=Val(InputBox("请输入第二个数:
"))
FontSize=14:
FontBold=True
Ifmm=n:
n=t
count=0
Do
________________
m=n
n=r
count=count+1
LoopUntilr=0
Printcount
EndSub
""18