vb程序设计教程课后答案_第1页
vb程序设计教程课后答案_第2页
vb程序设计教程课后答案_第3页
vb程序设计教程课后答案_第4页
vb程序设计教程课后答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题一 答案在教材上找。 习题二 1. 对象指现实世界中的实体。每个对象有自己的特征(属性)、行为 (方法)和发生 在该对象上的活动 (事件 )。 类是对同一种对象的集合与抽象。 类包含所创建对象的属性数据, 以及对这些数 据进行操作的方法。 封装和隐藏是类的重要特性, 将数据结构和对数据的操作封 装在一起,类的内部实现细节对用户来说是透明的。 VB 工具箱中的可视图标是 VB 系统设计好的标准控件类。 通过将控件类实例化, 得到真正的控件对象。 在窗体上画一个控件, 就将类转换为对象, 创建了一个控 件对象。 VB 中常用的对象是控件。此外, VB 还提供了系统对象。窗体是个特例,它既 是类

2、也是对象。 当向一个工程添加一个新窗体时, 实质就由窗体类创建了一个窗 体对象。 对象的三要素:属性、事件和方法。 属性:存放对象的数据 (决定对象外观及功能 )对象属性的设置方法: 在设计阶段, 利用属性窗口直接设置属性值; 程序运行时,通过语句 对象名.属性名=属性值。 若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。 事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应。 事件过程: 应用程序处理事件的步骤。 应用程序设计的主要工作就是为对象编写 事件过程的代码。 方法:面向对象的程序设计语言, 为程序设计人员提供了一种特殊的过程和函数。 方法是面向对象的,

3、调用时一定要指明对象。 2. 窗体和控件具有的基本属性 “ (1) Name 属性:名称 所创建的对象名称 ,在程序中引用。 (2) Caption 属性:标题 该属性决定了对象上显示的内容。 (3) Height 、Width 、Top 和 Left 属性 决定对象的大小和位置。 (4) Enabled 属性:对象是否允许操作 (5) Visible 属性:对象是否可见 (6) Font 属性组:文本的外观 FontName 字体、 FontSize 大小 FontBold 粗体、 FontItalic 斜体 FontStrikethru 删除线 FontUnderline 下划线 (7)

4、ForeColor 属性:前景颜色 (8) BackColor 属性:背景颜色 (9) MousePointer属性:鼠标指针类型,设置值范围015,由系统指定, 若为 99,由用户提供的图形文件定义鼠标指针形状。 (10) MouseIcon 属性:在 MousePointer 属性值为 99 时,存放自定义的鼠标图 标文件(.ico或.cur)。图标库在 Graphics目录下。 3. 窗体的事件: Load 事件是在窗体被装入工作区时触发的事件。当应用程序启 动,自动执行该事件, 该事件通常用来在启动应用程序时对属性和变量进行初始 化。 窗体的方法 :( 1) Print 方法 用来显示

5、文本内容,格式:对象.print表达式 ( 2 ) Cls 方法 清除运行时在窗体或图形框中产生的文本或图形,Cis方法不能清除窗体在设 计时的文本和图形。 格式:对象.cls ( 3) Move 方法 可移动窗体或控件,并可改变其大小。 语法格式如下: 对象.Move左边距离,上边距离,宽度,高度 4. 标签作用:用于显示文本 (输出)信息,不能作为输入信息的界面。其内容只能 通过 Caption 属性设置或修改,不能直接编辑。 5. 文本框是一个文本编辑区域, 可以在该区域输入、 编辑、修改和显示正文内容。 在 VB 中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长 度为

6、1。 重要属性 (1) Text 显示或输入的正文内容。 (2) Maxlength 设置文本框可输入的文字最大长度。默认值为 0,表示可以输入 任意长字符串。 (3) MultiLine 多行属性 设置为 True 时,文本框可以输入或显示多行正文,同时具有文字处理器的自动 换行功能,按 Enter 键可插入一空行。 (4) ScrollBars 滚动条属性 0-None无滚动条 1- Horizontal水平滚动条 2- Vertical垂直滚动条 3- Both同时加水平和垂直滚动条 注意:当 MultiLine 为 True 时, ScrollBars 才有效 (5) PassWord

7、Char 设置显示文本的替代符。例如,当设置为 “*,”则在文本框 输入的内容均以 “*显”示,而存储的值是用户输入的原文。 一般用于设置口令的输 入。 当 MultiLine 为 True 时,该属性不起作用,密码不允许多行。 (6) Locked 指定文本控件是否可被编辑,默认值为 False( 可编辑 ),当设置为 True 时,文本控件相当于标签控件的作用。 注意: Locked 与 Enabled 的区别。 (7) 文本内容进行选择操作的三个属性 SelStart选定的正文开始位置 SelLength选定的正文长度 SelText 选定的正文内容 这 3 个属性互相关联 ,例如设置

8、SelStart 、SelLength 后, SelText 自动存放指定 的文本。 注意:属性窗口中没有这三个属性,只能在程序代码中使用。 6. 文本框的事件: (1) Change 事件:当 Text 属性值发生改变时引发该事件 (2) KeyPress 事件:按下并且释放键盘上的一个键时,引发焦点所在控件的 KeyPress 事件,所按键的值存放在参数 KeyAscii 中。对回车的判断 KeyAscii=13 7. 文本框最有用的方法是 SetFocus ,把光标移到指定的文本框中。 8. 命令按钮Picture属性:按钮可显示图片文件(.bmp和.Ico),当Style为1时 有效。

9、 10. 启动窗体时将命令按钮定位在窗体中央的代码 Private Sub Form_Load() Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2 Command1.Top = Form1.ScaleHeight / 2 - Command1.Height / 2 End Sub 11. vb 图片文件在 C:Program FilesMicrosoft Visual StudioCommonGraphics 文件夹。 安装 VB 时可选择是否安装这些图片文件。 习题三 1. 合法常量: (1) Double (2) 错误 (

10、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. 合法变量名: v (3) 误: 数字开头 (4) 误: 含空格 (5) 误: 关键字 (6) V (7) 冷口 误: 关键字 (8)

11、 误: 有括号 (9) V (10) V (11) V (12) V汉字字符可作为变量名,但不常用,且此名称易误解) 变量命名规则见 P.41-42 。 字母(汉字)开头,字母(汉字)、数字、下划线组成,长度为 1-255 个字符; 关键字不可作为变量名,但可在变量名中嵌入关键字;不区分大小写。 常量、数组、类型、函数、过程、对象命名规则与此相同。 常量名通常全用大写。 3. 写 VB 表达式 (1) Abs(x + y) + z A 5 (1 + x * y) a 6 (3) (10 * x + Sqr(3 * y) / (x * y) (4) (-b + Sqr(b A 2 - 4 * a

12、 * 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) 4. 根据条件写表达式 (1) 随机产生大写字母 Chr(Int(Rnd * (Asc(L) - Asc(C) + 1) + Asc(C) (2) 100,200 内的随机数 Int(Rnd * 101) + 100 (3) 点(x,y)位于第一或第三象限x 0 And y 0 Or x 0 And y 0 (4) x 是5或 7的整数倍 x Mod 5 = 0

13、Or Int(x / 7) = x / 7 (5) 将两位整数 x 的个位与十位对换 x 10 + (x Mod 10) * 10 (6) 四舍五入取两位小数 Round(x, 2) (7) 字符变量 C 是字母字符(不区分大小写) 准确地说是:字符变量 C 的 第一个字符是字母 C = A And C = a And C = A And UCase(C) = a And LCase(C) = z (8) 字符变量 S 第 5 个字符起取 6 个字符 Mid(S, 5, 6) (9) 10 W2010 = x And x 20 (10) x , y至少有一个小于zx z Or y z And

14、y z 5. 写表达式的值 (1) 188 注意运算的优先级顺序,以及整除运算 “”的计算 (2) 200100 计算 100 + 100 时,由于两个操作数类型不同, 在可能的 情况下自动采用精度较高的类型,即把字符型转换为数值型, 100 +100 得到 200 ;然后进行字符串连接运算 200 y # 使用 Select Case 语句 Dim x As Single, y As Single x = Val(InputBox(x=) Select Case x Case Is 20 y = x A 2 + 3 * x + 2 Case Is = 10 y = Sqr(3 * x) -

15、2 Case Is 0 y = 1 / x + Abs(x) End Select Print y=; y (3) # 使用 If 语句 Dim x As Single, y As Single, z As Single, Max As Single x = Val(InputBox(x=) y = Val(InputBox(y=) z = Val(InputBox(z=) Max = x If y Max Then Max = y If z Max Then Max = z Print Max=; Max # 使用 IIF 函数 x = Val(InputBox(x=) y = Val(In

16、putBox(y=) z = Val(InputBox(z=) Max = IIf(x y, x, y) Max = IIf(z Max, z, Max) Print Max=; 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

17、行是外循环的循环体,故执行 4 次;第 50 行是内 循环的循环体,故执行 4*3=12 次。 11. 可以定一个较大的循环次数,在循环体中根据条件用 Exit For 退出 但这种情况通常用 Do While 循环控制。 12. 编程(并非唯一正确答案) (1) Dim i As Integer, s As Integer For i = 1 To 10 s = s + (i + 1) * (2 * i + 1) Next i Print s=; s (2) Dim i As Integer, n3 As Integer, n7 As Integer For i = 1 To 100 If

18、i Mod 3 = 0 Then n3 = n3 + 1 If Int(i / 7) = i / 7 Then n7 = n7 + 1 Next i Print 1-100 中 3 的倍数有; n3; 个 Print 1-100 中 7 的倍数有; n7; 个 3) Dim s1 As String, s2 As String, i As Integer s1 = InputBox(Input String) s2 = For i = 1 To Len(s1) s2 = Mid(s1, i, 1) + s2 Next i Print 原序: ; s1 Print 反序: ; s2 或 For

19、i = Len(s1) To 1 Step -1 s2 = s2 + Mid(s1, i, 1) Next i 13. 输出字符串 “ 10100。”该程序功能是将十进制数转化为二进制。 说明:要理解该程序需要了解数制转换的计算方法(有兴趣者参看百度百科 http:/ )。48 是字符 0的 ASCII 码。 14. 运行时输出 22 484 该程序功能是求 x 和 y 最大公约数和最小公倍数。 说明:此算法称为 “辗转相减法 ”。可对照例 4.17 的辗转相除(辗转求余)法 1550,100 间的 20 个随机数,求最大值、最小值、平均值。 Dim x As Integer, sum As

20、Integer, aver As Single Dim n%, i%, max%, min% Randomize max = 50: min = 100: n = 20 For i = 1 To n x = Int(Rnd * 51 + 50) List1.AddItem x sum = sum + x If x max Then max = x If x Len(a(imax) Then imax = i End If Next i Print 最长的字符串: ; a(imax) End Sub 第 7 , 8 题答案在教材中找 第 9 题“自定义变量 ”含义不明,暂时无法回答 第 5,10

21、 题 暂略 习题六 第 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 )和

22、(2 ),形参 sum 所对应的实参是表达式 Sqr(c) ,故计算结 果无法传递给主调程序。另外 srq(a) 存在语法错误(拼写错)。 (5)与(2)相同,实参c与形参sum的类型不一致。 5迭代法求平方根 ( 1 )自定义函数的定义及调用 Function FSqr1(a As Single) As Single Dim x0 As Single, x As Single x = a Do x0 = x x = (x0 + a / x0) / 2 Loop While Abs(x - x0) 0.00001 FSqr1 = x End Function Private Sub Comma

23、nd1_Click() Dim x!, y! x = Val(InputBox(x=) If x = 0 Then y = FSqr1(x) Print y End If End Sub ( 2)自定义子过程的定义及调用 Sub FSqr2(a As Single, x As Single) Dim x0 As Single x = a Do x0 = x x = (x0 + a / x0) / 2 Loop While Abs(x - x0) 0.00001 End Sub Private Sub Command2_Click() Dim x!, y! x = Val(InputBox(x=

24、) If x = 0 Then Call FSqr2(x, y) Print y End If End Sub ( 3)递归函数及调用 略 习题七 第 1-9 题,答案在教材上找;第 10, 12-14 题,略。 11 检测 Ctrl 和 F3 同时按下的代码: Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If Shift = 2 And KeyCode = 114 Then MsgBox HAHA End Sub 习题八 第 1 , 2 , 6 , 7 , 9 题答案可阅读教材找到。 3写 Open 语句 ( 1) Open Seqnew.dat For Output As #1重写 或 Open

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论