VB课后习题答案.docx

上传人:b****8 文档编号:9958045 上传时间:2023-02-07 格式:DOCX 页数:23 大小:45.50KB
下载 相关 举报
VB课后习题答案.docx_第1页
第1页 / 共23页
VB课后习题答案.docx_第2页
第2页 / 共23页
VB课后习题答案.docx_第3页
第3页 / 共23页
VB课后习题答案.docx_第4页
第4页 / 共23页
VB课后习题答案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

VB课后习题答案.docx

《VB课后习题答案.docx》由会员分享,可在线阅读,更多相关《VB课后习题答案.docx(23页珍藏版)》请在冰豆网上搜索。

VB课后习题答案.docx

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);”电话号码”

Print

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”

Print

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

Print

Fori=15To18

Printi;

Forj=3To12Step3

PrintTab(3*j);j*i;

Nextj

Print

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

Print”输入的两位数是”;k

Print

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

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

Print"第一个数组为:

";

Fori=1To8

PrintTab(12+5*i);A(i);

Nexti

Print

Print"第二个数组为:

";

Fori=1To8

PrintTab(12+5*i);B(i);

Nexti

Print

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1