VB上机练习题10文档格式.docx
- 文档编号:17367338
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:27
- 大小:21.11KB
VB上机练习题10文档格式.docx
《VB上机练习题10文档格式.docx》由会员分享,可在线阅读,更多相关《VB上机练习题10文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
m"
"
o"
p"
To"
z"
或"
★"
(四)程序设计
129,130,134,135
(一).程序改错(1道,3错/题,3错X3分=9分)
127
'
------------------------------------------------
【程序改错】
题目:
下面程序可输出如下图形:
*
***
*****
*******
*********
注意:
不可增加或删除程序行,也不可以更改程序结构
PrivateSubForm_Click()
dimmasinteger,nasinteger,sasstring,iasinteger,jasinteger
n=4
m=1
s="
*"
Fori=5To1Step-1
**********FOUND**********
PrintSpc(n)
Forj=1To2*m-1
Prints;
Nextj
n=n+1
m=m-1
Nexti
EndSub
--------------------------------------------------
『错误答案』:
1PrintSpc(n);
2n=n-1或n=-1+n
3m=m+1
132
求s=2!
+4!
+6!
+8!
,阶乘的计算用Function过程
fact实现
dimiasinteger,sasLong
Fori=2To8
s=s+fact(i)
Prints
PublicFunctionfact()
dimtasLong
dimiasinteger
t=1
Fori=1Ton
t=t*i
NextI
fact=i
EndFunction
『答案』:
1Fori=2To8Step2
2PublicFunctionfact(ByValnAsInteger)或PublicFunctionfact(nAsInteger)或PublicFunctionfact(n)
3fact=t
程序功能为打印下列图形:
*
**
****
Cls
DimiAsInteger
DimjAsInteger
Fori=1To7
Forj=1To5
Print"
;
Nexti
1Fori=1To5
2Forj=1Toi
3Nextj
求s=72+102+132+……832的值。
DimsAsLong
s=1
Fori=7To832
s=s+I
Next30
1s=0
2Fori=72To832step30
3Nexti
146
用辗转相除法求两个整数的最大公约数。
Functiongcd(mAsInteger,nAsInteger)AsInteger
DimrAsInteger
r=mModn
DoWhiler<
>
0
n=m
n=r
Loop
gcd=r
DimaAsInteger,bAsInteger,cAsInteger
a=InputBox("
输入一个整数"
)
b=InputBox("
a=Val(a)
b=Val(b)
Callgcd(a,b)
Printa,b,c
1m=n
2gcd=n
3c=gcd(a,b)
147
下面的程序用来产生并输出图示的杨辉三角。
1
11
121
1331
14641
15101051
PublicSubreadin(a()AsInteger,nAsInteger)
Dimi,jAsInteger
Fori=1Ton
a(i,n)=1
a(i,1)=1
Fori=3Ton
Forj=2Ton
a(i,j)=a(i-1,j)+a(i-1,j-1)
Nextj
PublicSubprintf(a()AsInteger,nAsInteger)
Forj=1Ton
PrintTab(5*j+10);
a(i,j);
Dimx(10,10)AsInteger
Callreadin(x(),6)
Callprintf(x(),6)
1a(i,i)=1
2Forj=2Toi-1或Forj=2To-1+i
3Forj=1Toi
随机产生n个两位正整数(n由输入对话框输入,且n>
0),
求出其中的偶数之和,并在标签框Label1上显示。
PrivateSubCommand1_Click()
DimnAsInteger
DimiAsInteger,sumAsLong
DimrnddatAsInteger
n=Val(InputBox("
Pleaseinputainteger"
InputNvalue"
))
'
sum=n
Ifn>
0Then
rnddat=Int(90*Rnd)
Me.Printrnddat;
Ifrnddat/2=0Then
sum=sum+rnddat
EndIf
Label1.Caption=sum
『图片数目』:
1张
『文件数目』:
2张
1sum=0
2rnddat=10+Int(90*Rnd)或rnddat=★10★+★Int(90*Rnd)
3IfrnddatMod2=0Then或Ifrnddat/2=cint(rnddat/2)Then或If★rnddat/2★=★cint(rnddat/2)Then
460
已知C的公式表示如下:
n!
C=------------------
(n-m)!
*m!
函数过程fac()求k!
函数,在Fomr_Click事件中完成运算,
请修正程序中错误。
PrivateFunctionfac(kAsInteger)AsSingle
DimxAsSingle,jAsInteger
x=0
Forj=1Tok
x=x^j
fac=x
DimCAsSingle
DimmAsInteger,nAsInteger
m=Val(InputBox("
请输入一个整数(m):
"
请输入一个整数(n):
C=fac(n)/fac(n-m)*fac(m)
C="
C
0张
1x=1
2x=x*j或x=j*x
3C=fac(n)/fac(n-m)/fac(m)或C=fac(n)/(fac(n-m)*fac(m))或C=fac(n)/(★fac(n-m)★*★fac(m)★)
463
以下程序功能是输入三个数,由大到小排序。
DimAAsInteger
DimBAsInteger
DimCAsInteger
DimnTempAsInteger
A=Val(InputBox("
Pleaseinputfirstinteger"
输入正整数"
B=Val(InputBox("
Pleaseinputsecondinteger"
C=Val(InputBox("
Pleaseinputthirdinteger"
IfA<
=CThen
nTemp=A
A=B
B=nTemp
IfB<
A=C
C=nTemp
=BThen
nTemp=B
B=C
Theintegersinorderis"
A;
B;
1IfA<
=BThen或IfB>
=AThen
2IfA<
=CThen或IfC>
3IfB<
480
题目:
下面函数的功能是:
求变量s(s=a+aa+aaa+aaaa+……)
的值。
其中,a是一个0-9的数字,总共累加a项。
列如,
当a=3时,s=3+33+333(共累加3项)。
PublicFunctionCalc(aAsInteger)
DimsAsLong
DimtAsLong
DimiAsInteger
s=a
t=1
Fori=2Toa
t=t+a
s=s+t
Calc=s
Prints
i=InputBox("
请输入数字(0-9):
Call(i)
1t=a
2t=t*10+a或t=★t*10★+★a或t=★t★*★10★+★a
3Calci或CallCalc(i)或Calc(i)
(二).程序填空(1道,3空/题,3错X3分=9分)
-------------------------------------------------------
【程序填空】
以下程序段用于输出杨辉三角:
Constn=10
Dimarr(n,n)AsInteger
ForI=1Ton
arr(I,I)=1
**********SPACE**********
【?
】
ForI=3Ton
Forj=2ToI-1
arr(i,j)=【?
Forj=1ToI
------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 上机 练习题 10