VB编程题.docx
- 文档编号:3792915
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:9
- 大小:18.04KB
VB编程题.docx
《VB编程题.docx》由会员分享,可在线阅读,更多相关《VB编程题.docx(9页珍藏版)》请在冰豆网上搜索。
VB编程题
1、》输入长方形的长和宽,计算长方形的面积,并输出。
PrivateSubcommand1_click()
Dima%,b%,s%
a=Val(InputBox("a"))
b=Val(InputBox("b"))
s=a*b
Prints
EndSub
3、输入圆的半径,计算圆的周长,并输出。
Privatesubcommand1_click()
Constpi=3.14
Dims#,i%
r=val(inputbox("请输入半径"))
s=2*pi*r
print"圆的周长为:
";s
endsub
4、》计算sum=1/2!
+1/4!
+1/6!
+...+1/10!
Privatesubcommand1_click()
Dimi%,f#,s#
F=1:
s=0
Fori=1to10
F=f*i
If imod2=0then
S=s+1/f
Endif
Nexti
Print"sum=1/2!
+1/4!
+1/6!
+...+1/10!
";"=";s
Endsub
7、计算sum=1+3+5+...+99
PrivateSubcommand1_click()
Dimi%,sum%
Fori=1To99Step2
sum=sum+i
Next
Printsum
EndSub
8、编写程序,建立一个6×6的整型二维数组(数据由程序调用Rnd函数产生[0,15)的随机整数数),输出数组中的最小元素。
PrivateSubcommand1_click()
Dima%(6,6),i%,j%
Fori=1To6
Forj=1To6
a(i,j)=Int(Rnd*15)
Printa(i,j);
Nextj
Nexti
Min=a(1,1)
Fori=1To6
Forj=1To6
IfMin>a(i,j)ThenMin=a(i,j)
Nextj
Nexti
Print"数组中最小元素为:
";Min
EndSub
9、编写一个函数,其功能是把一个二进制数串转换为十进制数串。
调用该函数,计算二进制“1110011“对应的十进制数。
PrivateSubCommand1_Click()
Printf(1110011)
EndSub
PublicFunctionf(ByValaAsString)AsLong
DimiAsLong
Fori=1ToLen(a)
f=f*2+Val(Mid(a,i,1))
Nexti
EndFunction
10、编写一个函数,其功能是把一个八进制数串转换为十进制数串。
调用该函数,计算八进制“1234567“对应的十进制数。
11、随机输出一个位于[0,100]的整数。
PrivateSubCommand1_Click()
Dims#
S=int(rnd*101) '括号里是rnd,不是md
Print"随机整数为:
";s
Endsub
12、编写程序,产生一个整型二维数组A(N,N),(N取5),数组元素的取值范围为[0,15),计算数组中每一列数据的和。
PrivateSubCommand1_Click()
Dima%(5,5)
Dimi%,j%
Fori=1To5
Forj=1To5
a(i,j)=Int(Rnd*15)
Printa(i,j);
Nextj
Nexti
Fori=1To5
s1=s1+a(i,1)
Nexti
Print"第一列数据之和是";s1
Fori=1To5
s2=s2+a(i,2)
Nexti
Print"第二列数据之和是";s2
Fori=1To5
s3=s3+a(i,3)
Nexti
Print"第三列数据之和是";s3
Fori=1To5
s4=s4+a(i,4)
Nexti
Print"第四列数据之和是";s4
Fori=1To5
s5=s5+a(i,5)
Nexti
Print"第五列数据之和是";s5
EndSub
13、编写一个函数,其功能为求两个数的最小数。
PrivateSubCommand1_Click()
Dimx!
y!
x=InputBox("输入第一个数值")
y=InputBox("输入第二个数值")
Min=f(x,y)
EndSub
PublicFunctionf(m!
n!
)
Min=m
IfMin>nThenMin=n
f=Min
Print"两数中的较小数是";Min
EndFunction
14、》输入一个四位数,分别输出它的个位数字、十位数字、百位数字和千位数字。
PrivateSubCommand1_Click()
Dimn%,a%,b%,c%,d%
n=InputBox("输入n的值")
a=n\1000
b=(n-a*1000)\100
c=(n-a*1000-b*100)\10
d=n-a*1000-b*100-c*10
Print"这个四位数的千位数字是:
";a
Print"这个四位数的百位数字是:
";b
Print"这个四位数的十位数字是:
";c
Print"这个四位数的个位数字是";d
EndSub
16、编写一个函数,其功能为判断某个整数是不是素数。
调用该函数,计算并输出区间[1300,1400]内所有素数的和。
(提示:
只能被1和自身整除的自然数称为素数。
)
PrivateSubCommand1_Click()
Dimi%
s=0
Fori=1300To1400
Iff(i)Thens=s+i
Nexti
Text1.Text=s
EndSub
PublicFunctionf(n%)AsBoolean
Dimi%
Fori=2Ton-1
IfnModi=0ThenExitFor
Nexti
Ifi>n-1Andn>1Then
f=True
Printn;"是素数"
Else
Printn;"不是素数"
EndIf
EndFunction
17、随机输出一个小(大)写字母。
PrivateSubCommand1_Click()
Dims
s=Chr$(Int(Rnd*26+97))
p=Chr$(Int(Rnd*26+65))
Print"输出的随机小写字母是";s
Print"输出的随机大写字母是";p
EndSub
18、编写一个函数,其功能为判断某个整数是不是素数。
调用该函数,判断100001是否是素数。
或100007,100003
PublicFunctionf(n#)
Fori=2Ton-1
IfnModi=0ThenExitFor
Nexti
Ifi>n-1Andn>1Then
f=True
Printn;"是素数"
Else
Printn;"不是素数"
EndIf
EndFunction
PrivateSubCommand1_Click()
Dimp%
p=f(100001)
p=f(100007)
p=f(100003)
EndSub
19、》编程题.设n=20,x=0.5,编写程序,计算并输出下面级数的部分和。
结果取6位小数
1-[x^2/2!
-x^4/4!
+x^6/6!
-…+(-1)^(n-1)*x^(2n)/(2n)!
+…] (其中,^表示幂运算,!
表示求阶)
PrivateSubCommand1_Click()
Dimf#,i%
f=1:
x=0.5:
s=0:
n=-1
Fori=1To40
f=f*i
IfiMod2=0Then
n=-n
s=s+(x^i/f)
EndIf
Nexti
Sum=1-s
Print"级数的部分和是";Format(Sum,"#.######")
EndSub
20、用Function过程求斐波那契数列的第n项,并调用该函数,显示数列的第5项。
斐波那契数列:
1,1,2,3,5,8……
PrivateSubCommand1_Click()
Dimp%
p=f(5)
EndSub
PublicFunctionf(n%)
Dima#(),i%
ReDima#(1Ton)
a
(1)=1:
a
(2)=1
Fori=3Ton
a(i)=a(i-1)+a(i-2)
Nexti
f=a(n)
Print"第";n;"项是";a(n)
EndFunction
22.输入一个两位数,分别输出它的个位数字和十位数字。
输入的一个两位数是24
十位数是2
个位数是4
请将你解答本题所写的源程序粘贴到下面或者上载源程序
PrivateSubCommand1_Click()
Dima!
n!
b!
a=Val(InputBox("输入以为二位数"))
Print"输入的一个二位数是"&a
n=aMod10
b=a\10
Print"十位数是"&b
Print"个位数是"&n
EndSub
23、编写一个函数,其功能为求两个数的最大公约数。
PrivateSubCommand1_Click()
Dimn%,m%,r%,t%,x%,y%
m=InputBox("输入的第一个自然数")
n=InputBox("输入的第二个自然数")
Ifm m=n: n=t x=m: y=n r=mModn DoWhiler<>0 x=y y=r r=xMody Loop Printm&"和"&n&"的最大公约数是";y EndSub 24、编写一个函数,其功能为求两个数的最小公倍数。 PrivateSubCommand1_Click() Dimn%,m%,r%,t%,x%,y% m=InputBox("输入的第一个自然数") n=InputBox("输入的第二个自然数") Ifm m=n: n=t x=m: y=n r=mModn DoWhiler<>0 x=y y=r r=xMody Loop Printm&"和"&n&"的最小公倍数是";m*n/y EndSub 25、》 编写程序,计算并输出下面级数前n项(n=20)中奇数项的和。 1*2*3-2*3*4+3*4*5-4*5*6+…+(-1)^(n-1)*n*(n+1)*(n+2)+… (其中,^表示幂运算) Privatesubcommand1_click() Dimi%,n%,sum% n=20 fori=1tonstep2 sum=sum+i*(i+1)*(i+2) Next Printsum Endsub 26、编写一个函数,其功能为判断某个整数是不是素数。 调用该函数,计算并输出区间[3000,4000]内所有素数的和。 (提示: 只能被1和自身整除的自然数称为素数。 ) PrivateSubCommand1_Click() Dimi% s=0 Fori=3000To4000 Iff(i)Thens=s+i Nexti Text1.Text=s EndSub PublicFunctionf(n%)AsBoolean Dimi% Fori=2Ton-1 IfnModi=0ThenExitFor Nexti Ifi>n-1Andn>1Then f=True Printn;"是素数" Else Printn;"不是素数" EndIf EndFunction 27、》输入一个两位数,分别输出它的个位数字和十位数字。 PrivateSubCommand1_Click() Dima! n! b! a=Val(InputBox("输入一个两位数")) Print"输入的一个两位数是"&a n=aMod10 b=a\10 Print"十位数是"&b Print"个位数是"&n EndSub 28、》计算sum=1*2*3*...*10 privatesubcommand1_click() dimsum#,i% sum=1 fori=1to10 sum=sum*i next printsum endsub 这个编程哪里有问题,为什么运行不了? (应该dimsum#) 29、编写程序实现,从键盘输入一个十六进制数,将其转换为十进制数,并输出结果。 要求: 转换过程用Function过程实现。 30、编写程序。 设n=20,x=3.4,要计算并输出S(n)的值,要求结果保留5位小数。 S(n)=lnx/x+ln2x/x^2+ln3x/x^3+...+ln(n*x)/x^n+...(其中,ln为自然对数函数) PrivateSubCommand1_Click() Dimi% x=3.4: n=20: s=0 Fori=1Ton s=s+Log(i*x)/x^i Nexti PrintFormat(s,"###.#####") EndSub 31、编写程序,编写程序,计算并输出下面级数前n(设n=50)项中所有奇数项的和。 (偶数项的和) 1*2+2*3+3*4+4*5+…+n*(n+1)+… PrivateSubCommand1_Click() Dimi% n=50 Fori=1Tonstep2 s=s+i*(i+1) Nexti Print"奇数项的和是";s EndSub 32、编写一个函数,其参数为一个一维整型数组,其功能为求数组中所有元素的最小值。 PublicFunctionfindmin%(b%()) Dimi% Min=b(LBound(b)) Fori=LBound(b)ToUBound(b) IfMin>b(i)ThenMin=b(i) Next findmin=Min EndFunction PrivateSubCommand1_Click() Dima%(1To10),i% Fori=1To10 a(i)=Int(Rnd*100) Printa(i); Next Print Print"数组最小值是";findmin(a()) EndSub 33、编程题。 有一个数列,第一项和第二项都是1,以后的每一项都是其相邻前两项之和的0.65倍。 试编写通用过程(函数或子程序),求数列前n项的平均值。 要求调用该过程,计算并输出n=49时前n项的平均值(保留2位小数)。 PrivateSubCommand1_Click() Print"前49项的平均值是";f(49) EndSub PublicFunctionf(n%) Dima#(),i% ReDima#(1Ton) a (1)=1: a (2)=1 Fori=3Ton a(i)=(a(i-1)+a(i-2))*0.65 Nexti Fori=1Ton s=s+a(i) Next pj=s/n f=Format(pj,"#.##") EndFunction 34、编程题。 设n=20,编写程序,计算并输出S(n)的值,要求结果保留5位小数。 S(n)=(1*2)/(3*4)+(3*4)/(5*6)+(5*6)/(7*8)+…+[(2n-1)*2n]/[(2n+1)*(2n+2)]+… PrivateSubCommand1_Click() Dimi% n=20 Fori=1Ton s=s+((2*i-1)*(2*i))/((2*i+1)*(2*i+2)) Nexti Print"前20项的和是";Format(s,"#.#####") EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 编程