vb经典代码范本模板.docx
- 文档编号:27497047
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:34
- 大小:49.20KB
vb经典代码范本模板.docx
《vb经典代码范本模板.docx》由会员分享,可在线阅读,更多相关《vb经典代码范本模板.docx(34页珍藏版)》请在冰豆网上搜索。
vb经典代码范本模板
1。
求三角形的面积代码:
OptionExplicit
Dima!
,b!
c!
r,!
s!
PrivateSubCommand1_Click()
a=InputBox(”a=”,”请输入a的数值")
b=InputBox(”b=”,”请输入b的数值”)
c=InputBox(”c=",”请输入c的数值")
Ifa+b>cAnda+c〉bAndb+c>aAnda〉0Andb>0Andc〉0Then
r=1/2*(a+b+c)
s=Sqr(r*(r—a)*(r-b)*(r-c))
Label1。
Caption=”三角形的面积为"&s
Else
Label2.Caption=”输入的数据不能构成三角形"
EndIf
EndSub
2。
三个数排列代码:
OptionExplicit
Dimx!
y!
z!
,t!
PrivateSubCommand1_Click()
x=InputBox(”输入第一个数x")
y=InputBox(”输入第二个数y")
z=InputBox(”输入第三个数z")
Print”排序前";x&"”&y&”"&z
Ifx x=y: y=t Ify〈zThen t=y: y=z: z=t Ifx t=x: x=y: y=t EndIf EndIf Print"排序后";z&”"&y&"”&x EndSub 3。 计算一元二次方程的代码: OptionExplicit Dima! ,b! ,c! ,d! x1! x2! PrivateSubCommand1_Click() a=InputBox(”a=","请输入一元二次方程的系数a”) b=InputBox("b=","请输入一元二次方程的系数b") c=InputBox("c=",”请输入一元二次方程的系数c") Ifa=0Then Print"因为a≠0,你输入的a=0,请重新输入系数a” EndIf d=b^2-4*a*c Ifd>=0Then x1=(-b+Sqr(d))/(2*a) x2=(—b—Sqr(d))/(2*a) Print”系数为"&a;b;c&"的一元二次方程的根分别为”&”x1="&x1&""&”x2="&x2 Else Print"此方程在实数范围内无解” EndIf EndSub 4.利用SelectCase语句输入年份计算属相代码: OptionExplicit PrivateSubCommand1_Click() DimiAsInteger,xAsString,YAsInteger Y=InputBox("输入你的出生年份Y") i=YMod12 SelectCasei CaseIs=0 x="猴” CaseIs=1 x=”鸡” CaseIs=2 x=”狗" CaseIs=3 x="猪" CaseIs=4 x="鼠” CaseIs=5 x=”牛" CaseIs=6 x=”虎” CaseIs=7 x="兔” CaseIs=8 x="龙” CaseIs=9 x=”蛇” CaseIs=10 x="马” CaseIs=11 x=”羊” EndSelect Printx EndSub 5.闰年两种判断方法的代码; 方法一: OptionExplicit DimyAsInteger PrivateSubCommand1_Click() y=InputBox(”y=”,"输入年份") IfyMod4=0Then IfyMod100=0Then IfyMod400=0Then Print"这年为闰年” Else Print”这年为平年" EndIf Else Print”这年为闰年” EndIf Else Print”这年为平年” EndIf EndSub 方法二: PrivateSubCommand2_Click() y=InputBox(”y=”,”输入年份”) IfyMod4=0AndyMod100=0Then Print"这年为闰年" ElseIfyMod400=0Then Print”这年为闰年” Else Print”这年为平年" EndIf EndSub 6.三种方法计算下式 的代码: 法一: OptionExplicit Dimx! y! PrivateSubCommand1_Click() x=InputBox("x=","输入x的值”) Ifx〈〉0Then Ifx>=1Orx〈=—1Then y=(1+Sin(x)*Sin(x)-Sqr(x^2-1))/x Print"y=";Format(y,”0。 0000”) Else Print"所输入的x不在定义域" EndIf Else Print"除数不能为零” EndIf EndSub 法二: PrivateSubCommand2_Click() x=InputBox(”x=”,"输入x的值") SelectCasex CaseIs=0 Print"除数不能为零” CaseIs〉=1,Is<=-1 y=(1+Sin(x)*Sin(x)-Sqr(x^2—1))/x Print”y=";Format(y,"0.0000”) CaseIs〈>0,Is<1,Is>—1 Print”所输入的x不在定义域” EndSelect EndSub 法三: PrivateSubCommand3_Click() x=InputBox("x=”,"输入x的值”) Ifx>=1Then y=(1+Sin(x)*Sin(x)-Sqr(x^2-1))/x Print”y=";Format(y,"0.0000”) ElseIfx〈1Andx〉0Then Print”所输入的x不在定义域” ElseIfx=0Then Print”除数不能为零" ElseIfx>=-1Andx〈0Then Print"所输入的x不在定义域” ElseIfx〈=-1Then y=(1+Sin(x)*Sin(x)—Sqr(x^2-1))/x Print"y=”;Format(y,”0.0000") EndIf EndSub 流程图: 伪代码: step1: 输入x的值; step2: 判断x是否为零; step3: 若x=0,输出“除数不能为零”;若x不为零,则继续判断x的绝对值是否大于1; step4: 若x的绝对值是否大于1,输出y的值;否则x的值不在函数的定义域里,结束。 7。 利用For……Next循环计算1+2+3+4+……+n. OptionExplicit Dimi%,j%,n% PrivateSubCommand1_Click() j=0 n=InputBox(”输入的n值”) Fori=1Ton j=j+i Nexti Printj EndSub 8.编写利用辗转相除法及辗转相减法计算公约数的代码 (1)辗转相减法 PrivateSubCommand10_Click() DimmAsLong,nAsLong,m1AsLong,n1AsLong,rAsLong,tAsLong m1=InputBox(”输入m1","求最大公约数和最小公倍数") n1=InputBox("输入n1”,"求最大公约数和最小公倍数”) m=m1 n=n1 Do Ifn〉mThen t=m m=n n=t EndIf r=m—n Ifr=0ThenExitDo m=n n=r LoopUntilr=0 Printm1&","&n1&”的最大公约数是”&m Printm1&”,”&n1&”的最小公倍数是"&m1*n1/m EndSub (2)辗转相除法 PrivateSubCommand9_Click() Dimn%,m%,r%,m1%,n1% n1=InputBox(”输入n”) m1=InputBox("输入m”) Ifm1〉n1Then m=m1: n=n1 Else m=n1: n=m1 EndIf r=mModn DoWhiler〈>0 m=n n=r r=mModn Loop Printm1;",”;n1;”的最大公约数”;n Printm1;",”;n1;"最小公倍数";m1*n1/n EndSub 9。 输出一列“*”,一行“*"。 PrivateSubCommand2_Click() Fori=1To8 Print"*” Nexti Print EndSub PrivateSubCommand3_Click() Fori=1To8 Print"*"; Nexti Print EndSub 10。 一张若干大面积的纸厚0.1mm,将其对折一次厚0.2mm,再对折一次厚0。 4mm,如果对折了40次,问厚度是多少? PrivateSubCommand4_Click() DimsAs! ,ss! n=InputBox("输入的n值”) Fori=1Ton s=0.1*2^n ss=s*0。 001 Nexti Print”ss="&Format(ss,”0。 0000")&"米” EndSub 11。 一个球自100m处高度自由落下,每次落地后反跳到原高度一半,然后再落下。 求它在第10次落地时,共经过多少m? 第10次反弹多高? PrivateSubCommand5_Click() Dimi%,s! h! h=50 s=100 i=2 DoUntili>10 s=s+h*2 h=h/2 i=i+1 Loop Print”十次落地经过的路程s="&s;”米”,"第十次落地反弹的高度h="&h;"米" EndSub 12.猴子吃桃问题。 猴子第一天摘下若干个桃子,当即吃了一半又多吃一个。 第二天双将剩下的吃了一半,又多吃一个,以后每天都吃前一天剩下的一半零一个.到第十天只有一个桃子。 问第一天共摘了多少个桃子。 PrivateSubCommand6_Click() Dimi%,x1%,x2% x1=1 x2=0 i=1 DoUntili〉9 x2=(x1+1)*2 x1=x2 i=i+1 Loop Print”总桃数为"&x2 EndSub 13.利用自然对数e的近似值,近似公式为: e=1+1/1! +1/2! +1/3! +…+1/n! +… (1)求其误差小于0.00001时的值; (2)计算到第10项. (1)PrivateSubCommand7_Click() Dims! e! ,i% i=1 s=1 e=1 DoUntili>9 s=s/i e=e+s i=i+1 Loop Print"e="&e EndSub (2)PrivateSubCommand8_Click() Dimi%,t&,e! i=0 e=0 t=1 DoWhile1/t〉0。 00001 e=e+1/t i=i+1 t=t*i Loop Print"e=”;e EndSub 14。 以单重循环及三重循环找到100到999之间所有的水仙花数; 单重循环: OptionExplicit PrivateSubCommand1_Click() Dima%,b%,c%,i% Fori=100To999 a=iMod10: b=(iMod100)\10: c=i\100 Ifi=a^3+b^3+c^3Then Printi EndIf Nexti EndSub 三重循环: PrivateSubCommand2_Click() Dima%,b%,c% Fora=1To9 Forb=0To9 Forc=0To9 Ifa^3+b^3+c^3=a*100+b*10+cThen Printa*100+b*10+c EndIf Nextc Nextb Nexta EndSub 15.在百钱买百鸡的基础上,练习兑换零钱; OptionExplicit Dima%,b%,c%,d%,e%,f%,m! ,n% PrivateSubCommand1_Click() n=0 m=0 Fora=0To2 Forb=0To(100—50*a)/20 Forc=0To(100-50*a-20*b)\10 Ford=0To(100—50*a-20*b—10*c)\5 Fore=0To(100—50*a-20*b—10*c—5*d)\2 Forf=0To100—50*a-20*b-10*c—5*d—2*e Ifa*50+b*20+c*10+d*5+e*2+f=100Then n=n+1 EndIf m=m+1 Nextf Nexte Nextd Nextc Nextb Nexta Label1.Caption=”总共有"&n&”种方法。 "&”"&”共计算了"&m&”次。 " EndSub PrivateSubCommand2_Click() n=0 m=0 Fora=0To2 Forb=0To(100-50*a)/20 Forc=0To(100-50*a-20*b)\10 Ford=0To(100—50*a-20*b-10*c)\5 Fore=0To(100—50*a—20*b-10*c—5*d)\2 n=n+1 m=m+1 Nexte Nextd Nextc Nextb Nexta Label1。 Caption="总共有"&n&"种方法.”&""&"共计算了"&m&"次。 " EndSub 16输入一个数,判断该数是否为素数。 OptionExplicit PrivateSubCommand1_Click() Dimn! j! n=Val(Text1) j=2 DoWhilej<=Sqr(n)AndnModj<>0 j=j+1 Loop Ifj〉Sqr(n)Then Printn;”是素数" Else Printn;”是合数" EndIf EndSub 17.求100~200之间所有的素数. OptionExplicit Dimi%,j%,c% PrivateSubCommand1_Click() Fori=101To199Step2 Forj=2ToSqr(i) IfiModj=0ThenExitFor Next Ifj〉Sqr(i)Then Printi; c=c+1 IfcMod5=0Then Print EndIf EndIf Next EndSub 18。 输入一个偶数,验证该数符合哥德巴赫猜想。 OptionExplicit PrivateSubCommand1_Click() DimN%,N1%,N2%,I%,K1%,K2% N=Val(InputBox(”输入大于6的偶数")) ForN1=3ToN\2Step2 K1=Int(Sqr(N1)) ForI=2ToK1'判断N1是否是素数 IfN1ModI=0ThenExitFor NextI IfI〉K1Then’如果N1为素数,将N分解为N1+N2 N2=N-N1 K2=Int(Sqr(N2)) ForI=2ToK2’判断N2是否是素数 IfN2ModI=0ThenExitFor NextI IfI〉K2Then'如果N2也为素数,则打印输出 PrintN&"=”&N1&”+"&N2 EndIf EndIf NextN1 EndSub 19。 验证100~200之间所有的偶数符合哥德巴赫猜想. OptionExplicit PrivateSubCommand1_Click() DimiAsInteger DimjAsInteger DimxAsInteger DimyAsInteger DimzAsInteger k: x=Val(InputBox(”请输入一个数")) Ifx<6AndxMod2<>0Then GoTok Else Printx Fory=2Tox/2 z=x-y Fori=2Toy-1 IfyModi=0ThenExitFor Nexti Ifi>y—1Then Forj=2Toz-1 IfzModj=0ThenExitFor Nextj Ifj>z-1Then Printy;"+";z EndIf EndIf Nexty EndIf EndSub 20。 输出一个5阶的杨辉三角形 OptionExplicit DimA()AsInteger DimnAsInteger,i,j% PrivateSubCommand1_Click() ReDimA(6,6) Fori=1To6 Forj=1Toj Ifj=1Orj=iThen A(i,j)=1 Else A(i,j)=A(i—1,j-1)+A(i-1,j) EndIf Nextj,i Fori=1To6 Forj=1Toi—1 PrintTab(50-i*3+j*6);A(i,j);Spc (1); Nextj Print Nexti EndSub 21。 输出下面的图案 C CH CHI CHIN CHINA OptionExplicit DimAAsString Dimi%,j% PrivateSubCommand1_Click() Forj=0To5 A=Mid("CHINA”,1,i) PrintA i=j+1 Nextj Print EndSub 22.输出一个n矩阵等腰三角形,其外形如下 提示: 倒数第一行一个,倒数第二行3个,…… OptionExplicit Dimi! j! ,T$,x$ PrivateSubCommand1_Click() Fori=0To3 x="” Forj=1To(7-Abs(i)*2) x=x&”*” Next T=Space(Abs(i))&x&Space(Abs(i)) PrintT Next EndSub 23。 先成一个10阶的一维随机数组,数组的每个元素值为[10,50],将这个数组用选择法及冒泡法二种排序方法排序,编写该代码. OptionExplicit Dimk%,i%,j%,t%,m%,n% PrivateSubCommand1_Click() Dimx%(1To5,1To10) Form=1To5 Forn=1To10 Randomize x(m,n)=Int(Rnd*100+2000)’产生50个随机数 Picture3.PrintTab(6*n—4);x(m,n); Nextn Print Nextm EndSub PrivateSubCommand2_Click() Dimx%(1To10) Fork
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 经典 代码 范本 模板