VB课后练习编程代码.docx
《VB课后练习编程代码.docx》由会员分享,可在线阅读,更多相关《VB课后练习编程代码.docx(47页珍藏版)》请在冰点文库上搜索。
VB课后练习编程代码
第一章:
1、B2、A3、B
4、对于气球对象,属性是:
红色、充满氢气事件是:
松开手、针刺方法是:
飞走、爆破
第三章:
1、窗体的属性主要可分为:
外观、行为、字体、位置、杂项、缩放等几类
2、A、B、D、E4、改变窗口的工作状态会引发窗体的Activate和Deactivate事件;改变窗口的大小会引发Resize事件。
6、C
7、具有Caption属性,而没有Text属性的常用控件有:
标签Label、命令按钮CommandButton、选项按钮OptionButton、复选框CheckBox、框架Frame。
具有Text属性,而没有Caption属性的常用控件有:
文本框TextBox、列表框ListBox、组合框ComboBox
8、对象的属性既可以在设计界面时在属性窗口中进行设置,也可在代码窗口中用命令设置;一些只能在运行时设置的属性不在属性窗口中显示。
9、VB中的容器控件有:
窗体、图片框、框架12、C
13、将复选框的Value属性设为“2”,只是表示不可选,复选框的标题仍然是黑色的不变灰,而将复选框的Enabled属性设为“False”则整个复选框控件变为不活动控件,即该控件整个是灰色的。
若把一个控件的Visible属性设为“False”意味着该控件不可见。
14、列表框添加列表项可以使用Additem方法,删除可以使用Removeitem方法,如果全部删除使用Clear方法。
第四章:
1、B3、不对,通用过程也可以存在于窗体模块中。
6、合法的变量名:
A、C、D
8、1).A/(b+c/d)2).(x+sqr(x^2+1))^(1/3)3).2*y/((a*x+b*y)*(a*x-b*y))
4).1+1/(1+1/m)5).(1/2)*(d/3)^(2*x)6).Log(y+cos(x)^2)
7).Abs((exp(x)+sin(x)^3)/(x+y))
8).Log((exp(x*y)+abs(1/tan(z)+cos(x)^3))/(x+y-z))
9、
(2)、(A+B)/(A-B)分子分母缺括号
(4)、A*B*C/((D+1)*Y)分子乘号不能省略,分母要加括号
(6)、(X*Y)^5乘号不能省略,注意运算的优先级
10、1).(x+y)<10and(x-y)>0
2).X*y>0andx=int(x)andy=int(y)
3).(a*b=0)and(a<>b)或(A=0)xor(b=0)
4).(C1+c2+c3)>=255or(c1>90andc2>90andc3>80)
11、表达式的结果依次为:
TRUE、FALSE、FALSE、FALSE、FALSE
12、只有A不能正常执行,会给出溢出的错误,其他均能正常执行。
结果依次为:
B、FALSEC、2D、46E、1432
13、S=3548X=3548S=3548X=3548S=83X=83S=3548X=3548
14、使用换底公式:
Log(x)/Log
(2)
15、C16、z=InputBox("输入一个数","程序示例",1.5)
17、MsgBox"z的值1.5大于0",48,"程序示例"
5-2
OptionExplicit
PrivateSubCommand1_Click()
Dimi%,j%,a%,b%,c%
Randomize
Fori=1To100
j=Int(90*Rnd)+10
List1.AddItemj
Ifj<=40Then
a=a+1
ElseIfj<=70Then
b=b+1
Else
c=c+1
EndIf
Nexti
Text1=a
Text2=b
Text3=c
EndSub
PrivateSubCommand2_Click()
End
EndSub
5-3
OptionExplicit
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
x=Val(Text1)
Ifx<=0Then
y=2-x
ElseIfx<=2Then
y=x+2
ElseIfx<=5Then
y=x^2
Else
y=25-x
EndIf
Text2=CStr(y)
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
5-4
OptionExplicit
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger,aAsInteger,bAsInteger
Randomize
Fori=1To20
j=Int(900*Rnd)+100
IfjMod2=0Then
List1.AddItemj
Else
List2.AddItemj
EndIf
Nexti
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubCommand3_Click()
List1.Clear
List2.Clear
EndSub
5-5算法1
OptionExplicit
PrivateSubCommand1_Click()
DimmAsInteger,nAsInteger,rAsInteger
DimmmAsInteger,nnAsInteger
m=Val(Text1):
mm=m
n=Val(Text2):
nn=n
Do
r=mModn
m=n
n=r
LoopUntilr=0
Text3=mm*nn/m
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
Text3=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
5-5算法2
OptionExplicit
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger,mAsInteger
a=Val(Text1)
b=Val(Text2)
Ifa<1Orb<1Then
Text3="数据错误!
"
Else
Do
c=c+a
LoopUntilcModb=0
Text3=CStr(c)
EndIf
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
Text3=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
5-5算法3
OptionExplicit
PrivateSubCommand1_Click()
DimmAsInteger,nAsInteger
DimiAsInteger
m=Val(Text1)
n=Val(Text2)
Fori=1Tom*n
IfiModm=0AndiModn=0Then
Text3=i
ExitFor
EndIf
Nexti
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
Text3=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
5-6
OptionExplicit
PrivateSubCommand1_Click()
Dimsum%,fact&,i%,x%
sum=0:
fact=1
Fori=1To10
x=InputBox("请输入10个整数","和数和连成积")
sum=sum+x
fact=fact*x
Ifi<10Then
Picture1.Printx;"+";
Picture2.Printx;"*";
Else
Picture1.Printx;"=";
Picture2.Printx;"=";
EndIf
Nexti
Picture1.Printsum
Picture2.Printfact
EndSub
PrivateSubCommand2_Click()
End
EndSub
5-7
OptionExplicit
PrivateSubCommand1_Click()
DimsAsString,dAsString,tAsString
DimiAsInteger
s=Text1.Text
Fori=1ToLen(s)
IfMid(s,i,1)>="0"AndMid(s,i,1)<="9"Then
t=t&Mid(s,i,1)
EndIf
Nexti
Text2=t
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
5-8
OptionExplicit
PrivateSubCommand1_Click()
DimnAsInteger,sAsString,tAsInteger
n=Val(Text1)
Do
t=nMod2
s=t&s
n=n\2
LoopUntiln=0
Text2=s
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
5-9
OptionExplicit
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger,iAsString
Fora=1To100
Forb=aTo100
Forc=1To100
Ifa^2+b^2=c^2Anda<>bThen
i=a&"^"&"2"&"+"&b&"^"&"2"&"="&c&"^"&"2"
List1.AddItemi
EndIf
Nextc
Nextb
Nexta
Text1.Text=List1.ListCount
EndSub
PrivateSubCommand2_Click()
End
EndSub
5-10
OptionExplicit
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
DimiAsInteger
Fori=100To999
a=i\100
b=(iMod100)\10
c=iMod10
Ifc>bAndb>aThen
List1.AddItemi
EndIf
Nexti
EndSub
5-11
PrivateSubForm_Click()
DimaAsSingle,bAsSingle,cAsSingle
DimfaAsSingle,fbAsSingle,fcAsSingle
DimepsAsSingle
eps=InputBox("输入要求误差:
","练习13")
a=0
b=1
fa=a^2*(a-a^2+4)-1
fb=b^2*(b-b^2+4)-1
Iffa*fb>0Then
Print"没有根"
Else
Do
fa=a^2*(a-a^2+4)-1
c=(a+b)/2
fc=c^2*(c-c^2+4)-1
Iffa*fc>0Then
a=c
Else
b=c
EndIf
LoopUntilAbs(a-b)<=eps
Print"方程的根是:
";c
EndIf
EndSub
6-2算法1
OptionExplicit
OptionBase1
Dima(15)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Randomize
Fori=1To15
a(i)=Int(Rnd*(99-1+1)+1)
Text1=Text1+Str(a(i))
Nexti
EndSub
PrivateSubCommand2_Click()
DimiAsInteger,tAsInteger
Fori=1To15\2
t=a(i)
a(i)=a(15-i+1)
a(15-i+1)=t
Nexti
Fori=1To15
Text2=Text2+Str(a(i))
Nexti
EndSub
PrivateSubCommand3_Click()
End
EndSub
6-2算法2
OptionExplicit
Dima(15)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Dims1,s2AsString
Randomize
Fori=1To15
a(i)=Int(Rnd*100)+1
s1=s1&Str(a(i))
Nexti
Fori=15To1Step-1
s2=s2&Str(a(i))
Nexti
Text1=s1
Text2=s2
EndSub
PrivateSubCommand2_Click()
Text1=""
Text2=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
6-3算法1
OptionExplicit
Dima(20)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger,tempAsInteger,numAsInteger
Randomize
Fori=1To20
a(i)=Int(Rnd*90)+10
Picture1.Printa(i);
IfiMod5=0ThenPicture1.Print
Nexti
Fori=1To19
Forj=i+1To20
Ifa(i)>a(j)Then
temp=a(i)
a(i)=a(j)
a(j)=temp
EndIf
Nextj
Nexti
num=20
Fori=1To19
Ifa(i)=a(i+1)Thennum=num-1
Nexti
Text1=CStr(num)
EndSub
PrivateSubCommand2_Click()
Picture1.Cls
Text1=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
6-3算法2
OptionExplicit
Dima()AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
ReDima(20)
Randomize
Fori=1To20
a(i)=Int(90*Rnd+10)
Picture1.Printa(i);
IfiMod10=0Then
Picture1.Print
EndIf
Nexti
EndSub
PrivateSubCommand2_Click()
DimubAsInteger,nAsInteger,iAsInteger,jAsInteger
ub=UBound(a)
n=1
DoWhileni=n+1
DoWhilei<=ub
Ifa(n)=a(i)Then
Forj=iToub-1
a(j)=a(j+1)
Nextj
ub=ub-1
ReDimPreservea(ub)
Else
i=i+1
EndIf
Loop
n=n+1
Loop
Text1.Text=ub
EndSub
PrivateSubCommand3_Click()
End
EndSub
6-4
OptionExplicit
OptionBase1
Dima%(20),b%(23),sum%,max%,n1%,n2%,n3%,n4%,i%,j%
PrivateSubCommand1_Click()
Fori=1To20
a(i)=Int((90*Rnd)+10)
b(i)=a(i)
Text1.Text=Text1.Text&Str(a(i))
Nexti
Fori=1To3
b(i+20)=a(i)
Nexti
EndSub
PrivateSubCommand2_Click()
max=0
Fori=1To20
sum=b(i)+b(i+1)+b(i+2)+b(i+3)
Ifmaxmax=sum
n1=b(i):
n2=b(i+1):
n3=b(i+2):
n4=b(i+3)
EndIf
Nexti
Text2.Text=n1&Str(n2)&Str(n3)&Str(n4)
Text3.Text=max
EndSub
PrivateSubCommand3_Click()
End
EndSub
6-5
OptionExplicit
OptionBase1
Dima(4,5)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger
Randomize
Fori=1To4
Forj=1To5
a(i,j)=Int((9-1+1)*Rnd+1)
Picture1.Printa(i,j);
Nextj
Picture1.Print
Nexti
EndSub
PrivateSubCommand2_Click()
DimiAsInteger,jAsInteger,sumAsInteger
Forj=1To5
Fori=1To4
sum=sum+a(i,j)
Nexti
Text2=Text2&Str(sum)
sum=0
Nextj
EndSub
PrivateSubCommand3_Click()
DimiAsInteger,jAsInteger,sumAsInteger
Fori=1To4
Forj=1To5
sum=sum+a(i,j)
Nextj
Text1=Text1&Str(sum)&vbCrLf
sum=0
Nexti
EndSub
PrivateSubCommand4_Click()
End
EndSub
PrivateSubCommand5_Click()
Picture1.Cls
Text1=""
Text2=""
EndSub
6-6
Dima(5,5)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger,mAsInteger
Fori=1To5
Forj=1To5-i
Do
m=Int(90*Rnd+10)
r=mMod2
LoopUntilr=0
a(i,j)=m
Nextj
Nexti
Fori=1To5
Forj=6-iTo5
Do
m=Int(90*Rnd+10)
r=mMod2