《Visual Basic语言程序设计教程》课后习题答案.docx
《《Visual Basic语言程序设计教程》课后习题答案.docx》由会员分享,可在线阅读,更多相关《《Visual Basic语言程序设计教程》课后习题答案.docx(21页珍藏版)》请在冰豆网上搜索。
《VisualBasic语言程序设计教程》课后习题答案
第1章
一、选择题
1-5CCDBA6-10ABCDB
二、填空题
1.bas
2.工具栏
3属性窗口
4.工具栏
5.设计状态,运行状态,中断状态
三、简答题
略
四、编程题
控件
属性
属性值
Form
Name
Form1
TextBox
Name
Text1
Text1
空白
CommandButton
Name
Command1
Caption
确定
PrivateSubCommand1_Click()
Command1.Caption=Text1.Text
EndSub
第2章
一、选择题
1-5CBDDC6-10AAAAC
11-14BBBD
二、填空题
1.Text1.Text="Hello!
"或Text1="Hello!
"
2.Width、Height
3.Ctrl
4.ABCD、VisualBasic
5.123321
第3章
一、选择题
1-5ABDCA6-10CBCBC11-15BBBCC
二、根据要求写出表达式
1.Int(100*Rnd+1)
2.x>10Andx<50
3.xmod4=0Orxmod13=0
4.Chr(Int(25*Rnd+65))
三、写出下列函数的值
1.Int(–3.14159)=-4
2.Sqr(Sqr(16))=2
3.Fix(–3.1415926)=-3
4.Int(Abs(99–100)/2)=0
5.Sgn(7*3+2)=1
6.Format(2.3,"##.000")=2.300
7.Left("Hello",2)=”He”
8.Val("16Year")=16
9.Str(–459.65)=”-459.65”
四、将下列数学表达式改写为等价的VB表达式
1.(b^2-sqr(4*a*c-b^2))/(4*a)
2.sqr(sin(3.14/18)^2+cos(3.14/9)^2)+15
3.abs((a+b)^2-4*a*c)
4.a^2+exp(4)+sqr(abs(a+exp
(1)))
五、编程题
1.界面设计如图:
文本框text1的change事件代码如下:
PrivateSubText1_Change()
Text2.Text=LCase(Text1.Text)
EndSub
2.界面设计如图:
设置计时器的interval属性值为1000,Timer1的Timer事件代码如下:
PrivateSubTimer1_Timer()
Text1.Text=Time
EndSub
第4章
一、选择题
1-5DBCCA6C
二、填空题
1.输入字符型val
2.Msgbox“是否显示数据”,vbOkCancle+vbQuestion,”提示”
3.34
4
5
*
***
*****
*
***
*****
三、编程题
略
第5章
一、选择题
1-5DADCDB
二、程序填空
1.Inputbox、is<1、x^3+10*x+2、-x
y=
x3+7x2+101≤x≤6
x+10x>6
-x-5x<1
2.
3.Rnd、1、xmod5=0
4.Val(text1.text)、xmod2=0、"奇数"、EndIf
三、编程题
1.代码如下:
PrivateSubform_Click()
DimxAsSingle
x=Val(InputBox("请输入任意一个实数:
"))
Ifx<0Then
Print"概数是负数"
ElseIfx=0Then
Print"概数是零"
Else
Print"概数是正数"
EndIf
EndSub
2.代码如下:
PrivateSubform_Click()
DimxAsSingle,yAsSingle
x=val(InputBox("请输入x的值:
"))
Ifx<0Then
y=x^4+10
ElseIfx<10Then
y=x^2-10
ElseIfx<20Then
y=5*x+8
Else
y=x/2+1
EndIf
MsgBox"当x的值为:
"&x&"时,函数值y为:
"&y
EndSub
3.运行界面如下:
代码如下:
PrivateSubCommand1_Click()
DimxAsSingle,yAsSingle
x=Val(Text1.Text)
Ifx<100Then
y=x
ElseIfx<200Then
y=x*0.95
ElseIfx<300Then
y=x*0.9
Else
y=x*0.8
EndIf
Text2.Text=y
EndSub
4.运行界面如下:
代码如下:
PrivateSubCommand1_Click()
DimxAsSingle,yAsSingle
x=Val(Text1.Text)
Ifx<=3Then
y=8
Else
y=(x-3)*1.6+8
EndIf
Text2.Text=y
EndSub
第6章习题答案
一、选择题
1-5ABDAB6-7CB
二、填空题
1.Do……Loop、While……Wend、For……Next
2.715
3.5
4.For……NextWhile……Wend
5.5.65
6.1540
7.Nextjprint
三、编程题
1.
(1)代码如下:
PrivateSubForm_Click()
Fori=1To5
Forj=1Toi
Print"*";
Nextj
Print
Nexti
EndSub
(2)代码如下:
PrivateSubForm_Click()
Fori=1To5
PrintTab(6-i);
Forj=1Toi
Print"*";
Nextj
Print
Nexti
EndSub
(3)代码如下:
PrivateSubForm_Click()
Fori=1To5
Forj=1To6-i
Print"*";
Nextj
Print
Nexti
EndSub
(4)代码如下:
PrivateSubForm_Click()
Fori=1To5
PrintTab(i);
Forj=1To6-i
Print"*";
Nextj
Print
Nexti
EndSub
2.输入若干个字符,分别统计其中英文字母、数字、其他字符各有多少个。
运行界面如下:
代码如下:
PrivateSubCommand1_Click()
Dimm,n,a,b,cAsInteger,iAsString
n=Val(Text1):
a=0:
b=0:
c=0
Form=1Ton
i=InputBox("请输入"&n&"个字符")
SelectCasei
Case"a"To"z","A"To"Z"
a=a+1
Case"0"To"9"
b=b+1
CaseElse
c=c+1
EndSelect
Nextm
Text2=a
Text3=b
Text4=c
EndSub
3.代码如下:
PrivateSubForm_Click()
Forn=2To100000
s=0
Fori=2ToInt(Sqr(n))
IfnModi=0Then
s=1
ExitFor
EndIf
Nexti
Ifs=0ThenList1.AddItemn
Nextn
EndSub
4.输入10个数,求出其中正数、负数和零的个数
代码如下:
PrivateSubCommand1_Click()
Dima,b,c,i,nAsInteger
a=0:
b=0:
c=0
Forn=1To10
i=Val(InputBox("请输入10个数字"))
SelectCasei
CaseIs>0
a=a+1
CaseIs<0
b=b+1
CaseElse
c=c+1
EndSelect
Nextn
Print"正数有"&a&"个"
Print"负数有"&b&"个"
Print"零有"&c&"个"
EndSub
5.略
第7章
一、选择题
1-5BDCAD6-10BADDD
二、填空题
1.DimX()、X(1To20)
2.Max、Max=arr1(i)
3.4
4.25
5.5869
6.1234
三、编程题
1.界面中设计一个按钮,代码如下:
OptionBase1
PrivateSubCommand1_Click()
Dima(20)AsInteger,iAsInteger
Fori=1To20
a(i)=Val(InputBox("输入数组元素"))
Printa(i);
Ifi=10ThenPrint
Nexti
Fori=1To10
t=a(21-i)
a(21-i)=a(i)
a(i)=t
Nexti
Print
Fori=1To20
Printa(i);
Ifi=10ThenPrint
Nexti
EndSub
2.PrivateSubForm_Click()
Dima(1To10)AsInteger,i%,maxa%,m%
Fori=1To10
a(i)=Int(Rnd*70)+30
Nexti
maxa=a
(1)
Fori=2To10
Ifa(i)>a
(1)Then
maxa=a(i):
m=i
EndIf
Nexti
Fori=1To10
Printa(i);
Nexti
Print"maxa="&maxa;"下标为"&m
EndSub
3.运行结果界面如下
PrivateSubCommand1_Click()
DimcAsString,x%,a(1To26)AsInteger
Picture1.Cls
Fori=1ToLen(Text1.Text)
c=UCase(Mid(Text1.Text,i,1))
Ifc>="A"Andc<="Z"Then
j=Asc(c)-64
a(j)=a(j)+1
EndIf
Nexti
Forj=1To26
IfjMod6=0Then
Picture1.PrintChr(j+64)&"="&a(j)
Picture1.Print
Else
Picture1.PrintChr(j+64)&"="&a(j);
Picture1.PrintSpace(3);
EndIf
Nextj
EndSub
4.窗体不需设计,运行结果界面如下:
PrivateSubForm_Click()
Dima(1To3,1To3)
Fori=1To3
Forj=1To3
Randomize
a(i,j)=Int(Rnd*100)
Printa(i,j);
Nextj
Print
Nexti
Fori=1To3
Forj=1To3
Ifi=1Ori=3Orj=1Orj=3ThenSum=Sum+a(i,j)
Nextj
Nexti
Print"矩阵四周元素之和"&Sum
EndSub
5.PrivateSubCommand1_Click()
Dima(1To50)AsInteger,b(1To9)AsInteger
DimiAsInteger,jAsInteger
Randomize
Fori=1To9
b(i)=0'初始化数组
Next
Fori=1To50
a(i)=Int(90*Rnd+10)'产生随机数
Forj=1To9'判定范围存入数组
Ifa(i)>j*10-1Anda(i)Next
Next
'输出
Fori=1To50
Printa(i);
IfiMod10=0ThenPrint'一行输出10个
Next
Forj=1To9
Print"范围"&(j*10)&"到"&(j*10+9)&"的数有"&b(j)&"个。
"
Next
EndSub
第8章
一、选择题
1-5:
ADDBD6-10:
DCCAD
11-15:
CADBD
二、填空题
1.从列表框中删除指定项目
2.下拉式列表框
3.Interval
4.Timer
5.Picture
三、程序填空
1.List1_Dblclick、List1.Text
2.1000、true、Time
第9章
一、选择题
1-5ACACB6-8BCC
二、填空题
1.ByvalByrefByref
2.窗体/模块级全局级局部变量窗体/模块级全局级
3.在调用函数的过程中出现的直接或间接调用该函数本身的现象
4.b6.117
5,
7.
A=1B=1
X=2Y=3
A=2B=3
4
5
6
三、四
略
第10章
一、选择题
1-4:
DBDB
二、填空题
1.属性设置区、编辑区、菜单项显示区
2.打开、另存为、颜色、字体
3.PopupMenu
4.CommonDialog1.Action=1、CommonDialog1.ShowSave
第11章
一、选择题
1-5DCABB6-10BDDBA11-15DBCAC
二.填空题
1.Open、close
2.append
3.write、print
4.put、get
5.EOF
(1)、whole
三.编程题
界面设计如下:
代码如下:
Dima(1To4,1To5)AsSingle,s(1To5)AsSingle
PrivateSubCommand1_Click()
StaticjAsInteger
Fori=0To3
a(i+1,j+1)=Text2(i)
Text1.Text=Text1.Text&""&a(i+1,j+1)
Nexti
Text1.Text=Text1.Text&Chr(13)&Chr(10)
Fori=0To3
Text2(i).Text=""
Nexti
j=j+1
Text2(0).SetFocus
EndSub
PrivateSubCommand2_Click()
Fori=1To5
Fork=1To4
s(i)=s(i)+a(k,i)
Nextk
Text3(i-1).Text=s(i)/4
Nexti
EndSub
PrivateSubCommand3_Click()
Open"d:
\result.dat"ForOutputAs#1
Fori=1To5
Forj=1To4
Write#1,a(j,i);
Nextj
Write#1,"平均分";s(i)/4
Nexti
Close
EndSub
第12章
一、简答题
略。
二、编程题
数据表“学生表”结构如下:
字段名
类型
长度
学号
Text
10
姓名
Text
20
性别
Text
2
专业
Text
30
籍贯
Text
30
民族
Text
50