VB程序设计教程第四版课后答案.docx
《VB程序设计教程第四版课后答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计教程第四版课后答案.docx(25页珍藏版)》请在冰点文库上搜索。
![VB程序设计教程第四版课后答案.docx](https://file1.bingdoc.com/fileroot1/2023-6/17/a8458c6b-da95-4a05-9241-cfd933538b3f/a8458c6b-da95-4a05-9241-cfd933538b3f1.gif)
VB程序设计教程第四版课后答案
vb课后习题答案
第一章习题参考答案
一、填空题
1、对象事件驱动
2、编译运行模式解释运行模式
二、简答题
1、简述VB的特点。
答:
①可视化的程序设计方法
②面向对象的程序设计思想
③事件驱动的编程机制
④结构化的程序设计语言
⑤高度的可扩充性
⑥强大的数据库访问能力
⑦支持动态数据交换
⑧支持对象链接与嵌入
2、简述VB的安装过程。
答:
①向光驱中放入VB安装光盘;
②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe;
③根据提示逐一回答问题,并点击“下一步”;
④点击“完成”;
2、如何启动VB。
答:
三种方法:
①单击“开始”按钮,选择“程序”菜单下的“MicrosoftVisualBasic6.0中文版”菜单项并单击;
②双击桌面上的VB6.0快捷图标;
③在“开始”菜单的运行对话框中输入命令来启动VB;
第二章习题参考答案
一、选择题:
1-10、DCACDBCBBC
11-20、BADCABBAAB
21-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、Variant
2、双引号(英文)、#
3、ASCII、1、2
4、public、通用、Dim、Static、Private、Static
5、&、+、+
6、Now()、Time、日期型
三、解答题
1、(3)2、
(1)
3、
(1)常量(关键字)
(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量
(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)
4、31
5、
(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
8、
(1)19
(2)8.166********667
(3)5.25(4)2
9、
(1)-4
(2)2.82842712474619(3)-3(4)49(5)”hello(”6)He
7)16(8)“-459.65”(9)5
10、(4)
11、
(2)
12、(4)
第四章习题参考答案
一、选择题:
1—7:
DAABBCD
二、填空题
1.500.00%
2.将字号扩大为原来的二倍
3.B
三、编程题(略)
1.文本框、标签和命令按钮的名称分别为text1、label1、command1
PrivateSubCommand1_Click()
Label1.caption=text1.text
Command1.caption=text1.text
EndSub
2.单价、数量、折扣和应付款对应的文本框的名称分别为:
text1、text2、text3
计算和清除命令按钮的名称分别为:
command1和command2。
和text4,
PrivateSubCommand1_Click()
Text4=val(text1)*val(text2)*val(text3)
EndSub
PrivateSubCommand2_Click()
Text1=
””
:
Text2=
””
:
Text3=
””
:
Text4=
””
EndSub
3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和
command2
PrivateSubCommand1_Click()
Text1=Ucase(text1)
EndSub
PrivateSubCommand2_Click()
Text1=Lcase(text1)
EndSub
第五章习题参考答案
一、选择题:
1—11:
CAABBABBBCC
二、填空题
1.(3)2.1233.2234.1605.9
6.787.x<=5(或x<6或x<7)8.B
9.iSumiSum+j1250
三、编程题
1.PrivateSubForm_Click()
Dimi%,s%
S=0
Fori=101To200step2
Ifimod3<>0then
Printi
S=s+i
EndIf
Nexti
Prints
EndSub
2.PrivateSubForm_Click()
Dimn%,s&
S=1:
n=0
Whiles<=400000
N=n+1
S=s*n
Wend
Ifs>400000Thenn=n-1
Printn
EndSub
3.PrivateSubForm_Click()
Dimimin%,imax%,i%,R%
Imin=100:
imax=20
Fori=1to20
R=Int(Rnd*51+50)
IfR>imaxThenimax=R
IfRPrintimax,imin
EndSub
第六章习题参考答案
一、选择题:
1—13:
ABAACCBADADBB
二、填空题
1.IntervalLabel1.caption=time
2.List1.ListCountInterValHscroll1.Max
三、编程题
第七章习题参考答案
一、选择题:
1—12:
DCADDBBDACCB
二、填空题
1.422.Index3.41
4.A(i)=a(11-i)a(11-i)=Tmp
5.16.XMod7=07.210
8.0To8i+1To9
9.3K1
10.1001MaxMaxMax)
三、编程题
1.PrivateSubC1_click()
IfOP1(0).Value=TrueThenP1.Print选择了椭圆“形”
IfOP1
(1).Value=TrueThenP1.Print选择了圆形“”
IfOP1
(2).Value=TrueThenP1.Print选择了“正方形”
EndSub
2.统计按钮名为Command1,输入框名为text1,输出框为
PrivateSubCommand1_click()
DimX(1to26)ASInteger,IAsInteger
DimSAsString,LAsInteger
L=Len(Text1.text)
Fori=1ToL
S=Mid(Text1,I,1)
S=Ucase(S)
IfS>="A"AndS<="Z"Then
x(Asc(S)-65+1)=x(Asc(S)-65+1)+1
EndIf
Nexti
Fori=1ToL
Text2=text2&Chr(64+i)&“=”&x(i)&““
text2(MultLine
设为
True)
IfIMod7=0thenText2=text2&chr(13)+chr(10)
Nexti
EndSub
3.设学生成绩的平均分已在Mark
(1)至Mark(10)中,学生姓名在name
(1)至name(10)中。
PrivateSubCommand1_click()
DimI%,J%,T%,S$
Fori=1To9
Forj=i+1To10
IfMark(i)Mark(i)=Mark(j):
Mark(j)=T
S=name(i):
name(i)=name(j):
name(j)=S
NextJ
Nexti
Fori=1To10
PrintName(i),Mark(i)
Nexti
EndSub
第八章习题参考答案
一、选择题:
1—10:
DCBBDDDBCB
二、填空题
1.aUbound(b)n=n-1
2.Key=a(i)Index=-1
三、编程题
1.子过程
SubP1(xAsSingle,espAsSingle)
Dimp!
S!
F!
i%
P=1:
S=1:
i=1:
F=x
Do
P=P*i
S=S+F/p
LoopUntilAbs(F/p)
EndSub
子函数
FunctionP2(xAsSingle,espAsSingle)Assingle
Dimp!
S!
F!
i%
P=1:
S=1:
i=1:
F=x
Do
P=P*i
S=S+F/p
LoopUntilAbs(F/p)
EndFunction
2.Swap2能实现数据交换。
因为地址传递方式形参和实参有共同的地址,那么形参的变化,
会引起实参的变化(即形参将值回传给实参),故可实现两数交换。
3.FunctionLF(ByValxAsSingle)AsSingle
LF=X*X*X
EndFunction
SubCommand1_Click()
DimI%
Fori=1To20
PrintI,LF(i)
Nexti
EndSub
4.FunctionWeekDay(ByValxAsInteger)AsString
SelectCasex
Case0
WeekDay=”星期日”
Case1
WeekDay=”星期一”
Case2
WeekDay=”星期二”
Case3
WeekDay=”星期三”
Case4
WeekDay=”星期四”
Case5
WeekDay=”星期五”
Case6
WeekDay=”星期六”
EndSelect
EndFunction
5.FunctionRand30(ByValXAs`Integer)AsInteger
Randomize
Rand30=Int(Rnd*X+1)
EndFunction
SubCommand1_Click()
Fori=1To30
PrintRand30(100)
Nexti
EndSub
6.FunctionF1(ByValXAs`Single,ByValYAs`Single)AsIntegerIfX>YThen
F1=X
Else
F1=Y
EndIf
EndFunction
7.
FunctionGDBH(ByValx%)AsString
Dimi%
Fori=3Tox-3Step2
Ifisp(i)Andisp(x-i)Then
GDBH=i&"+"&(x-i)&"="&x
ExitFunction
EndIf
Next
EndFunction
Functionisp(y%)AsBoolean
i=2:
k=Int(y/2)
DoWhilei<=k
IfyModi=0ThenExitDo
i=i+1
Loop
Ifi>kThen
isp=True
Else
isp=False
EndIf
EndFunction
PrivateSubForm_Click()
Fori=6To40Step2
PrintGDBH(i)
Nexti
EndSub
8.FunctionisQO(ByValxAsInteger)AsString
IfxMod2=0Then
isQO=”偶数”
Else
isQO=”奇数”
EndIf
EndFunction
9.FunctionF1(ByValxAsInteger)AsBoolean
IfxMod17=0andxMod37=0Then
F1=True
Else
F1=False
EndIf
EndFunction
PrivateSubForm_Click()
Fori=1000To2000
IfF1(i)Then
Printi
Endif
Nexti
EndSub
10.SubF1(a()AsInteger,ByValL1AsInteger,ByValL2AsInteger)
DimL%,U%,x%,i%
L=LBound(a):
U=UBound(a)
IfL1>UOrL2>UThen
Print"位置输入错误!
"
ExitSub
EndIf
IfL1>L2Then
x=a(L1)
Fori=L1ToL2+1Step-1
a(i)=a(i-1)
Nexti
a(L2)=x
ElseIfL2>L1Then
x=a(L1)
Fori=L1ToL2-1
a(i)=a(i+1)
Nexti
a(L2)=x
EndIf
EndSub
第九章习题参考答案
一、选择题:
1—3:
ADD
二、填空题
1.下拉式弹出式2.PopupMenu
3.VisibleEnabled4.-
三、编程题(略)
第十章习题参考答案
一、选择题:
1—3:
DBD
二、填空题
1.Load2.窗体模块标准模块类模块
3.DoEvents
三、编程题
1.(略)
2.FunctionF(ByValx&,ByValY&)AsInteger
Dimt&,r&
Ifxx=y:
y=tR=xMody
DoWhileR<>0
X=y
Y=r
R=xMody
Loop
F=y
EndFunction
PrivateSubCommand1_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,x
AsSingle,YAsSingle)
Text1=x:
Text2=Y
EndSub
2.
DimstartX,StartYAsInteger在通用中‘申明
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)
IfButton=2Then
startX=x:
StartY=Y
EndIf
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)
IfButton=1Then
PSet(x,Y),RGB(0,0,0)
EndIf
EndSub
PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,xAsSingle,YAsSingle)
IfButton=2Then
Dimr%,c%
DimEndX,EndYAsInteger
EndX=x:
EndY=Y
c=RGB(0,0,0)
r=Sqr((EndX-startX)^2+(EndY-StartY)^2)
Form1.Circle(startX,StartY),r,c
EndIf
EndSub
第十二章习题参考答案
一、选择题:
1—8:
BBABBCCA
9.IHFCLGEBAJKD
二、填空题
1.Drive2.PathPrintDir1.Path
3.Path4.Hiddensystem
5.顺序文件随机文件二进制文件
6.FreeFile
7.Close#1
8.Open“c:
readme.txt”ForOutputAS#3
9.Open“c:
autoexec.bat”ForIntputAS#4
10.Open“c:
xscj.dat”ForRandomAS#3Len=54
11.Open“smtext1.txt”ForBinaryAS#1
12.ForInputEof
(1)
13.KeyAsciiEND(或者EndendeNdenD)Text1.text
三、编程题
1.‘在标准模块中定义
Typestu
IDAsString*12
nameAsString*8
z1AsString*12
z2AsString*12
sexAsString*2
jcAsBoolean
scoolAsString*20
sxAsInteger
ywAsInteger
yyAsIntegerwlAsInteger
zfAsInteger
EndType
DimpAsstu在通‘用中定义
PrivateSubCmdAppend_Click()
p.ID=Text1
p.name=Text2
p.z1=Text3
p.z2=Text4
p.scool=Text5
IfOption1.Value=TrueThenp.sex="男"
IfOption2.Value=TrueThenp.sex="女"
IfCheck1.Value=1Thenp.jc=TrueElsep.jc=False
p.sx=Val(Text6):
p.yw=Val(Text7)
p.yy=Val(Text8):
p.wl=Val(Text9)
p.zf=Val(Text10)
Put#1,,p
EndSub
PrivateSubCmdDisplay_Click()
Get#1,Val(txtRecord_No),p
Text1=p.ID:
Text2=p.name
Text3=p.z1:
Text4=p.z2
Text5=p.scool
Ifp.sex="男"ThenOption1.Value=TrueElseOption2.Value=TrueIfp.jc=TrueThenCheck1.Value=1ElseCheck1.Value=0Text6=p.sx:
Text7=p.yw
Text8=p.yy:
Text9=p.wl
Text10=p.zf
EndSub
PrivateSubCommand3_Click()
Text1="":
Text2=""
Text3="":
Text4=""
Text5="":
Text6=""
Text7="":
Text8=""
Text9="":
Text10=""
EndSub
PrivateSubForm_Load()
OpenApp.Path&"\stu.dat"ForRandomAs#1Len=Len(p)
EndSub
PrivateSubForm_Unload(CancelAsInteger)
Close#1
EndSub
PrivateSubText10_GotFocus()
Text10=Val(Text6)+Val(Text7)+Val(Text8)+Val(Text9)
EndSub
2.3.4.
PrivateTypebooks
idAsString*10
nameAsString*8
sexAsString*2
mathAsInteger
engAsInteger
eleAsInteger
EndType
‘成绩输入
PrivateSubCommand1_Click()
DimbAsbooks
Open"c:
\stu.dat"ForAppendAs#1
b.id=InputBox("请输入学号")
b.name=InputBox("请输入姓名")
b.sex=InputBox("请输入性别")
b.math=InputBox("请输入数学成绩")
b.eng=InputBox("请输