VB程序设计教程 第四版 课后答案.docx
《VB程序设计教程 第四版 课后答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计教程 第四版 课后答案.docx(5页珍藏版)》请在冰豆网上搜索。
VB程序设计教程第四版课后答案
vb课后习题答案第一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述VB的特点。
答:
①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述VB的安装过程。
答:
①向光驱中放入VB安装光盘;②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动VB。
答:
三种方法:
①单击“开始”按钮,选择“程序”菜单下的“MicrosoftVisualBasic6.0中文版”菜单项并单击;②双击桌面上的VB6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动VB;第二章习题参考答案一、选择题:
1-10、DCACDBCBBC11-20、BADCABBAAB21-29、AACBBCDDC二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6.Form_Click第三章习题参考答案一、选择题1、B2、C3、A4、B5、A6、C7、C二、填空题1、11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
String、Byte、Integer、Long、Single、Double、Currency、Boolean、Date、Object、Variant2、双引号(英文)、#3、ASCII、1、24、public、通用、Dim、Static、Private、Static5、&、+、+6、Now()、Time、日期型三、解答题1、(3)2、
(1)3、
(1)常量(关键字)
(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、
(1)(1+y/x)/(1-y/x)
(2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3))(4)sqr(s*(s-a)*(s-b)*(s-c))6、7、
(1)13
(2)17(3)#1999-11-12#(4)zxy123ABC(3)5.25(4)27)16(8)“-459.65”(9)510、(4)11、
(2)12、(4)第四章习题参考答案一、选择题:
1—7:
DAABBCD二、填空题1.500.00%2.将字号扩大为原来的二倍3.B三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1PrivateSubCommand1_Click()Label1.caption=text1.textCommand1.caption=text1.textEndSub2.单价、数量、折扣和应付款对应的文本框的名称分别为:
text1、text2、text3和text4,计算和清除命令按钮的名称分别为:
command1和command2。
PrivateSubCommand1_Click()Text4=val(text1)*val(text2)*val(text3)EndSubPrivateSubCommand2_Click()Text1=””:
Text2=””:
Text3=””:
Text4=””EndSub3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2PrivateSubCommand1_Click()Text1=Ucase(text1)EndSubPrivateSubCommand2_Click()Text1=Lcase(text1)EndSub第五章习题参考答案一、选择题:
1—11:
CAABBABBBCC二、填空题1.(3)2.1233.2234.1605.96.787.x<=5(或x<6或x<7)8.B9.iSumiSum+j1250三、编程题1.PrivateSubForm_Click()Dimi%,s%S=0Fori=101To200step2Ifimod3<>0thenPrintiS=s+iEndIfNextiPrintsEndSub2.PrivateSubForm_Click()Dimn%,s&S=1:
n=0Whiles<=400000N=n+1S=s*nWendIfs>400000Thenn=n-1PrintnEndSub3.PrivateSubForm_Click()Dimimin%,imax%,i%,R%Imin=100:
imax=20Fori=1to20R=Int(Rnd*51+50)IfR>imaxThenimax=RIfR1—13:
ABAACCBADADBB二、填空题1.IntervalLabel1.caption=time2.List1.ListCountInterValHscroll1.Max三、编程题第七章习题参考答案一、选择题:
1—12:
DCADDBBDACCB二、填空题1.422.Index3.414.A(i)=a(11-i)a(11-i)=Tmp5.16.XMod7=07.2108.0To8i+1To99.3K110.1001MaxMaxMax)三、编程题1.PrivateSubC1_click()IfOP1(0).Value=TrueThenP1.Print“选择了椭圆形”IfOP1
(1).Value=TrueThenP1.Print“选择了圆形”IfOP1
(2).Value=TrueThenP1.Print“选择了正方形”EndSub2.统计按钮名为Command1,输入框名为text1,输出框为text2(MultLine设为True)PrivateSubCommand1_click()DimX(1to26)ASInteger,IAsIntegerDimSAsString,LAsIntegerL=Len(Text1.text)Fori=1ToLS=Mid(Text1,I,1)S=Ucase(S)IfS>="A"AndS<="Z"Thenx(Asc(S)-65+1)=x(Asc(S)-65+1)+1EndIfNextiFori=1ToLText2=text2&Chr(64+i)&“=”&x(i)&““IfIMod7=0thenText2=text2&chr(13)+chr(10)NextiEndSub3.设学生成绩的平均分已在Mark
(1)至Mark(10)中,学生姓名在name
(1)至name(10)中。
PrivateSubCommand1_click()DimI%,J%,T%,S$Fori=1To9Forj=i+1To10IfMark(i)Mark(i)=Mark(j):
Mark(j)=TS=name(i):
name(i)=name(j):
name(j)=SNextJNextiFori=1To10PrintName(i),Mark(i)NextiEndSub第八章习题参考答案一、选择题:
1—10:
DCBBDDDBCB二、填空题1.aUbound(b)n=n-12.Key=a(i)Index=-1三、编程题1.子过程SubP1(xAsSingle,espAsSingle)Dimp!
S!
F!
i%P=1:
S=1:
i=1:
F=xDoP=P*iS=S+F/pLoopUntilAbs(F/p)S!
F!
i%P=1:
S=1:
i=1:
F=xDoP=P*iS=S+F/pLoopUntilAbs(F/p)因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。
3.FunctionLF(ByValxAsSingle)AsSingleLF=X*X*XEndFunctionSubCommand1_Click()DimI%Fori=1To20PrintI,LF(i)NextiEndSub4.FunctionWeekDay(ByValxAsInteger)AsStringSelectCasexCase0WeekDay=”星期日”Case1WeekDay=”星期一”Case2WeekDay=”星期二”Case3WeekDay=”星期三”Case4WeekDay=”星期四”Case5WeekDay=”星期五”Case6WeekDay=”星期六”EndSelectEndFunction5.FunctionRand30(ByValXAs`Integer)AsIntegerRandomizeRand30=Int(Rnd*X+1)EndFunctionSubCommand1_Click()Fori=1To30PrintRand30(100)NextiEndSub6.FunctionF1(ByValXAs`Single,ByValYAs`Single)AsIntegerIfX>YThenF1=XElseF1=YEndIfEndFunction7.FunctionGDBH(ByValx%)AsStringDimi%Fori=3Tox-3Step2Ifisp(i)Andisp(x-i)ThenGDBH=i&"+"&(x-i)&"="&xExitFunctionEndIfNextEndFunctionFunctionisp(y%)AsBooleani=2:
k=Int(y/2)DoWhilei<=kIfyModi=0ThenExitDoi=i+1LoopIfi>kThenisp=TrueElseisp=FalseEndIfEndFunctionPrivateSubForm_Click()Fori=6To40Step2PrintGDBH(i)NextiEndSub8.FunctionisQO(ByValxAsInteger)AsStringIfxMod2=0ThenisQO=”偶数”ElseisQO=”奇数”EndIfEndFunction9.FunctionF1(ByValxAsInteger)AsBooleanIfxMod17=0andxMod37=0ThenF1=TrueElseF1=FalseEndIfEndFunctionPrivateSubForm_Click()Fori=1000To2000IfF1(i)ThenPrintiEndifNextiEndSub10.SubF1(a()AsInteger,ByValL1AsInteger,ByValL2AsInteger)DimL%,U%,x%,i%L=LBound(a):
U=UBound(a)IfL1>UOrL2>UThenPrint"位置输入错误!
"ExitSubEndIfIfL1>L2Thenx=a(L1)Fori=L1ToL2+1Step-1a(i)=a(i-1)Nextia(L2)=xElseIfL2>L1Thenx=a(L1)Fori=L1ToL2-1a(i)=a(i+1)Nextia(L2)=xEndIfEndSub第九章习题参考答案一、选择题:
1—3:
ADD二、填空题1.下拉式弹出式2.PopupMenu3.VisibleEnabled4.-三、编程题(略)第十章习题参考答案一、选择题:
1—3:
DBD二、填空题1.Load2.窗体模块标准模块类模块3.DoEvents三、编程题1.(略)2.FunctionF(ByValx&,ByValY&)AsIntegerDimt&,r&Ifxx=y:
y=tR=xModyDoWhileR<>0X=yY=rR=xModyLoopF=yEndFunctionPrivateSubCommand1_Click()Text3=Val(Text1)/F(Val(Text1),Val(Text2))Text4=Val(Text2)/F(Val(Text1),Val(Text2))EndSub第十一章习题参考答案一、选择题:
1—3:
DDA二、填空题62.ABA三、编程题1.PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)Text1=x:
Text2=YEndSub2.DimstartX,StartYAsInteger‘在通用中申明PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)IfButton=2ThenstartX=x:
StartY=YEndIfEndSubPrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)IfButton=1ThenPSet(x,Y),RGB(0,0,0)EndIfEndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)IfButton=2ThenDimr%,c%DimEndX,EndYAsIntegerEndX=x:
EndY=Yc=RGB(0,0,0)r=Sqr((EndX-startX)^2+(EndY-StartY)^2)Form1.Circle(startX,StartY),r,cEndIfEndSub第十二章习题参考答案一、选择题:
1—8:
BBABBCCA9.IHFCLGEBAJKD二、填空题1.Drive2.PathPrintDir1.Path3.Path4.Hiddensystem5.顺序文件随机文件二进制文件6.FreeFile7.Close#18.Open“c:
\samples\readme.txt”ForOutputAS#39.Open“c:
\autoexec.bat”ForIntputAS#410.Open“c:
\samples\xscj.dat”ForRandomAS#3Len=5411.Open“smtext1.txt”ForBinaryAS#112.ForInputEof
(1)13.KeyAsciiEND(或者EndendeNdenD)Text1.text三、编程题1.‘在标准模块中定义TypestuIDAsString*12nameAsString*8z1AsString*12z2AsString*12sexAsString*2jcAsBooleanscoolAsString*20sxAsIntegerywAsIntegeryyAsIntegerwlAsIntegerzfAsIntegerEndTypeDimpAsstu‘在通用中定义PrivateSubCmdAppend_Click()p.ID=Text1p.name=Text2p.z1=Text3p.z2=Text4p.scool=Text5IfOption1.Value=TrueThenp.sex="男"IfOption2.Value=TrueThenp.sex="女"IfCheck1.Value=1Thenp.jc=TrueElsep.jc=Falsep.sx=Val(Text6):
p.yw=Val(Text7)p.yy=Val(Text8):
p.wl=Val(Text9)p.zf=Val(Text10)Put#1,,pEndSubPrivateSubCmdDisplay_Click()Get#1,Val(txtRecord_No),pText1=p.ID:
Text2=p.nameText3=p.z1:
Text4=p.z2Text5=p.scoolIfp.sex="男"ThenOption1.Value=TrueElseOption2.Value=TrueIfp.jc=TrueThenCheck1.Value=1ElseCheck1.Value=0Text6=p.sx:
Text7=p.ywText8=p.yy:
Text9=p.wlText10=p.zfEndSubPrivateSubCommand3_Click()Text1="":
Text2=""Text3="":
Text4=""Text5="":
Text6=""Text7="":
Text8=""Text9="":
Text10=""EndSubPrivateSubForm_Load()OpenApp.Path&"\stu.dat"ForRandomAs#1Len=Len(p)EndSubPrivateSubForm_Unload(CancelAsInteger)Close#1EndSubPrivateSubText10_GotFocus()Text10=Val(Text6)+Val(Text7)+Val(Text8)+Val(Text9)EndSubPrivateTypebooksidAsString*10nameAsString*8sexAsString*2mathAsIntegerengAsIntegereleAsIntegerEndType‘成绩输入PrivateSubCommand1_Click()DimbAsbooksOpen"c:
\stu.dat"ForAppendAs#1b.id=InputBox("请输入学号")b.name=InputBox("请输入姓名")b.sex=InputBox("请输入性别")b.math=InputBox("请输入数学成绩")b.eng=InputBox("请输入英语成绩")b.ele=InputBox("请输入电子成绩")Write#1,b.id,b.name,b.sex,b.math,b.eng,b.eleClose#1EndSub‘不及格人员输出PrivateSubCommand2_Click()Dima,b,cOpen"c:
\stuo.dat"ForInputAs#1WhileNotEOF
(1)Input#1,a,b,cIfc="数学"ThenList1.AddItembIfc="英语"ThenList2.AddItembIfc="电子"ThenList3.AddItembWendClose#1EndSub‘将不及格人选出存入stuo.datPrivateSubCommand3_Click()Dima,b,c,d,e,fDimk%Open"c:
\stu.dat"ForInputAs#1Open"c:
\stuo.dat"ForOutputAs#2WhileNotEOF
(1)Input#1,a,b,c,d,e,fIfd<60ThenWrite#2,a,b,"数学"Ife<60ThenWrite#2,a,b,"英语"Iff<60ThenWrite#2,a,b,"电子"WendClose#1Close#2EndSub