大学计算机VB程序设计教程课后答案.docx
- 文档编号:7264079
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:24
- 大小:20.55KB
大学计算机VB程序设计教程课后答案.docx
《大学计算机VB程序设计教程课后答案.docx》由会员分享,可在线阅读,更多相关《大学计算机VB程序设计教程课后答案.docx(24页珍藏版)》请在冰豆网上搜索。
大学计算机VB程序设计教程课后答案
参考答案
第1章概述
二.选择题:
1.C2.B.3.C.4.C.5.A
6.C7.D8.B9.B10.B
11.A12.C13.D14.C15.D
16.A17.C18.A19.A20.D21.B
三.填空题:
1.面向对象,事件驱动
2.编译,解释
3.设计,运行,中断
4.F5
5.调试
6.切换文件夹
四.编程及上机调试:
1.略
2.SubForm_Click()
Label1.Caption=“你单击了窗体”
EndSub
SubForm_DblClick()
Label1.Caption=“你双击了窗体”
EndSub
第2章面向对象编程基础
二.选择题:
1.C2.C.3.B.4.B.5.D
6.D7.B8.B9.C10.D
11.B12.B13.B14.C15.A
16.B17.B18.B19.C20.B
三.填空题:
1.窗体,控件
2.属性,事件,方法
mand2_click
4.picture
5.中部,代码
四.编程及上机调试:
1.PrivateSubCommand1_Click()
Form1.WindowState=2
EndSub
PrivateSubCommand2_Click()
Form1.WindowState=0
EndSub
PrivateSubCommand3_Click()
Form1.WindowState=1
EndSub
2.PrivateSubCommand1_Click()
Form1.Picture=LoadPicture("d:
\picture\flower.wmf")
Command1.Visible=False
Command2.Visible=False
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_DblClick()
Form1.Picture=LoadPicture("")
Command1.Visible=True
Command2.Visible=True
EndSub
第3章常用标准控件
二.选择题:
1.C2.B3.C.4.D5.B
6.B7.A8.C9.B10.C
11.C12.A13.C14.B15.D
16.D17.C18.A19.D20.A21.B
三.编程及上机调试:
1.
PrivateSubCheck1_Click()
IfCheck1.Value=1Then
Text1.FontBold=True
Else
Text1.FontBold=False
EndIf
EndSub
PrivateSubCheck2_Click()
IfCheck2.Value=1Then
Text1.FontItalic=True
Else
Text1.FontItalic=False
EndIf
EndSub
PrivateSubCheck3_Click()
IfCheck1.Value=1Then
Text1.FontUnderline=True
Else
Text1.FontUnderline=False
EndIf
EndSub
PrivateSubCommand1_Click()
Text1.Text=""
EndSub
2.
PrivateSubCommand1_Click()
Text2.Text=List1.ListCount
EndSub
PrivateSubCommand2_Click()
List1.AddItemText1.Text
Text1.Text=""
EndSub
PrivateSubCommand3_Click()
DimiAsInteger
i=List1.ListIndex
List1.RemoveItemi
Command3.Enabled=False
Text1.SetFocus
Text2.Text=List1.ListCount
EndSub
PrivateSubForm_Load()
Command3.Enabled=False
EndSub
PrivateSubList1_Click()
Command3.Enabled=True
EndSub
第4章VB语言基础
二.选择题:
1.A2.D3.D.4.A5.A
6.A7.C8.D9.C10.B
11.A12.D13.C14.A15.A
16.C17.D18.A19.B20.D
21.C22.A23.B24.C25.C
三.编程及上机调试:
1.PrivateSubForm_Load()
DimxAsInteger,sAsString,dAsInteger
Randomize
x=Int(Rnd*9000+1000)
s=Trim(CStr(x))
d=Val(Right(s,1)+Mid(s,3,1)+Mid(s,2,1)+Left(s,1))
Show
Print"产生的数;";x;"倒序数";d
EndSub
2.PrivateSubForm_KeyPress(KeyAsciiAsInteger)
Print"输入字符:
";Chr(KeyAscii),"ASCII码为:
";KeyAscii
EndSub
PrivateSubForm_DblClick()
Cls
EndSub
3.PrivateSubForm_Click()
MsgBox"在这里显示提示"&vbCrLf&"提示信息",2+16,"请确认"
EndSub
或
PrivateSubForm_Click()
MsgBox"在这里显示提示"+Chr(13)+"提示信息",vbAbortRetryIgnore_
+vbCritical,"请确认"
EndSub
第5章程序控制结构
二.单选题
1.D2.C3.C.4.D.5.B
6.C7.A8.A9.D10.C
11.C12.C13.B14.B
四.编程及上机调试
1.PrivateSubForm_Click()
DimxAsInteger,yAsInteger
x=InputBox("请输入一个数值")
Ifx>20Then
y=x^2+3*x+2
ElseIfx>=10Then
y=Sqr(3*x)-2
ElseIfx>0Then
y=1/x+Abs(x)
EndIf
Print"x=";x,"y=";y
EndSub
(2)SelectCase实现:
PrivateSubForm_Click()
DimxAsInteger,yAsInteger
x=InputBox("请输入一个数值")
SelectCasex
CaseIs>20
y=x^2+3*x+2
CaseIs>=10
y=Sqr(3*x)-2
CaseIs>0
y=1/x+Abs(x)
EndSelect
Print"x=";x,"y=";y
EndSub
2.
PrivateSubForm_Click()
DimaAsInteger,bAsInteger,cAsInteger
Fori=100To999
a=i\100
b=(i-a*100)\10
c=iMod10
Ifa^3+b^3+c^3=iThen
Printi;
k=k+1
IfkMod2=0ThenPrint
EndIf
Nexti
EndSub
3.
PrivateSubCommand1_Click()
p=60:
r=0.014
Do
p=p*(1+r)
n=n+1
LoopUntilp>=70
Printn;"年后世界人口达到";p;"亿"
EndSub
4.
PrivateSubCommand1_Click()
DimsAsSingle,xAsInteger,tAsSingle,nAsInteger
x=Val(InputBox("请输入x的值",,2))
s=1
n=1
m=1
Do
n=n+1
m=-m
t=m*n/x^(n-1)
IfAbs(t)<0.00001ThenExitDo
s=s+t
Loop
Prints
EndSub
第6章数组
二.单选题:
1.A2.A.3.A4.C5.D
6.D7.A8.D9.B10.B
四.编程及上机调试:
1.
OptionBase1
PrivateSubForm_Click()
Dima(10)AsInteger
DimiAsInteger,tAsInteger
Print"数组的原始数据为:
";
Fori=1To10
a(i)=Int(11*Rnd)+10
Printa(i);
Nexti
Print"变化后数组数据为:
";
Fori=1To5
t=a(i)
a(i)=a(10-i+1)
a(10-i+1)=t
Nexti
Fori=1To10
Printa(i);
Nexti
EndSub
2.
OptionBase1
PrivateSubForm_Click()
Dima(3,4)AsInteger,iAsInteger,jAsInteger,kAsInteger,pAsInteger
Randomize
Fori=1To3
Forj=1To4
a(i,j)=Int(90*Rnd+10)
Printa(i,j);
Nextj
Nexti
Max=a(1,1):
k=1:
p=1
Fori=1To3
Forj=1To4
Ifa(i,j)>MaxThen
Max=a(i,j)
k=i
p=j
EndIf
Nextj
Nexti
Print"最大的数为第"&k&"行,第"&p&"列的数:
"&Max
EndSub
3.
OptionBase1
Dima(4,5)AsInteger'在窗体声明段声明数组
DimiAsInteger,jAsInteger
PrivateSubcmdmatrix_Click()'"生成数组"按钮
Randomize
Fori=1To4
Forj=1To5
a(i,j)=Int(Rnd*10)'一位的随机数
Picture1.Printa(i,j);'输出元素
Nextj
Picture1.Print
Nexti
EndSub
PrivateSubcmdcol_Click()'"求列和"按钮
DimcolsumAsInteger
txtcol.Text=""
Forj=1To5'列变量先循环
colsum=0
Fori=1To4
colsum=colsum+a(i,j)
Nexti
txtcol.Text=txtcol.Text&Str(colsum)
Nextj
EndSub
PrivateSubcmdrow_Click()'"求行和"按钮
DimrowsumAsInteger
txtrow.Text=""
Fori=1To4'行变量先循环
rowsum=0
Forj=1To5
rowsum=rowsum+a(i,j)
Nextj
txtrow.Text=txtrow.Text&CStr(rowsum)&vbCrLf
Nexti
EndSub
PrivateSubcmdclear_Click()'"清除"按钮
Picture1.Cls
txtcol.Text=""
txtrow.Text=""
EndSub
PrivateSubcmdexit_Click()'"结束"按钮
End
EndSub
4.OptionBase1
PrivateSubForm_Click()
Dima()AsInteger,b()AsInteger,iAsInteger,jAsInteger,xAsInteger,yAsInteger
x=InputBox("第一维上界")
DoWhileNotIsNumeric(x)
x=Int(InputBox("第一维上界"))
Loop
y=InputBox("第二维上界")
DoWhileNotIsNumeric(x)
y=Int(InputBox("第二维上界"))
Loop
ReDima(x,y)
Print"原数组元素为:
"
Fori=1Tox
Forj=1Toy
a(i,j)=Int(90*Rnd)+10
Printa(i,j);
Nextj
Nexti
Print"转置后数组元素为:
"
Fori=1Toy
Forj=1Tox
Printa(j,i);
Nextj
Nexti
EndSub
5.OptionBase1
PrivateSubForm_Click()
Dima(10,10)AsInteger,iAsInteger,jAsInteger
Fori=1To10
Forj=1To10
Ifi=jOri+j=11Then
a(i,j)=0
Else
a(i,j)=1
EndIf
Printa(i,j);
Nextj
Nexti
EndSub
6.OptionExplicit
OptionBase1
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger,nAsInteger,kAsInteger,a(11)AsInteger
j=1
Fori=3To21Step2
a(j)=i
Printa(j);
j=j+1
Nexti
n=InputBox("请输入一个数")
Fori=1To10
Ifn=a(i)Then
Forj=iTo10
a(j)=a(j+1)
k=k+1
Nextj
EndIf
Nexti
Fori=1To9
Printa(i);
Nexti
EndSub
7.OptionBase1
PrivateSubForm_Click()
DimaAsVariant,kAsInteger,iAsInteger,jAsInteger
DimbAsVariant
b=Array(17,35,128,235,89,121,143,189,231,94)
a=Array(11.3,12.3,12#,11.8,12.6,11.6,12.8,11.8,12.4,12.1)
Fori=1To9'对数组a的元素排序
k=i
Forj=i+1To10
Ifa(k)>a(j)Thenk=j
Nextj
Ifk<>iThen'数组b的元素随数组a的元素一起变动
t=a(i)
a(i)=a(k)
a(k)=t
t=b(i)
b(i)=b(k)
b(k)=t
EndIf
Nexti
Print"按名字的排列顺序为:
"
Fori=1To10
IfLen(b(i))=2Thenb(i)="0"&b(i)'补上数组b中长度为2的编号前的"0"
Print"第"&i&"名的号码为:
"&b(i)&",成绩为:
"&a(i)
Nexti
EndSub
第7章过程
二、单选题
1.C2.D3.C4.D5.B
6.A7.B8.B9.C10.D
11.C12.D13.B14.B15.C
16.A17.B18.B
三、填空题
1.5251
2.411
835
3.135
四.编程及上机调试:
1.PrivateSubCommand1_Click()
DimnAsInteger
Forn=100To1600Step500
Print"n=";n;"时π的近似值是:
";pi(n)
Nextn
EndSub
PrivateFunctionpi(xAsInteger)AsSingle
DimsAsSingle,kAsInteger,mAsInteger
s=0
k=1
m=1
Do
s=s+m/k
m=-m
k=k+2
LoopWhilek<=x
pi=4*s
EndFunction
PrivateSubCommand2_Click()
End
EndSub
2.PrivateSubCommand1_Click()
DimxAsInteger,iAsInteger
x=Val(Text1)
Fori=1Tox
Ifprime(i)Andprime(x-i)Then
Label2=Str(x)&"是"&Str(i)&"和"&Str(x-i)&"两个素数之和"
ExitSub
EndIf
Nexti
EndSub
PrivateFunctionprime(xAsInteger)AsBoolean
Fori=2ToInt(Sqr(x))
IfxModi=0Then
prime=False
ExitFunction
EndIf
Nexti
prime=True
EndFunction
PrivateSubCommand2_Click()
End
EndSub
3.OptionExplicit
OptionBase1
Dima(10)AsInteger
PrivateSubCommand1_Click()
Randomize
DimiAsInteger
Fori=1To10
a(i)=Int(Rnd*90)+10
Text1=Text1+Str(a(i))
Nexti
Callsort(a)
Fori=1To10
Text2=Text2+Str(a(i))
Nexti
EndSub
PrivateSubsort(a()AsInteger)
DimkAsInteger,iAsInteger,jAsInteger,tAsInteger
k=UBound(a)
Fori=1Tok-1
Forj=i+1Tok
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 VB 程序设计 教程 课后 答案