VB课后习题答案.docx
- 文档编号:9958045
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:23
- 大小:45.50KB
VB课后习题答案.docx
《VB课后习题答案.docx》由会员分享,可在线阅读,更多相关《VB课后习题答案.docx(23页珍藏版)》请在冰豆网上搜索。
VB课后习题答案
3.8建立应用程序界面:
编写两个命令按钮的事件过程:
PrivateSubCommand1_Click()
Caption=Text1.Text
EndSub
PrivateSubCommand2_Click()
Text1.Text=””
EndSub
第5章
5.4PrivateSubForm_Click()
DimaAsIngeter,bAsIngeter,cAsIngeter,dAsIngeter,sAsIngeter,averAsSingle
a=Val(InputBox(“请输入第一个数”))
b=Val(InputBox(“请输入第二个数”))
c=Val(InputBox(“请输入第三个数”))
d=Val(InputBox(“请输入第四个数”))
sum=a+b+c+d
aver=sum/4
Print“所输入的4个数分别为”;a,b,c,d
Print”4个数的和为:
”;sum
Print”4个数的平均值为:
”;aver
EndSub
5.5PrivateSubForm_Click()
Name$=InputBox(“请输入您的姓名”)
Age$=InputBox(“请输入您的年龄”)
Add$=InputBox(“请输入通信地址”)
Pos$=InputBox(“请输入邮政编码”)
Tel$=InputBox(“请输入电话号码”)
PrintTab(6);”姓名”;Space(3);”年龄”;Space(3);”通信地址”;_
Space(3);”邮政编码”;Space(3);”电话号码”
PrintTab(6);name;Space(3);Age;Space(3);Add;_
Space(3);Pos;Space(3);Tel
EndSub
5.6PrivateSubForm_Click()
DimhAsIngeter,fAsIngeter,xASingeter,yASingeter
h=Val(InputBox(“请输入鸡和兔的总的头数”))
f=Val(InputBox(“请输入鸡和兔的总的脚数”))
y=(f-2*h)/2
x=(4*h-f)/2
Print”笼中有鸡”;x;”只,兔”;y;”只”
EndSub
5.7PrivateSubForm_Click()
a=5:
b=2.5:
c=7.8
y=(3.1416*a*b)/(a+b*c)
Print“y=”;y
EndSub
5.8PrivateSubForm_Click()
DimSecondAsLong,MinuteAsLong,HourAsLong,DayAsLong,second1AsLong
Second=Val(Input(“请输入秒数”))
Second1=second
Minute=Int(Second/60)
Second=Secondmod60
Hour=Int(Minute/60)
Minute=Minutemod60
Day=Int(Hour/24)
Hour=Hourmod24
Printsecond1;”秒=”;Day;”天”;Hour;”小时”;Minute;”分”;Second;”秒”
EndSub
第6章
6.8建立应用程界面:
编写两个命令按钮的Click事件过程:
PrivateSubCommand1_Click()
Combo1.AdditemText1.Text
EndSub
PrivateSubCommand2_Click()
PrintCombo1.ListCount
PrintCombo1.Text
EndSub
6.9PrivateSubCommand1_Click()
Text1.Text=”MicrosoftVisualBasic6.0”
EndSub
PrivateSubText1_Change()
Text2.Text=LCase(Text1.Text)
Text3.Text=UCase(Text1.Text)
EndSub
6.10PrivateSubCommand1_Click()
VScroll.Min=100
VSvroll.Max=2400
VSvroll.LargeChange=200
VSvroll.SmallChange=20
EndSub
PrivateSubVScroll_change()
Picture1.Height=VScroll.Value
EndSub
6.11PrivateSubList1_DblClick()
Text1.Text=List1.Text
List1.RemoveItemList1.ListIndex
EndSub
6.12PrivateSubForm_Load()
Label1.FontSize=16
Timer1.Interval=1000
EndSub
PrivateSubTimer1_Timer()
StaticaAsingeter
a=a+1
Label1.Caption=Str$(a)
Beep
EndSub
6.13PrivateSubForm_Load()
Combo1.AddItem”10”
Combo1.AddItem”16”
Combo1.AddItem”20”
Combo2.AddItem”黑体”
Combo2.AddItem”幼圆”
Combo2.AddItem”宋体”
EndSub
PrivateSubCombo1_Click(0
Label1.FontSize=Combo1.Text
Endsub
PrivateSubCombo1_Click()
Label1.FontName=Combo2.Text
Endsub
第7章
7.1PrivateSubform_Click()
StaticsumAsingeter
Fori=1To100
Sum=Sum+i
Nexti
PrintSum
EndSub
7.2PrivateSubForm_Click()
DimpAsDouble
DimrAssingle
DimnAsingeter
p=1300000000
r=0.01
Whilep<2000000000
p=p+p*r
n=n+1
Wend
p=Int(p)
Printn;”年后,全国人口为”;p
EndSub
7.3PrivateSubForm_Click()
DimaAsSingle,bAssingle,cAsSingle,sAssingle,tAsSingle
a=Val(inputBox(“请输入a边的边长(a>0)”))
b=Val(inputBox(“请输入b边的边长(b>0)”))
c=Val(inputBox(“请输入c边的边长(c>0”))
ifa+b<=corb+c<=aorc+a<=bThen
MsgBox”所输入的值不能构成三角形,请重新输入”
Exitsub
Endif
s=(a+b+c)/2
t=sqr(s*(s-a)*(s-b)*(s-c))
Print“三角形的面积为:
”;t
EndSub
7.4PrivateSubForm_Click()
DimwAsSingle,sAssigle
DimpAsSingle,tAsSingle
w=Val(InputBox(“请输入货物重量”))
s=Val(InputBox(“请输托运距离”))
SelectCases
CaseIs<100
P=32
CaseIs<200
P=28
CaseIs<300
P=25
CaseIs<400
P=22.5
CaseIs<1000
P=20
CaseElse
P=15
EndSelect
t=p*w*s
Printw;”吨货物”;s;”公里的总运费为”;t;”元”
EndSub
7.5PrivatSubForm_Click()
DimsAsString
Fori=1to9
S=Space((9-i)*2)
Forj=-(i-1)To(i-1)
S=s&i-Abs(j)&“”
Nextj
Prints
Nexti
EndSub
7.6PrivateSubForm_Click()
Print“a”,”b”,”c”,”a*a”,”b*b”,”c*c”
Fora=1to20
Forb=1To20
Forc=1to20
Ifa*a+b*b=c*cthen
Printa,b,c,a*a,b*b,c*c
EndIf
Nextc
Nextb
Nexta
Endsub
7.7PrivateSubForm_Click()
DimxAsingeter
DimyAsingeter
DimrAsingeter
x=Val(InputBox(“请输入x的值”))
y=Val(InputBox(“请输入y的值”))
x1=x:
y1=y
Dowhiley<>0
r=xmody
x=y
y=r
Loop
Printx1;”和”;y1;”的最大公约数为”;x
EndSub
7.9PrivateSubForm_Click()
Print”*”;Tab(9);3,Tab(18);6;Tab(27);9;Tab(36);12
Fori=15To18
Printi;
Forj=3To12Step3
PrintTab(3*j);j*i;
Nextj
Nexti
Endsub
7.10PrivateSubForm_Click()
n=InputBox(“请输入学号”)
s=InputBox(“请输入分数”)
ifs>=80then
MsgBox”学号”&n&“,分数为”&s&“,Verygood”
ElseIfs>=60Ands<=79Then
MsgBox”学号”&n&“,分数为”&s&“,good”
ElseIfs>=50Ands<=59Then
MsgBox”学号”&n&“,分数为”&s&“,fair”
ElseIfs>=40Ands<=49Then
MsgBox”学号”&n&“,分数为”&s&“,poor”
ElseIfs>=30Ands<=39Then
MsgBox”学号”&n&“,分数为”&s&“,Fail”
EndIf
EndSub
7.11PrivateSubForm_Click()
K=Val(InputBox(“请输入一个两位数”))
g=int(k/10)
h=k-g*10
m=h*10+g
Print”输入的两位数是”;k
Forn=0to99
i=Int(n/10)
j=n-i*10
t=i*10+j
s=j*10+i
Ifk+n=m+sThen
Print”“;kk”+(“;t;”)=(“;s;”)+”;m
EndIf
Nextn
EndSub
7.13PrivateSubForm_Click()
DimsAsinteger,nAsSingle,tAsSingle,PiAsSingle
t=1
Pi=0
n=1
s=1
WhileAbs(t)>=0.0001
Pi=Pi+t
n=n+2
s=-s
t=s/n
Wend
Pi=Pi*4
PrintPi
EndSub
7.14分析:
把十进制数d转换为r进制的数,采用的方法通常是:
除r取余,逆序输出。
即把d连续除以r取余数,直到商等于0为止,将所求得的余数放在一个数组中,按相反的顺序得到结果,最后得到的余数是转换后的高位。
建立如下应用程序界面:
PrivateSubForm_Click()
DimdecAsInteger,baseAsInteger
DimdecR(30)AsInteger
DimStrDecRAsString*30
DimStrBaseAsString*16
DimbAsInteger,nAsInteger
StrBase="0123456789ABCDE"
dec=Val(Text1.Text)
base=Val(Text2.Text)
Ifbase<2Orbase>16Then
res=MsgBox("进制超过范围",vbRetryCancel)
Ifres=vbRetryThen
Text1.Text=""
Text1.SetFocus
Else
End
EndIf
EndIf
n=0
DoWhiledec<>0
decR(n)=decModbase
dec=dec\base
n=n+1
Loop
StrDecR=""
n=n-1
DoWhilen>=1
b=decR(n)
StrDecR=RTrim(StrDecR)+Mid(StrBase,b+1,1)
n=n-1
Loop
Label3.Caption=Text1.Text&"转换为"&Text2.Text&"进制后为:
"
Text3.Text=StrDecR
EndSub
第8章
8.3
(1)13
(2)6(3)15(4)105(5)9(6)22(7)11(8)28
8.4optionBase1
PrivateSubForm_Click()
DimA()Asinteger
Fori=1To10
A(i)=Val(inputBox(“请输入第”&i&”个数”))
PrintA(i);
Nexti
Fori=1To5
Forj=6To10
T=A(i)
A(i)=A(j)
A(j)=T
Nextj
Nexti
Print”兑换后的数组为:
”
Fori=1To10
PrintA(i);
Nexti
EndSub
8.5OptionBase1
PrivateSubForm_Click()
DimAAsInteger,BASinteger,C()Asinteger
A=Array(2,8,7,6,4,28,70,25)
B=Array(79,27,32,41,57,66,78,80)
Fori=1To8
C(i)=A(i)+C(i)
Nexti
Print"第一个数组为:
";
Fori=1To8
PrintTab(12+5*i);A(i);
Nexti
Print"第二个数组为:
";
Fori=1To8
PrintTab(12+5*i);B(i);
Nexti
Print"相加后的数组为:
";
Fori=1To8
PrintTab(12+5*i);C(i);
Nexti
EndSub
8.6OptionBase1
PrivateSubForm_Click()
DimMat()Asinteger
DimMAsinteger,NAsinteger
M=Val(inputBox(“请输入矩阵的行数”))
N=Val(inputBox(“请输入矩阵的列数”))
ReDimMat(M,N)Asinteger
Fori=1ToM
Forj=1ToN
Mat(I,j)=inputBox(“请输入数组第”&i&“行,第”&j&“列元素值”)
Mat(I,j)=Val(Mat(I,j))
Nexti
Nexti
Print“所建立的矩阵为”
Fori=1ToM
Forj=1ToN
PrintMat(I,j);“”;
Nextj
Nexti
Max=Mat(1,1)
Fori=1ToM
Forj=1toN
IfMax Max=Mat(I,j) Col=j Row=i EndIf Nextj Nexti Print Print”矩阵最大的元素的值是: ”;Mat(row,col) Print”它所在的行号为: ”;row;”,列号为: ”;col EndSub 8.7OptionBase1 PrivateSubForm_Click() DimMat(4,4)Asinteger DimMAsinteger,NAsinteger Fori=1To4 Forj=1To4 Mat(i,j)=Val(InputBox(“请输入数组第”&i&”行第”&j&“列元素值”)) Nextj Nexti Print Print”初始矩阵为” Print Fori=1To4 Forj=1To4 PrintTab(6*j);Mat(I,j); Nextj Print Nexti Print Print”对角线上的数是: ” Fori=1ToN Forj=1ToM Ifi=jthen PrintTab(6*j);Mat(I,j); Endif Nextj Nexti Print Fori=1ToN Forj=1ToM Ifi+j=5Then PrintTab(6*j);Mat(I,j); Endif Nextj Nexti Print Fori=1toN Forj=1toM Ifi=1then T=Mat(1,j) Mat(1,j)=Mat(3,j) Mat(3,j)=t Endif Nextj Nexti Print”交换第一行和第三行后的矩阵为: ” Fori=1ToN Forj=1ToM PrintTab(6*j);Mat(I,j); Nextj Print Nexti Print Fori=1toN Forj=1toM Ifj=2then T=Mat(i,2) Mat(i,2)=Mat(i,4) Mat(i,4)=t Endif Nextj Nexti Print”交换第二列和第四列后的矩阵为: ” Fori=1ToN Forj=1ToM PrintTab(6*j);Mat(I,j); Nextj Print Nexti EndSub 第九章 9.1求三个数的最大值的过程: FunctionMax(ByValaAsinteger,ByValbAsinteger,ByValcAsinteger) Ifa>bThen M=a Else M=b EndIf Ifm>cThen Max=m Else Max=c EndIf EndFunction 求三个数最小值的过程: FunctionMin(ByValaAsinteger,ByValbAsinteger,ByValcAsinteger) Ifa M=a Else M=b EndIf Ifm Max=m Else Max=c EndIf EndFunction 事件过程如下: OptionBase1 Dimaa()Asinteger PrivateSubForm_Click() ReDimaa(3) Fori=1To3 aa(i)=InputBox("请输入第"&i&"个数") Printaa(i); Nexti Print Print"3个数的最大值是";Max(aa (1),aa (2),aa(3)) Print"3个数的最小值是";Min(aa (1),aa (2),aa(3)) ReDimaa(5) Fori=1To5 aa(i)=InputBox("请输入第"&i&"个数") Printaa(i); Nexti Print Print"5个数的最大值是";Max(Max(aa (1),aa (2),aa(3)),aa(4),aa(5)) Print"5个数的最小值是";Min(Min(aa (1),aa (2),aa(3)),aa(4),aa(5)) ReDimaa(7) Fori=1To7 aa(i)=InputBox("请输入第"&i&"个数") Printaa(i); Nexti Print Print"7个数的最大值是";Max(Max(Max(aa (1),aa (2),aa(3)),aa(4),aa(5)),aa(6),aa(7)) Print"7个数的最小值是";Min(Min(Min(aa (1),aa (2),aa(3)),aa(4),aa(5)),aa(6),aa(7)) EndSub 9.2function过程: FunctionfactF(ByValnAsinteger)AsDouble t=1 Fori=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课后 习题 答案