VB14章习题答案课本习题.docx
《VB14章习题答案课本习题.docx》由会员分享,可在线阅读,更多相关《VB14章习题答案课本习题.docx(39页珍藏版)》请在冰点文库上搜索。
![VB14章习题答案课本习题.docx](https://file1.bingdoc.com/fileroot1/2023-6/2/ccb81f99-6440-41b5-9921-830835f170d7/ccb81f99-6440-41b5-9921-830835f170d71.gif)
VB14章习题答案课本习题
VB习题答案(1-3章)
习题一
一、选择题
1.C2.C3.A4.C5.C6.C7.B
二、填空题
1.学习版、专业版、企业版2.窗体界面3.Alt+F4
三、简答题
1.简述VisualBasic语言的特点。
VisualBasic是Windows操作平台下的可视化编程语言,它继承和发展了BASIC语言的基本功能,具有简单易学、功能强大等特点。
VisualBasic提供了可视化设计工具,以图形用户界面(GUI)为PC机用户提供了一个直观的工作环境。
支持面向对象的程序设计(OOP),采用事件驱动方式,提供对象的链接与嵌入(OLE)和访问数据库等功能。
2.VisualBasic6.0的集成开发环境由哪些部分组成,各部分的主要功能是什么?
1.标题栏:
用来显示打开的工程名称和系统的工作状态。
2.菜单栏:
菜单栏中包括“文件”、“编辑”、“视图”、“工程”、“格式”、“调试”、“运行”、“查询”、“图表”、“工具”、“外接程序”、“窗口”和“帮助”共有13个菜单项。
这是一组下拉式菜单,提供了设计、编辑、编译和调试应用程序所需要的绝大部分功能和命令。
3.工具栏:
VisualBasic6.0提供了“编辑”、“标准”、“窗体编辑器”和“调试”4种工具栏。
工具栏上形象直观的排列着一些最常用的命令按钮,对应特定的常用操作命令。
4.控件箱:
控件箱提供了一组控件。
设计界面时,用户可以用鼠标双击控件箱中的控件,在窗体中画出该控件,或用鼠标单击控件箱中的控件,然后在窗体中拖动鼠标画出所需的控件。
5.窗体设计器:
窗体设计器是应用程序最终面向用户的窗口。
各种控件、图形、数据以及程序的运行结果都在窗体设计器窗体中显示出来。
6.工程资源管理器:
在工程资源管理器窗口中(图1-2),列出了应用程序的工程以及工程中的窗体和模块。
7.属性窗口:
属性窗口主要用来设置VisualBasic窗体及各控件的属性特征,属性窗口的主体部分分为左右两列,左边是控件的属性名列表,右边是控件的属性值列表。
8.窗体布局窗口:
窗体布局窗口用于观察应用程序中各窗体在屏幕上的位置。
可以在窗体布局窗口用鼠标拖动窗体小图像的方法来改变窗体布局。
3.什么是对象的属性、事件和方法?
属性是一个对象的数据,用来表示对象的状态。
属性具有属性值,改变对象的属性值就可以改变对象的状态。
对象常见的属性有标题(Caption)、名称(Name)、颜色(Color)、字体大小(Fontsize)、是否可见(Visible)等。
事件(Event)是能被对象识别的动作,例如Click(单击),DblClick(双击),Load(装入),MouseMove(移动鼠标),Change(改变)等。
VisualBasic编程的核心就是为每一个要处理的事件编写响应事件的程序代码。
方法(Method)即是具有完成某种功能的过程和函数,它决定了对象要执行的动作。
4.简述编写并运行VisualBasic程序的一般步骤。
(1)创建应用程序界面。
(2)设置界面上各个对象的属性
(3)编写事件驱动代码
(4)单击工具栏上的启动按钮,运行该程序。
四、编程题
编写程序,显示“第一个VisualBasic程序”
(1)创建应用程序界面。
见教材图1-5
(2)设置界面上各个对象的属性
见教材图1-6
(3)编写事件驱动代码
PrivateSubCommand1_Click()
Text1.Text="第一个VisualBasic程序"
EndSub
PrivateSubCommand2_Click()
End
EndSub
(4)单击工具栏上的启动按钮,运行该程序。
单击“开始”按钮。
习题二
一、选择题
1.D2.A3.C4.D5.B6.B7.C8.A9.D10.B11.B12.A13.C14.D15.D16.D
二、填空题
1.X=Int(Rnd*100)2.-93.34.helloHELLO5.12341234123446
6.Val(Right(M,1)&Left(M,1))
7.Abs(y)+Exp
(1)-3*x*Log(3*x)
三、简答题
1.VisualBasic定义了几种数据类型,变量有哪几种数据类型,常量有哪几种数据类型?
VisualBasic基本数据类型:
1.字符串型(String):
字符串分为变长字符串和定长字符串两种。
2.数值型:
数值型数据分为整型数和浮点数两类。
3.货币型(Currency)
4.变体型(Variant)
5.字节型(Byte)
6.布尔型(Boolean)
7.日期型(Date)
8.对象型(Object)
VisualBasic中包含两种常量,即文字常量和符号常量。
变量的基本数据类型:
Byte(字节型),Boolean(布尔型),Integer(整型),Long(长整型),Single(单精度型),Double(双精度型),Currency(货币型),Date(日期型),Object(对象型),String(变长字符串),String(定长字符串),Variant(变体型、数字),Variant(变体型、字符)
2.符号常量和变量有什么不同点?
符号常量一经定义,就不能在程序中的其他位置改变其值。
变量的值在程序中可以改变。
3.指出下列正确的变量名:
g(1-k)6adhs*ssskL2.1Print
x+1ahiπ.ex3j5h
正确的变量名:
ahi,j5h
4.指出下列正确的数字形式:
-1.25±3.8845.2468E-677.876D-55.6D
0.12389ED258510^(2.7)3^5
正确的数字形式:
-1.25,45.2468E-6,77.876D-5,0.123
5.下列表达式若有错误,请改正:
(1)ts+cos(300)
(2)(x+y)^(25÷s)
(3)[(X1+X2)*(X1-3)-6]*7(4)(X÷-2)+sin(1.2+π)
改正:
(1)ts+cos(30*3./180)
(2)(x+y)^(25/s)
(3)((X1+X2)*(X1-3)-6)*7
(4)(X/(-2))+sin(1.2+3.)
6.写出下列数学式的VisualBasic表达式:
(1)sin(a)[cos(b)+1.5]
(2)(X1+4)5(e2-a)
(3)36[(X1+π)(X1÷3.3)-B]
(4)X-2+5.8sin(3.5π)
VisualBasic表达式:
(1)sin(a)*(cos(b)+1.5)
(2)(X1+4)^5*(exp
(2)-a)
(3)36*((X1+3.)*(X1/3.3)-B)
(4)X^2+5.8*sin(3.5*3.)
习题三
一、选择题
1.B2.D3.B4.C5.B6.A7.C8.B9.C10.C11.D12.C13.B14.D15.A
16.C17.B
三、简答题
3-1下列语句是否有错?
若有,请改正:
(1)Let=17
(2)T1$=XYZ
(3)L*2=K+E(4)1A=34,2A=66
改正:
(1)Letx=17
(2)T1$=“XYZ”
(3)L=(K+E)/2
(4)A1=34:
A2=66
四、编程题
1.编一个对三种商品零售计价程序。
商品数量由键盘输入。
A铅笔:
每件1.50元
B笔记本:
每件5.20元
C计算器:
每件80.00元
总计金额SUM。
答案设计界面如图
程序代码如下
PrivateSubCommand1_Click()
Sum=1.50*Text1.Text+5.20*Text2.Text+80.00*Text3.Text
Text4.Text=Sum
EndSub
2.试编写打印下面三角形图案的源程序。
*
***
*****
*******
*********
答案
设计界面如图
程序代码如下
PrivateSubForm_Click()
Form1.PrintTab(15);"*"
Form1.PrintTab(14);"***"
Form1.PrintTab(13);"*****"
Form1.PrintTab(12);"*******"
Form1.PrintTab(11);"*********"
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"显示星号三角形,单击窗体开始"
EndSub
3.编写程序,将摄氏温度转换为华氏温度。
二者之间的关系是:
F=32+1.8C
其中F是华氏温度,C是摄氏温度。
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
C=Text1.Text
Text2.Text=32+1.8*C
EndSub
4.编写程序,在文本框中输入英文字符,单击“大写”按钮把英文字符转换为大写,单击“小写”按钮把英文字符转换为小写。
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
Text1.Text=UCase$(Text1.Text)
EndSub
PrivateSubCommand2_Click()
Text1.Text=LCase$(Text1.Text)
EndSub
附加(可参照练习)
1.小王有存款A元,年利率P,存储时间T年。
试编程求本利合计。
答案
设计界面如图
存款按单利计算,程序代码如下
PrivateSubCommand1_Click()
a=Text1.Text
p=Text2.Text
t=Text3.Text
a=a+a*p*t
Text4.Text=a
EndSub
2.试编写打印下面图案的源程序。
********
**
**
**
**
********
答案
设计界面如图
程序代码如下
PrivateSubForm_Click()
Form1.PrintTab(5);"********"
Form1.PrintTab(6);"*";Tab(13);"*"
Form1.PrintTab(7);"*";Tab(14);"*"
Form1.PrintTab(8);"*";Tab(15);"*"
Form1.PrintTab(9);"*";Tab(16);"*"
Form1.PrintTab(10);"********"
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"显示星号四边形,单击窗体开始"
EndSub
3.请编写求以10为底,求10000的对数值的源程序。
答案
设计界面如图程序代码如下
PrivateSubForm_Click()
Form1.PrintLog(10000)/Log(10)
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"计算以10为底,10000的对数"
Form1.Print"单击窗体开始"
EndSub
4.请编写求任意数的平方根的源程序,数由键盘输入。
答案
设计界面如图
程序代码如下
PrivateSubForm_Click()
x=Val(InputBox$("输入数据"))
Form1.Print"输入数据为";x
Form1.Print"平方根为";Sqr(x)
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"求任意数的平方根"
Form1.Print"单击窗体开始"
EndSub
5.求任意半径和高的圆柱的表面积。
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
r=Text1.Text
h=Text2.Text
s=2*3.14159*r*h+2*3.14159*r*r
Text3.Text=s
EndSub
习题四(控制结构)
一、选择题
1.C2.A3.B4.D5.C6.A7.B8.B9.A
二、填空题
4.0
三、简答题
1.写出数学式|x|<2.5×10-2对应的VisualBasic表达式。
答案:
x<2.5e-2andx>-2.5e-2
2.逻辑运算符And、Or和Not的优先级最高的是哪一个。
答案:
Not
3.已知W=10X=9Y=8Z=7,求下列表达式的结果:
(1)W>XAndY<=ZORX>Y
(2)X>ZOrW=YANDY(3)Not(W>YAndX=Z)
(4)Not(Y<>XOrW*3>Z)
答案
(1)True
(2)True
(3)True
(4)False
4.写出下列十进制整数逻辑运算的结果:
(1)X=23And14
(2)X=23Or14
(3)X=-1And19
(4)X=-1Or10
(5)X=Not-1
答案
(1)6
(2)31
(3)19
(4)-1
(5)0
四、编程题
1.已知变量X和Y的值分别为5、6,编写程序,交换变量X和Y的值。
答案
设计界面如图
程序代码如下
PrivateSubForm_Click()
x=5:
y=6
t=x:
x=y:
y=t
Form1.Print"x=";x,"y=";y
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"x=5","y=6"
Form1.Print"单击窗体交换x,y的值"
EndSub
2.征兵的条件是:
男性18~20岁,1.65米以上;女性16~18岁,1.60米以上。
编写程序,从键盘输入一个人的数据时,判断是否符合征兵的条件。
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
age=Val(Text1.Text)
h=Val(Text2.Text)
IfOption1.Value=TrueThen
Ifage>=18Andage<=20Andh>=1.65Then
Label4.Caption="合格"
Else
Label4.Caption="不合格"
EndIf
Else
Ifage>=16Andage<=18Andh>=1.6Then
Label4.Caption="合格"
Else
Label4.Caption="不合格"
EndIf
EndIf
EndSub
3.编写程序,计算下面表达式的值
(1)1+1×3+1×3×5+……+1×3×……(2N+1)
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
n=Val(InputBox("请输入N值"))
Sum=1
term=1
Fork=3To2*n+1Step2
term=term*k
Sum=Sum+term
Nextk
Form1.Print"1+1×3+1×3×5+……+1×3×……(2N+1)=";Sum
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"计算1+1×3+1×3×5+……+1×3×……(2N+1)"
EndSub
计算表达式补充:
(2)-(5)
(2)1!
+3!
+5!
+……+(2N+1)!
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
n=Val(InputBox("请输入N值"))
Sum=1
term=1
Fork=3To2*n+1Step2
term=term*(k-1)*k
Sum=Sum+term
Nextk
Form1.Print"1!
+3!
+5!
+……+(2N+1)!
=";Sum
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"计算1!
+3!
+5!
+……+(2N+1)!
"
EndSub
(3)1+X/2!
+X2/4!
+X3/6!
+……+XN/(2N)!
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
x=Val(InputBox("请输入x值"))
n=Val(InputBox("请输入N值"))
Sum=1
t1=1
t2=1
Fork=2To2*nStep2
t1=t1*x
t2=t2*(k-1)*k
Sum=Sum+t1/t2
Nextk
Form1.Print"1+X/2!
+X^2/4!
+……+X^N/(2N)!
=";Sum
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"计算1+X/2!
+X^2/4!
+……+X^N/(2N)!
"
EndSub
(4)x-x3/3!
+x5/5!
-x7/7!
+……
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
x=Val(InputBox("请输入x值"))
Sum=x
t1=x
t2=1
f=1
k=1
While(t1/t2>0.0001)
k=k+2
t1=t1*x*x
t2=t2*(k-1)*k
f=f*(-1)
Sum=Sum+f*t1/t2
Wend
Form1.Print"x-x^3/3!
+x^5/5!
-x^7/7!
+……=";Sum
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"计算x-x^3/3!
+x^5/5!
-x^7/7!
+……"
EndSub
(5)1+1/2+1/3+……+1/N(1/N<10-4)
答案
设计界面如图
程序代码如下
PrivateSubForm_Click()
Sum=0
k=1
While(1/k>0.0001)
Sum=Sum+1/k
k=k+1
Wend
Form1.Print"1+1/2+1/3+……+1/N=";Sum
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"计算1+1/2+1/3+……+1/N"
Form1.Print"单击窗体开始"
EndSub
4.由随机函数产生10道一位整数与两位整数相加的加法题,产生的加法题依次显示在屏幕上,每产生一道题后,由用户输入答案,如果答案正确,记10分;如果答案错误,允许第二次输入答案,第二次输入答案正确,记5分,错误记0分。
最后给出总得分。
答案
设计界面如图
程序代码如下
PrivateSubForm_Click()
s=0
Fori=1To10
a=Int(10*Rnd)
b=Int(10+10*Rnd)
str1$="第"&i&"题"&a&"+"&b
c=Val(InputBox(str1$&"第一次回答"))
Ifa+b=cThen
s=s+10
str2$=str1$&"10分"
Else
c=Val(InputBox(str1$&"第二次回答"))
Ifa+b=cThen
s=s+5
str2$=str1$&"5分"
Else
str2$=str1$&"0分"
EndIf
EndIf
Form1.Printstr2$
Nexti
Form1.Print"总分";s
EndSub
PrivateSubForm_Load()
Form1.AutoRedraw=True
Form1.Print"加法题,第一次回答正确10分,"
Form1.Print"第二次回答正确5分"
Form1.Print"单击窗体开始"
EndSub
5.编写程序把一个分数化为最简分数。
对一个分数化简,实际是要寻找分子N与分母M的最大公因子。
答案
设计界面如图
程序代码如下
PrivateSubCommand1_Click()
DimmAsInteger,nAsInteger,uAsInteger,vAsInteger
m=Val(Text1.Text)
n=Val(Text2.Text)
Ifm>nThen
u=m:
v=n
Else
v=m:
u=n
EndIf
Do
r=uModv
u=v:
v=r
LoopUntil