




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——vb程序设计教程龚沛曾版课后答案
vb程序设计教程龚沛曾版课后答案
1.对象指现实世界中的实体。每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。类是对同一种对象的集合与抽象。类包含所创立对象的属性数据,以及对这些数据进行操作的方法。封装和隐蔽是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。VB工具箱中的可视图标是VB系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创立了一个控件对象。
VB中常用的对象是控件。此外,VB还提供了系统对象。窗体是个特例,它既是类也是对象。当向一个工程添加一个新窗体时,实质就由窗体类创立了一个窗体对象。
对象的三要素:属性、事件和方法。
属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。
事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应。
事件过程:应用程序处理事件的步骤。应用程序设计的主要工作就是为对象编写事件过程的代码。
方法:面向对象的程序设计语言,为程序设计人员提供了一种特别的过程和函数。方法是面向对象的,调用时一定要指明对象。
2.窗体和控件具有的基本属性“
(1)Name属性:名称
所创立的对象名称,在程序中引用。
(2)Caption属性:标题
该属性决定了对象上显示的内容。
(3)Height、Width、Top和Left属性
决定对象的大小和位置。
(4)Enabled属性:对象是否允许操作
(5)Visible属性:对象是否可见
(6)Font属性组:文本的外观
FontName字体、FontSize大小
FontBold粗体、FontItalic斜体
FontStrikethru删除线
FontUnderline下划线
(7)ForeColor属性:前景颜色
(8)BackColor属性:背景颜色
(9)MousePointer属性:鼠标指针类型,设置值范围0~15,由系统指定。若为99,由用户提供的图形文件定义鼠标指针形状。
(10)MouseIcon属性:在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在Graphics目录下。
3.窗体的事件:Load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件寻常用来在启动应用程序时对属性和变量进行初始化。
窗体的方法:(1)Print方法
用来显示文本内容,格式:[对象.]print表达式
(2)Cls方法
清除运行时在窗体或图形框中产生的文本或图形,Cls方法不能清除窗体在设计时的文本和图形。格式:[对象.]cls
(3)Move方法
vb程序设计教程龚沛曾版课后答案
可移动窗体或控件,并可改变其大小。
语法格式如下:
[对象.]Move左边距离[,上边距离[,宽度[,高度]]]
4.标签作用:用于显示文本(输出)信息,不能作为输入信息的界面。其内容只能通过Caption属性设置或修改,不能直接编辑。
5.文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。
重要属性(1)Text显示或输入的正文内容。
(2)Maxlength设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。
(3)MultiLine多行属性
设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。
(4)ScrollBars滚动条属性
0-None无滚动条
1-Horizontal水平滚动条
2-Vertical垂直滚动条
3-Both同时加水平和垂直滚动条
注意:当MultiLine为True时,ScrollBars才有效
(5)PassWordChar设置显示文本的替代符。例如,当设置为“*〞,则在文本框输入的内容均以“*〞显示,而存储的值是用户输入的原文。一般用于设置口令的输入。
当MultiLine为True时,该属性不起作用,密码不允大量行。
(6)Locked指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。
注意:Locked与Enabled的区别。
(7)文本内容进行选择操作的三个属性
SelStart
SelLength
SelText选定的正文开始位置选定的正文长度选定的正文内容
这3个属性相互关联,例如设置SelStart、SelLength后,SelText自动存放指定的文本。
注意:属性窗口中没有这三个属性,只能在程序代码中使用。
6.文本框的事件:(1)Change事件:当Text属性值发生改变时引发该事件
(2)KeyPress事件:按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中。对回车的判断KeyAscii=13
7.文本框最有用的方法是SetFocus,把光标移到指定的文本框中。
8.命令按钮Picture属性:按钮可显示图片文件(.bmp和.Ico),当Style为1时有效。
10.启动窗体时将命令按钮定位在窗体中央的代码
PrivateSubForm_Load()
Command1.Left=Form1.ScaleWidth/2-Command1.Width/2
Command1.Top=Form1.ScaleHeight/2-Command1.Height/2
EndSub
11.vb图片文件在C:\ProgramFiles\MicrosoftVisualStudio\Common\Graphics文件夹。
安装VB时可选择是否安装这些图片文件。习题三
vb程序设计教程龚沛曾版课后答案
1.合法常量:
(1)Double
(2)错误
(3)Double
(4)Double
(5)错误
(6)Integer
(7)String
(8)String
(9)Date
(10)Double
(11)错误(汉字字符)
(12)Integer(八进制)
(13)错误(八进制无数码8)
(14)Integer
(15)Boolean
(16)错误
(17)错误(十六进制无数码g)
(18)Single
说明:浮点型变量默认为Double类型而非Single。
2.合法变量名:
(1)√
(2)√
(3)误:数字开头
(4)误:含空格
(5)误:关键字
(6)√
(7)误:关键字
(8)误:有括号
(9)√
(10)√
(11)√
(12)√(汉字字符可作为变量名,但不常用,且此名称易误会)
变量命名规则见P.41-42。
字母(汉字)开头,字母(汉字)、数字、下划线组成,长度为1-255个字符;关键字不可作为变量名,但可在变量名中嵌入关键字;不区分大小写。
常量、数组、类型、函数、过程、对象命名规则与此一致。常量名寻常全用大写。
3.写VB表达式
(1)Abs(x+y)+z^5
(2)(1+x*y)^6
(3)(10*x+Sqr(3*y))/(x*y)
(4)(-b+Sqr(b^2-4*a*c))/(2*a)
(5)1/(1/r1+1/r2+1/r3)
(6)Sin(45*3.14159/180)+(Exp(10)+Log(10))/Sqr(x+y+1)
vb程序设计教程龚沛曾版课后答案
4.根据条件写表达式
(1)随机产生大写字母Chr(Int(Rnd*(Asc(L)-Asc(C)+1)+Asc(C)))
(2)[100,200]内的随机数Int(Rnd*101)+100
(3)点(x,y)位于第一或第三象限x0Andy0Orx0Andy0或x*y0
(4)x是5或7的整数倍xMod5=0OrInt(x/7)=x/7
(5)将两位整数x的个位与十位对换x\10+(xMod10)*10
(6)四舍五入取两位小数Round(x,2)
(7)字符变量C是字母字符(不区分大小写)——确凿地说是:字符变量C的第一个字符是字母
C=AAndC=ZOrC=aAndCz
或UCase(C)=AAndUCase(C)=Z
或LCase(C)=aAndLCase(C)=z
(8)字符变量S第5个字符起取6个字符Mid(S,5,6)
(9)10≤x<2010=xAndx20
(10)x,y至少有一个小于zxzOryz
(11)x,y都大于zxzAndyz
5.写表达式的值
(1)188——注意运算的优先级顺序,以及整除运算“\〞的计算
(2)202300——计算100+100时,由于两个操作数类型不同,在可能的状况下自动采用精度较高的类型,即把字符型转换为数值型,100+100得到200;然后进行字符串连接运算200100,再自动将两个数值转换为字符串,得202300。
(3)68.56——在四舍五入函数产生之前,这就是四舍五入的计算方法
(4)876554——先进行字符串的“+〞运算,再转换成数值。在变量名和函数名后可加上类型符,以强调其类型,但不是必需的。
(5)2000-2-29
(6)6
6.Shell函数调用
i=Shell(mspaint.exe,1)'启动画图
i=Shell(C:\ProgramFiles\MicrosoftOffice\OFFICE11\winword.exe,1)'启动Word
说明:“画图〞是Windows本身提供的程序,可以省略路径。
8.答:单精度浮点型
第7,9题答案在教材中找。习题四
第1,3,5,8题答案在教材中找。
2.赋值语句的错误
(1)10x不能做变量名。
上机验证结果:VB将10识别为行号,x=Sin(x)+y是为变量x赋值。故无语法错误。
(2)Sqr函数的参数为负数。
上机验证结果:“无效的过程调用或参数〞
(3)赋值号左边不是变量名。
vb程序设计教程龚沛曾版课后答案
上机验证结果:“缺少子程序、函数或属性〞
(4)除数为0
上机验证结果:“溢出〞。
4.[答案略]
说明:小数位可以使用四舍五入函数Round或输出格式函数Format。例如Round(x,2)和Format(x,“0.00〞)均可使结果只保存两位小数。但假使四舍五入后要进行数值运算,则使用Round函数,例如z=Round(x,2)+Round(y,2)。而Format函数寻常只用于输出格式设置。
6.指出错误
(1)“≥〞应改为“=〞,前者是中文字符,不具有运算功能。
(2)“10x20〞应改为“10xAndx20〞,否则运行结果错误。
7.写条件语句
(1)
DimcAsString
c=InputBox(c=)
IfMid(c,3,1)=CThen
MsgBoxYes
Else
MsgBoxNo
EndIf
(2)
#使用If语句
DimxAsSingle,yAsSingle
x=Val(InputBox(x=))
Ifx20Then
y=x^2+3*x+2
ElseIfx=10Then
y=Sqr(3*x)-2
ElseIfx0Then
y=1/x+Abs(x)
EndIf
Printy=;y
#使用SelectCase语句
DimxAsSingle,yAsSingle
x=Val(InputBox(x=))
SelectCasex
CaseIs20
y=x^2+3*x+2
CaseIs=10
y=Sqr(3*x)-2
CaseIs0
y=1/x+Abs(x)
vb程序设计教程龚沛曾版课后答案
EndSelect
Printy=;y
(3)
#使用If语句
DimxAsSingle,yAsSingle,zAsSingle,MaxAsSingle
x=Val(InputBox(x=))
y=Val(InputBox(y=))
z=Val(InputBox(z=))
Max=x
IfyMaxThenMax=y
IfzMaxThenMax=z
PrintMax=;Max
#使用IIF函数
x=Val(InputBox(x=))
y=Val(InputBox(y=))
z=Val(InputBox(z=))
Max=IIf(xy,x,y)
Max=IIf(zMax,z,Max)
PrintMax=;Max
9.计算循环次数
(1)6
(2)19
(3)0
(4)死循环直至溢出
10.40号语句执行4次;第50号语句执行12次;
执行第90号语句输出的结果是:13,0,2
说明:该程序为嵌套循环,其中外循环由j值变化(1,4,7,10)控制执行4次,当j值为13时终止循环;内循环由k值变化(6,4,2)控制执行3次,当k值为0时终止循环。第40行是外循环的循环体,故执行4次;第50行是内循环的循环体,故执行4*3=12次。
11.可以定一个较大的循环次数,在循环体中根据条件用ExitFor退出。
但这种状况寻常用DoWhile循环控制。
12.编程(并非唯一正确答案)
(1)
DimiAsInteger,sAsInteger
Fori=1To10
s=s+(i+1)*(2*i+1)
Nexti
Prints=;s
(2)
DimiAsInteger,n3AsInteger,n7AsInteger
vb程序设计教程龚沛曾版课后答案
Fori=1To100
IfiMod3=0Thenn3=n3+1
IfInt(i/7)=i/7Thenn7=n7+1
Nexti
Print1-100中3的倍数有;n3;个
Print1-100中7的倍数有;n7;个
(3)
Dims1AsString,s2AsString,iAsInteger
s1=InputBox(InputString)
s2=
Fori=1ToLen(s1)
s2=Mid(s1,i,1)+s2
Nexti
Print原序:;s1
Print反序:;s2
或
Fori=Len(s1)To1Step-1
s2=s2+Mid(s1,i,1)
Nexti
13.输出字符串“10100〞。该程序功能是将十进制数转化为二进制。
说明:要理解该程序需要了解数制转换的计算方法(有兴趣者参看百度百科http://.77/view/1426817.htm)。48是字符0的ASCII码。
14.运行时输出22484
该程序功能是求x和y最大公约数和最小公倍数。
说明:此算法称为“辗转相减法〞。可对循例4.17的辗转相除(辗转求余)法。
15.[50,100]间的20个随机数,求最大值、最小值、平均值。
DimxAsInteger,sumAsInteger,averAsSingle
Dimn%,i%,max%,min%
Randomize
max=50:min=100:n=20
Fori=1Ton
x=Int(Rnd*51+50)
List1.AddItemx
sum=sum+x
IfxmaxThenmax=x
IfxminThenmin=x
Nexti
aver=sum/n
Print最大值:;max,最小值:;min,平均值:;aver习题五
1.指定数组的默认下界OptionBase1
2.合理的数组声明
vb程序设计教程龚沛曾版课后答案
(1)错。定义数组不可用变量(教材99页)。
(2)正确。该数组下标为0-11。
(3)错。VB中数组下标用圆括号。
(4)正确。三维数组三个下标分别为0-1,0-1,0-2,共12个元素。
(5)错误。非动态数组,不可重定义。
(6)错误。动态数组重定义时不可改变数据类型。
(7)正确。二维数组两个下标分别为0-2,0-3,共12个元素。
(8)语法错误,二维数组定义中漏写逗号——可能是印刷错误,加上此逗号则正确。
3.当引用数组元素时下标值小于定义的最小下标,或大于最大下标时,会发生“下标越界〞错误。
4.数组名:a;数组类型:Single(单精度浮点型);维数:二维;
各维的上下界:第一维下界(最小下标)为-1,上界(最大下标)为2,
其次维下界(最小下标)为0,上界(最大下标)为3;
数组的大小:4行4列共16个元素
以矩阵的格式输出二维数组:
Fori=-1To2
Forj=0To3
Printa(i,j);
Nextj
Nexti
或写成更加通用的代码形式:
Fori=LBound(a,1)ToUBound(a,1)
Forj=LBound(a,2)ToUBound(a,2)
PrintTab(j*8);a(i,j);
Nextj
Nexti
6.一维字符数组
Dima(1To20)AsString
PrivateSubCommand1_Click()'(1)随机产生字符串
DimiAsInteger,jAsInteger,nAsInteger,cAsString*1
Randomize
Fori=1To20
a(i)='将第i个元素清空
n=Int(Rnd*10+1)'产生[1,10]的随机数
Forj=1Ton'a(i)中有n个字符
c=Chr(Int(Rnd*26+97))'随机产生字母97是字母a的ASCII码
a(i)=a(i)+c
Nextj
Nexti
EndSub
PrivateSubCommand2_Click()'(2)输出字符串
DimiAsInteger
Fori=1To20
vb程序设计教程龚沛曾版课后答案
PrintTab(((i-1)Mod5)*11);a(i);
IfiMod5=0ThenPrint
Nexti
EndSub
PrivateSubCommand3_Click()'(3)最长的字符串
DimiAsInteger,imaxAsInteger
imax=1
Fori=2To20
IfLen(a(i))Len(a(imax))Then
imax=i
EndIf
Nexti
Print最长的字符串:;a(imax)
EndSub
第7,8题答案在教材中找。
第9题“自定义变量〞含义不明,暂时无法回复。
第5,10题[暂略]
习题六
第1,2,6-8题答案可在教材中找到。
3.指出过程说明中的错误
(1)Sub子过程不应当定义类型
(2)函数与形式参数不应当同名
(3)数组作为形式参数时,应使用传地址方式,不可使用传值(ByVal)
(4)形式参数应当是变量或数组名,不可以是一个数组元素
4.指出调用过程语句的错误
(1)无语法错误,但因形参sum所对应的实参是常量3,故计算结果无法传递给主调程序。
(2)实参变量c与形参sum的类型不一致。
(3)类似于(1),形参sum所对应的实参是表达式a+b,故计算结果无法传递给主调程序。
(4)类似于(1)和(2),形参sum所对应的实参是表达式Sqr(c),故计算结果无法传递给主调程序。另外srq(a)存在语法错误(拼写错)。
(5)与(2)一致,实参c与形参sum的类型不一致。
5.迭代法求平方根
(1)自定义函数的定义及调用
FunctionFSqr1(aAsSingle)AsSingle
Dimx0AsSingle,xAsSingle
x=a
Do
x0=x
x=(x0+a/x0)/2
LoopWhileAbs(x-x0)0.00001
FSqr1=x
EndFunction
PrivateSubCommand1_Click()
vb程序设计教程龚沛曾版课后答案
Dimx!,y!
x=Val(InputBox(x=))
Ifx=0Then
y=FSqr1(x)
Printy
EndIf
EndSub
(2)自定义子过程的定义及调用
SubFSqr2(aAsSingle,xAsSingle)
Dimx0AsSingle
x=a
Do
x0=x
x=(x0+a/x0)/2
LoopWhileAbs(x-x0)0.00001
EndSub
PrivateSubCommand2_Click()
Dimx!,y!
x=Val(InputBox(x=))
Ifx=0Then
CallFSqr2(x,y)
Printy
EndIf
EndSub
(3)递归函数及调用[略]习题七
第1-9题,答案在教材上找;第10,12-14题,略。
1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB3707T 135-2025 大葱三系杂交制种技术规程
- 楚雄州统测数学试卷
- 海南优腾爱科医疗科技有限公司医疗器械研发生产环评报告表
- 运动解剖学试题册答案全套
- 协同推进降碳减污扩绿增长的背景与意义
- 完善基层卫生服务网络建设的策略及实施路径
- 国内外医疗机构水污染物排放现状
- 低空经济发展趋势与前景
- 促进医疗服务的公平性的策略及实施路径
- 四级人力资源管理师-上半人力(四级)《基础知识》黑钻押题4
- 年链家房屋租赁合同范本
- GB/T 41869.4-2024光学和光子学微透镜阵列第4部分:几何特性测试方法
- 食品饮料行业酒类2025年度策略报告:拐点渐近行稳致远
- 2024年下半年信息系统项目管理师真题及答案
- 山东省XX园林绿化公司苗木基地建设项目可行性研究报告
- 2025年河北省职业院校技能大赛高职组(商务数据分析赛项)参考试题库(含答案)
- 秦朝文书课件
- DB32-T 2197-2022 水文自动测报系统数据传输规约
- 2025届高考生物一轮复习新考案-大单元11生物技术与工程微难点5pcr相关问题分析(人教版2019)
- 机床设备质量保证协议(2024版)3篇
- 律师业务档案管理办法-司律通字(1991)153号
评论
0/150
提交评论