VisualBasic程序设计实验指导 与习题解答 ·...

60
普通高等教育十二五重点规划教材·计算机系列 中国科学院教材建设专家委员会十二五规划教材 VisualBasic 序设计实验指导 与习题解答 段昌敏 副主编 科学出版社 职教技术出版中心 www.abook.cn

Transcript of VisualBasic程序设计实验指导 与习题解答 ·...

Page 1: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

普通高等教育“十二五”重点规划教材·计算机系列

中国科学院教材建设专家委员会“十二五”规划教材

VisualBasic程序设计实验指导

与习题解答

段昌敏 主 编

涂 祥 副主编

北 京

学出版社

职教技术出版中心

www.abook.cn

Page 2: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

内 容 简 介

本书是根据教育部高等学校计算机科学与技术教学指导委员会关于“计算机程序设计基础课程教学基本要求”编写而成的,是与《VisualBasic程序设计》(段昌敏主编,科学出版社)配套的实训教材。为配合主教材的章

节顺序和知识点,本书的第一部分包含13个配套实验,实验内容具有很强

的代表性,能够体现出所在章节的重点和难点;第二部分根据大量教学实例

并结合历年“全国计算机等级考试”试题以及模拟试题,精心挑选和编辑了

练习题,题目涵盖各种典型操作和算法,实训性强、综合性强、代表性强;第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程

序设计》课后习题的参考答案。本书可作为高等院校非计算机专业“VisualBasic程序设计”课程的实

验教材,也可供相关工程技术人员和计算机爱好者学习使用。

图书在版编目(CIP)数据

VisualBasic程序设计实验指导与习题解答/段昌敏主编.—北京:科学出版社,2012 (普通高等教育“十二五”重点规划教材·计算机系列 中国科学院教材建设专家委员会“十二五”规划教材) ISBN978-7-03-036306-0

Ⅰ.①V… Ⅱ.①段… Ⅲ.①BASIC语言-程序设计-高等学校-教学参考资料 Ⅳ.①TP312

中国版本图书馆CIP数据核字(2012)第309155号

责任编辑:戴 薇 刘文军/责任校对:刘玉靖

加工编辑:张 静/版式设计:科地亚盟

责任印制:吕春珉/封面设计:科地亚盟

印刷

科学出版社发行 各地新华书店经销

* 2013年7月第 一 版 开本:787×10921/16

2013年7月第一次印刷 印张:113/4字数:267000

定价:23.00元

(如有印装质量问题,我社负责调换< >)销售部电话010-62134988 编辑部电话010-62135763-2003

版权所有,侵权必究

举报电话:010-64030229;010-64034315;13501151303

Page 3: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

教育部高等学校计算机科学与技术教学指导委员会在提出高等学校3个层次的计算

机课程体系结构(“计算机文化基础”、“计算机技术基础”、“计算机应用基础”)的基础上,又提出了“计算机模块化”的教育体系。对于非计算机专业的学生来说,学习高级语言程

序设计,掌握一门面向对象的程序设计方法是非常必要的。学习和掌握计算机程序设计的最重要的一个环节就是实践,理论课程的学习必须通

过上机实训以检测和验证程序设计的准确性和差错率。只有这样,才能够加深理解程序

设计的精髓和思想,才能够把VisualBasic程序设计学习好。全书分为3部分,第一部分根据《VisualBasic程序设计》编写了相关的13个实验。

每一个实验都包括实验目的、实验内容,进行了科学的安排,紧扣教材的内容,并体现出相

关内容的重点和难点,从而达到实训的目的。实验内容包括VisualBasic6.0环境和程序

设计、VisualBasic简单程序设计、顺序结构/选择结构程序设计、循环结构程序设计、数组

的定义、数组的高级应用、子过程和函数的定义、参数传递、过程与变量的作用域、常用内

部控件的使用、图形的制作、界面设计以及文件管理等。有些实验配有思考题,大多数是

以本实验为核心,进行思维拓展的训练。第二部分是编者根据多年来的教学实例,并结合历年“全国计算机等级考试二级

VisualBasic语言程序设计”试题以及模拟试题,精心挑选和编写而成的练习题,题目包含

各种典型操作和算法,实训性强、综合性强、代表性强。第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》

课后习题的参考答案。本书由段昌敏策划、统稿并担任主编,由涂祥担任副主编。由于编者水平有限,书中难免存在不足或者疏漏之处,恳请读者批评指正!

段昌敏

2012年10月

学出版社

职教技术出版中心

www.abook.cn

Page 4: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

前言

第一部分 实验指导 1…………………………………………………………………………

实验1 集成开发环境和程序设计入门 2………………………………………………

实验2 简单程序设计 4…………………………………………………………………

实验3 顺序结构-选择结构程序设计 9………………………………………………

实验4 循环结构程序设计(一) 12……………………………………………………

实验5 循环结构程序设计(二) 16……………………………………………………

实验6 数组的定义 19…………………………………………………………………

实验7 数组的高级应用 26……………………………………………………………

实验8 子过程和函数的定义 28………………………………………………………

实验9 参数传递、过程与变量的作用域 32……………………………………………

实验10 常用内部控件的使用 37………………………………………………………

实验11 图形的制作 42…………………………………………………………………

实验12 界面设计 46……………………………………………………………………

实验13 文件管理 52……………………………………………………………………

第二部分 习题训练 57………………………………………………………………………

第1章 VisualBasic概述 58……………………………………………………………

第2章 面向对象程序设计基础 61……………………………………………………

第3章 VisualBasic程序设计基础 64…………………………………………………

第4章 VisualBasic控制结构 72………………………………………………………

第5章 数组及应用 84…………………………………………………………………

第6章 过程 97…………………………………………………………………………

第7章 常用控件及对象 117……………………………………………………………

第8章 图形操作 136……………………………………………………………………

第9章 可视化界面程序设计 138………………………………………………………

第10章 文件 140………………………………………………………………………

第11章 VisualBasic与数据库 145……………………………………………………

第三部分 参考答案 148………………………………………………………………………

习题参考答案 149…………………………………………………………………………

《VisualBasic程序设计》课后习题参考答案 155………………………………………

参考文献 181……………………………………………………………………………………

Page 5: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分

实 验 指 导

学出版社

职教技术出版中心

www.abook.cn

Page 6: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

2

实验1 集成开发环境和程序设计入门

一、 实验目的

1)掌握VisualBasic6.0启动和退出的方法。

2)熟悉VisualBasic6.0的集成开发环境。

3)掌握VisualBasic6.0程序设计的基本步骤。

4)掌握基本控件(窗体、标签、命令按钮和文本框)的基本使用方法。

二、 实验内容

【实验1-1】 认识VisualBasic6.0集成开发环境

启动VisualBasic6.0,创建一个“标准EXE”工程。了解VisualBasic6.0集成开发

环境下各组成部分及其作用。

1)在VisualBasic6.0集成开发环境中分别寻找“对象”窗口、“属性”窗口、工程资源

管理器、“窗体布局”窗口、“工具箱”窗口,熟悉它们的默认位置。

2)通过在“视图”菜单或工程资源管理器中切换显示代码窗口和“窗体”窗口。

3)在“视图”菜单中选择“立即窗口”命令,观察刚刚显示的“立即”窗口。

4)分别将各部分关闭,然后在“视图”菜单中选择对应的命令将其显示。

【实验1-2】 简单的程序设计

编写一个简单的应用程序。要求窗体的标题为“简单VB实验”,窗体中有一个标题

为“显示”的按钮,单击该按钮后在窗体上显示红色文字“湖北民族学院”。

1.界面设计

在窗体中创建1个命令按钮、1个标签,如图1-1所示。

图1-1 实验1-2窗体界面设计

2.属性设置

窗体中各个对象的属性按照表1-1进行设置。

Page 7: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 3

表1-1 属性设置

对象名称 属性名称 属性值

Form1 Caption 简单VB实验

Label1 ForeColor 红色

Command1 Caption 显 示

图1-2 实验1-2程序运行结果

3.程序代码

Private Sub Command1_Click( )

Label1.Caption="湖北民族学院"

End Sub

4.运行程序

运行程序后,单击“显示”命令按钮,结果

如图1-2所示。

5.存盘

以“学号+VB1”为文件名对工程和窗体

进行存盘。思考:

为什么以上两种方法中在颜色的设置上有所不同?

【实验1-3】 控件属性应用

通过编程修改控件的属性。

1.界面设计

在窗体中创建1个标签、1个命令按钮。初始设计界面如图1-3所示。

图1-3 实验1-3窗体界面设计

2.属性设置

窗体中各个对象的属性按照表1-2进行设置。

表1-2 属性设置

对象名称 属性名称 属性值

Form1 Caption 设计界面

Label1 Caption 欢迎使用VB6.0

Command1 Caption 单击此处

学出版社

职教技术出版中心

www.abook.cn

Page 8: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

4

3.程序代码

Private Sub Command1_Click( )

Form1.Caption="编程后界面"

Label1.Caption="第一个 VB 程序"

Command1.Caption="运行结果"

End Sub

图1-4 实验1-3程序运行结果

运行程序后,单击“单击此处”命令按钮,结果如图1-4所示。

4.存盘

以“学号+VB2”为文件名对工程和窗体

进行存盘。提示:

可 以 通 过 以 下 两 种 方 法 设 置 对 象 的

属性。

1)在设计模式下,通过属性窗口对该属

性进行修改或设置。

2)在运行模式下,通过程序语句动态地更改对象的属性。修改对象属性的语句格式如下。对象名.属性名称=新设置属性值

实验2 简单程序设计

一、 实验目的

1)掌握常量和变量、表达式的基本概念和正确书写格式。

2)掌握赋值语句和常用函数的正确使用方法。

3)掌握输入、输出对话框(InputBox和 MsgBox)的基本使用方法。

二、 实验内容

【实验2-1】 随机数的应用

编写程序,使得单击一次按钮可以产生一个[60,90]之间的随机数并显示在标签

Label1上,并求出该数的正弦值,将结果写在标签Label2上。

1.界面设计

在窗体中创建1个命令按钮、2个标签。

2.属性设置

窗体中各个对象的属性按照表2-1进行设置。

Page 9: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 5

表2-1 属性设置

对象名称 属性名称 属性值

Form1 Caption 随机数的正弦值

Command1 Caption 下一个随机数

Label1 CaptionLabel2 Caption

3.程序代码

Private Sub Command1_Click( )

Dim x!, y!

Randomize

x=Rnd*31+60

y=Sin(x)

Label1.Caption="随机数(60-90):" & Str(x)

Label2.Caption= "正弦值:" & Str(y)

End Sub

4.运行程序

运行程序,结果如图2-1所示。

图2-1 实验2-1程序运行界面

5.存盘

以“学号+随机数”为文件名对工程和窗体进行存盘。思考:

怎样产生一个[60,90]之间的随机数?

【实验2-2】 温度转换

编写一个华氏温度(F)与摄氏温度(C)之间转换的应用程序,其中F与C之间的关系

为F=9/5C+32。

1.界面设计

在窗体中创建2个命令按钮、2个标签、2个文本框。

学出版社

职教技术出版中心

www.abook.cn

Page 10: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

6

2.属性设置

窗体中各个对象的属性按照表2-2进行设置。

表2-2 属性设置

对象名称 属性名称 属性值

Form1 Caption 温度转换

Command1 Caption ≫

Command2 Caption ≪

Label1 Caption 华氏温度

Label2 Caption 摄氏温度

Text1 Text

Text2 Text

3.程序代码

Private Sub Command1_Click( )

Dim f! , c!

f=Val(Text1.Text)

c=(f-32)*5/9

Text2=Str(c)

End Sub

Private Sub Command2_Click( )

Dim f! , c!

c=Val(Text2.Text)

f=9 / 5*c+32

Text1 = Str(f)

End Sub

4.运行程序

运行程序,结果如图2-2所示。

图2-2 实验2-2程序运行界面

5.存盘

以“学号+温度”为文件名对工程和窗体进行存盘。

【实验2-3】 圆的计算

求圆的面积及圆柱体的体积。

Page 11: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 7

1.界面设计

在窗体中创建2个命令按钮、4个标签和4个文本框。

2.属性设置

窗体中各个对象的属性按照表2-3进行设置。

表2-3 属性设置

对象名称 属性名称 属性值

Command1 Caption 求圆的面积

Command2 Caption 求圆柱的体积

Label1 Caption 圆的半径

Label2 Caption 圆柱的高

Label3 Caption 圆的面积

Label4 Caption 圆柱的体积

Text1、Text2、Text3、Text4 Text

3.程序代码

Private Sub Command1_Click( )

Dim r As Single, s As Single

r=Val(Text1.Text)

s=3.14159*r*r

Text3.Text=Str(s)

End Sub

Private Sub Command2_Click( )

Dim r!, h!, v!

r=Val(Text1.Text)

h=Val(Text2)

v=3.14159*r*r*h

Text4=v

End Sub

4.运行程序

运行程序,结果如图2-3所示。

图2-3 实验2-3程序运行界面

学出版社

职教技术出版中心

www.abook.cn

Page 12: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

8

5.存盘

以“学号+圆”为文件名对工程和窗体进行存盘。

【实验2-4】 收费系统

编写一个简单的网吧收费系统。根据不同的上机时间x,上机费用y可以按以下公

式计算收费:

y=

2x x<32×0.9x 3≤x<52×0.8x 5≤x<102×0.75x 10≤

ì

î

í

ïïï

ïï

x1.界面设计

在窗体中创建1个命令按钮、2个标签和2个文本框。

2.属性设置

窗体中各个对象的属性按照表2-4进行设置。

表2-4 属性设置

对象名称 属性名称 属性值

Command1 Caption 计费

Label1 Caption 上机时间

Label2 Caption 上机费用

Text1、Text2 Text

3.程序代码

Private Sub Command1_Click( )

Dim x!, y!

x=Val(Text1)

IF x<3 Then

y=2*x

ElseIF x<5 Then

y=2*0.9*x

ElseIF x<10 Then

y=2*0.8*x

Else

y=2*0.75*x

End IF

Text2=Str(y)

End Sub

4.运行程序

运行程序,结果如图2-4所示。

Page 13: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 9

图2-4 程序界面

5.存盘

以“学号+收费系统”为文件名对工程和窗体进行存盘。

实验3 顺序结构-选择结构程序设计

一、 实验目的

1)掌握顺序结构程序设计的一般方法。

2)掌握选择结构程序设计的一般方法。

3)掌握赋值语句的使用。

二、 实验内容

【实验3-1】 顺序结构的应用

输入一个圆的半径,计算它的面积。

1.界面设计

在窗体中创建3个标签、1个文本框和1个命令按钮。初始界面如图3-1所示。

图3-1 实验3-1窗体界面设计

2.属性设置

窗体中各个对象的属性按照表3-1进行设置。

学出版社

职教技术出版中心

www.abook.cn

Page 14: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

10

表3-1 属性设置

对象 属性 属性值

Label1 Caption 请输入半径r:

Label2 Caption 圆的面积S为:

Label3CaptionBorderStyle 1-FixedSingle

Text1 TextCommand1 Caption 计算圆的面积

3.程序代码

Private Sub Command1_Click( )

Dim r As Single, area As Single

r=Text1.Text

area=3.14*r*r

Label3.Caption=area

End Sub

4.运行程序

运行程序后,在文本框中输入圆的半径,然后单击“计算圆的面积”按钮,即可在标签中

图3-2 实验3-1程序运行结果

输出圆的面积。程序运行结果如图3-2所示。

5.存盘

以“学号+面积”为文件名对工程和窗体

进行存盘。思考:

1)如何将求出的面积值在新建的文本框

中显示?

2)如果给定另一个参数———高,则应在

窗体中应如何设计对象? 如何求出对应参数

的圆锥体的体积?

【实验3-2】 选择结构的应用

税务部门征收个人所得税,规定如下。

图3-3 实验3-2窗体界面设计

1)个人收入≤3000元,免税。

2)3000元<个人收入≤5000元,按2%纳税。

3)个人收入>5000元,5000元按2%纳

税,超过5000元的部分按5%纳税。编程实现上述操作。

1.界面设计

在窗体中创建1个标签、1个文本框和2个命令按钮。初始界面如图3-3所示。

Page 15: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 11

2.属性设置

窗体中各个对象的属性按照表3-2进行设置。

表3-2 属性设置

对象 属性 属性值

Label1 Caption 请输入个人收入:

Text1 Text

Command1 Caption 计算个税

Command2 Caption 退 出

3.程序代码

方法一:Private Sub Command1_Click( )

Dim m As Single,Dim r As Single

m=InputBox( "输入金额" )

IF m<=3000 Then

r=0

ElseIF m<=5000 Then

r=m*0.02

Else

r=5000*0.02+( m-5000 )*0.05

End IF

Print "应缴纳个人所得税:" ; r ; "元"

End Sub

Private Sub Command2_Click( )

End

End Sub

方法二:Private Sub Command1_Click( )

Dim m As Single , Dim r As Single

m=InputBox( "输入金额" )

Select Case money

Case Is <=3000

r=0

Case Is>5000

r=5000*0.02+(money-5000)*0.05

Case Else

r=m*0.02

End Select

Print "应缴纳个人所得税:" ; r ; "元"

End Sub

学出版社

职教技术出版中心

www.abook.cn

Page 16: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

12

Private Sub Command2_Click( )

End

End Sub

4.运行程序

运行程序后,在文本框中输入个人收入,然后单击“计算个税”命令按钮,就会在标签

中输出应该缴纳的个人所得税。程序运行结果如图3-4所示。

图3-4 实验3-2程序运行结果

实验4 循环结构程序设计(一)

一、 实验目的

1)掌握循环结构的书写格式。

2)掌握For…Next循环结构程序设计方法。

3)掌握Do…While循环结构程序设计方法。

4)掌握循环的控制,防止无限循环。

二、 实验内容

【实验4-1】 For…Next循环结构基本应用

求1~100间所有奇数之和。

1.界面设计

在窗体中创建1个标签、1个文本框和1个命令按钮。初始界面如图4-1所示。

图4-1 实验4-1窗体界面设计

Page 17: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 13

2.属性设置

窗体中各个对象的属性按照表4-1进行设置。

表4-1 属性设置

对象 属性 属性值

Label1 Caption 1~100间所有奇数之和:

Text1 Text

Command1 Caption 计 算

3.程序代码

Private Sub Command1_Click( )

For i=1 To 100 Step 2

s=s+i

Next i

Text1.Text=s

End Sub

4.运行程序

运行程序,单击“计算”命令按钮,将在文本框中输出相应的结果,如图4-2所示。

图4-2 实验4-1程序运行结果

5.存盘

以“学号+奇数和”为文件名对工程和窗体进行存盘。

思考:

1)在步长为默认值的情况下,如何求出正确结果?

2)如何求1~100间所有偶数之和?

【实验4-2】 For…Next循环结构高级应用

编程计算S=1+22+333+4444+…+n…n,其中n≤9。

1.界面设计

在窗体中创建1个标签、1个文本框和1个命令按钮。初始界面如图4-3所示。

2.属性设置

窗体中各个对象的属性按照表4-2进行设置。

学出版社

职教技术出版中心

www.abook.cn

Page 18: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

14

图4-3 实验4-2窗体界面设计

表4-2 属性设置

对象 属性 属性值

Label1 Caption 1+22+333+4444+…+n…n=:

Text1 Text

Command1 Caption 计 算

3.程序代码

Private Sub Command1_Click( )

Dim s As Long , t As Long

s= 1

For n=1 to 9

t=0

For i = 1 to n

t=t*10+n

Next i

s=s+t

Next n

Text1.Text=s

End Sub

4.运行程序

运行程序,单击“计算”命令按钮,将在文本框中输出相应的结果,如图4-4所示。

图4-4 实验4-2程序运行结果

5.存盘

以“学号+数列和”为文件名对工程和窗体进行存盘。

Page 19: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 15

【实验4-3】 Do…While循环结构应用

编程实现:目前世界人口约为65亿,如果以每年1.358%的速度增长,那么多少年后

世界人口达到或超过80亿?

1.程序代码

Private Sub Form_Click( )

Dim p As Double

Dim r As Single

p=6500000000#

r=0.01358

n=0

Do While p<8000000000#

p=p*( 1+r )

n=n+1

Loop

Debug.Print n ; "年后," ; "世界人口达" ; p

End Sub

运行程序后,单击窗体,在“立即”窗口输出结果为:16 年后,世界人口达 8065696496.49987

2.存盘

以“学号+人口”为文件名对工程和窗体进行存盘。

【实验4-4】 Exit的应用

编程求自然数的和,当和超过50000时结束计算,输出总和、所加的最后一个数以及

循环次数。程序代码如下。Private Sub Form_Click( )

Dim s As Long

For i =1 To 100000

n=n+1

s=s+i

IF s>50000 Then

Exit For

End IF

Debug.Print "所加总和为:s=" ; s

Debug.Print "所加的最后一个数为: " ; i

Debug.Print " 循环次数为: " ; n

Next i

End Sub

运行程序后,单击窗体,在“立即”窗口输出结果为:

学出版社

职教技术出版中心

www.abook.cn

Page 20: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

16

所加总和为:s= 50086

所加的最后一个数为: 316

循环次数为: 316

实验5 循环结构程序设计(二)

一、 实验目的

1)在循环结构中使用各种函数。

2)掌握循环结构的嵌套应用。

二、 实验内容

【实验5-1】 求完数

求1~1000之间的所有完数和。所谓完数是指能被该数整除的所有数(不包括该数

本身)的和正好等于该数,如28=1+2+4+7+14,28即是完数。

1.界面设计

在窗体中创建2个标签、2个文本框和2个命令按钮。初始界面如图5-1所示。

图5-1 实验5-1窗体界面设计

2.属性设置

窗体中各个对象的属性按照表5-1进行设置。

表5-1 属性设置

对象 属性 属性值

Label1 Caption 所有的完数和为:

Label2 Caption 各个完数分别为:

Text1 TextText2 Text

Command1 Caption 计 算

Command1 Caption 退 出

3.程序代码

Private Sub Command1_Click( )

Page 21: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 17

For i=1 To 1000

s=0

For j=1 To i/2

IF I Mod j=0 Then

s=s+j

End IF

Next j

IF i=s Then

Text1.Text=Text1.Text+" " +Str( s )

s1=s1+s

End IF

Next i

Text2=s1

End Sub

Private Sub Command2_Click( )

End

End Sub

4.运行程序

运行程序,单击“计算”按钮,将在文本框中输出相应的结果,如图5-2所示。

图5-2 实验5-1程序运行结果

5.存盘

以“学号+完数”为文件名对工程和窗体进行存盘。思考:

如完数之类的特殊数列,包括奇数、偶数、素数、水仙花数等,如何利用循环程序设计

实现数列的找寻?

【实验5-2】 找零

编程实现:将一张面值为100元的人民币等值换成若干张5元、1元和0.5元的零

钞,要求每种零钞不少于1张,一共100张,问有哪几种组合?

学出版社

职教技术出版中心

www.abook.cn

Page 22: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

18

1.程序代码

Private Sub Form_Click( )

Print "5 元 1 元 0.5 元"

For i=1 To 20

For j=1 To 100-i

k=100-i-j

IF 5*i+1*j+0.5*k=100 Then

Print I, j, k

End IF

Next j

Next i

End Sub

2.运行程序

运行程序,结果如图5-3所示。

图5-3 实验5-2程序运行结果

3.存盘

以“学号+找零”为文件名对工程和窗体进行存盘。

【实验5-3】 求素数

利用For…Next循环和 While…Wend循环的嵌套求3位数的素数。

注意:

所谓3位数的素数就是指包含在100~999之间的素数。

1.程序代码

Private Sub Form_Click( )

For n=100 To 999

k=Int( Sqr( n ) )

i=2

swit=0

While i<=k And swit=0

IF n Mod i=0 Then

Page 23: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 19

swit=1

Else

i=i+1

End IF

Wend

IF swit=0 Then

d=d+1

IF d Mod 5=0 Then

Print n ; " " ;

Print

Else

Print n ; " " ;

End IF

End IF

Next n

End Sub

2.运行程序

运行程序,结果如图5-4所示。

图5-4 实验5-3程序运行结果

3.存盘

以“学号+素数1”为文件名对工程和窗体进行存盘。

实验6 数组的定义

一、 实验目的

1)掌握数组的基本概念。

2)掌握数组的声明和引用。

学出版社

职教技术出版中心

www.abook.cn

Page 24: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

20

3)掌握一维、二维数组的定义和引用。

4)掌握矩阵的表示方法以及操作方法。

5)对比一维数组和二维数组。

6)进一步熟悉数组的基本操作,特别是LBound和UBound等函数的使用。

二、 实验内容

【实验6-1】 数组的定义

1.界面设计

在窗体中创建2个命令按钮,标题名称分别为“数组元素赋值”和“数组元素输出”,如图6-1所示。要求通过单击命令按钮以实现数组元素的赋值和数组元素的输出。

图6-1 实验6-1窗体界面设计

2.属性设置

窗体中各个对象的属性按照表6-1进行设置。

表6-1 属性设置

对象名称 属性名称 属性值

Command1 Caption 数组元素赋值

Command2 Caption 数组元素输出

3.程序代码

Dim a( 1 To 5 ) As Integer '定义一个大小为 5 的整型数组

'赋值命令按钮事件过程代码

Private Sub Command1_Click( )

For i=1 To 5

a(i)=Int(InputBox("请给第" & i & "个数组元素赋值: ") )

Next i

End Sub

'显示数组元素命令按钮事件过程代码

Private Sub Command2_Click( )

For i=1 To 5

Print "第" & i & "个数组元素是:";a(i)

Page 25: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 21

Next i

End Sub

4.运行程序

运行程序后,单击“数组元素赋值”命令按钮,为数组的每个元素赋值,然后单击“数组

图6-2 实验6-1程序运行结果

元素输出”命令按钮,结果如图6-2所示。

5.存盘

以“学号+数组”为文件名对工程和窗体进

行存盘。思考:

1)如何改变数组元素的定义格式,以使用

不同个数的数组元素?

2)如何改变对数组元素的赋值方法?

3)如何处理数组元素的定义个数与数组元素的应用个数之间的多少问题?

【实验6-2】 数组的应用

1.界面设计

在窗体中创建3个命令按钮,在程序代码中定义3个3行4列的二维数组,要求单击

图6-3 实验6-2窗体设计界面

“第一矩阵”和“第二矩阵”命令按钮时,可分别

在窗体中显示第一个和第二个数组元素的值,数组元素的值通过键盘输入。通过单击“求和”命令按钮将在窗体中显示前面两个数组元素对

应元素的和。初始界面如图6-3所示。

2.属性设置

窗体中各个对象的属性按照表6-2进行

设置。

表6-2 属性设置

对象名称 属性名称 属性值

Command1 Caption 第一矩阵

Command2 Caption 第二矩阵

Command3 Caption 求 和

3.程序代码

Dim a(3, 4) As Integer

Dim b(3, 4) As Integer

Dim c(3, 4) As Integer

'第一矩阵数组元素赋值事件过程

Private Sub Command1_Click( )

Print "第一矩阵为: "

For i=1 To 3

学出版社

职教技术出版中心

www.abook.cn

Page 26: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

22

For j=1 To 4

a( i , j )=InputBox("请给位于第"& i & "行"& j & "列的数组元素赋值:")

Print a( i , j );

Next j

Print

Next i

End Sub

'第二矩阵数组元素赋值事件过程

Private Sub Command2_Click( )

Print "第二矩阵为: "

For i=1 To 3

For j=1 To 4

b( i , j )=InputBox("请给位于第" & i & "行" & j & "列的数组元素赋值:")

Print b( i , j );

Next j

Print

Next i

End Sub

'第三矩阵数组元素赋值事件过程

Private Sub Command3_Click( )

Print "第三矩阵为:"

For i=1 To 3

For j=1 To 4

c( i , j )=a( i , j )+b( i , j )

Print c( i , j );

Next j

Print

Next i

End Sub

4.运行程序

运行程序后,单击“第一矩阵”命令按钮产生矩阵A,单击“第二矩阵”命令按钮产生矩

图6-4 实验6-2程序运行结果

阵B,最后单击“求和”命令按钮,将产生前面

两个矩阵之和,即第三矩阵C,结果如图6-4所示。

5.存盘

以“学号+矩阵”为文件名对工程和窗体

进行存盘。思考:

1)过程中如何定义二维数组?

2)过程中如何定义二维数组元素的输出

格式?

Page 27: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 23

3)如何正确选择一维数组与二维数组?

【实验6-3】 矩阵的应用

利用随机数(假设范围为10~100)产生一个4行4列的矩阵A,根据需求设计控件,并完成如下要求。

1)求矩阵的两对角线元素之和。

2)求矩阵的最大值和其下标。

3)分别输出矩阵的上三角和下三角元素。

4)将矩阵的第1行元素与第4行元素交换位置,即第1行变为第4行,第4行变为第

1行。

5)将矩阵的两对角线元素均设为1,其余均设为0。

6)保存。以学号为文件名对工程和窗体进行存盘。相关参考程序如下。Option Base 1

Dim a(4, 4)

'窗体载入初始化数组

Private Sub Form_Load( )

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

a( i , j )=Int(91*Rnd)+10

Next j

Next i

End Sub

'显示原始矩阵

Private Sub Command1_Click( )

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

a( i , j)=Int(91*Rnd)+10

Next j

Next i

Picture1.Cls

Picture1.Print "原始矩阵为:"

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

Picture1.Print Tab( (j-1)*4+1); a( i , j );

Next j

Picture1.Print

Next i

End Sub

'对角线之和

学出版社

职教技术出版中心

www.abook.cn

Page 28: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

24

Private Sub Command2_Click( )

Dim s1, s2 's1 记录左对角线之和,s2 记录右对角线之和

s1=0: s2=0

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

IF i=j Then s1=s1+a( i , j )

IF i=5-j Then s2=s2+a( i , j )

Next j

Next i

Picture2.Cls

Picture2.Print "左对角线之和: "; s1

Picture2.Print "右对角线之和: "; s2

End Sub

'求最大值

Private Sub Command3_Click( )

Dim max, d1, d2 'max 记录最大值,d1 记录第 1 维下标,d2 记录第 2 维下标

max=a(1, 1)

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

IF a( i , j)>max Then

max=a( i , j)

d1=i

d2=j

End IF

Next j

Next i

Picture3.Cls

Picture3.Print "矩阵最大值为: " ; max

Picture3.Print "其位置(下标)为: 第" ; d1; "行,第" ; d2;"列"

End Sub

'上三角元素

Private Sub Command4_Click( )

Picture4.Cls

Picture4.Print "上三角矩阵为:"

For i=LBound( a , 1) To UBound( a , 1)

For j=i To UBound( a , 2)

Picture4.Print Tab((j-1)*4+1); a( i , j);

Next j

Picture4.Print

Next i

End Sub

'下三角元素

Page 29: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 25

Private Sub Command5_Click( )

Picture5.Cls

Picture5.Print "下三角矩阵为:"

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To i

Picture5.Print a( i , j);

Next j

Picture5.Print

Next i

End Sub

'第 1 行和第 4 行交换位置

Private Sub Command6_Click( )

For j=LBound( a , 2) To UBound( a , 2)

tmp=a( 1 , j)

a( 1 , j)=a( 4 , j)

a( 4 , j)=tmp

Next j

Picture6.Cls

Picture6.Print "交换位置后的矩阵为:"

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

Picture6.Print Tab( (j-1)*4+1); a( i , j);

Next j

Picture6.Print

Next i

End Sub

'置数操作

Private Sub Command7_Click( )

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

IF i=j Or i= 5-j Then

a( i , j)=1

Else

a( i , j)=0

End IF

Next j

Next i

Picture7.Cls

Picture7.Print "重置后的矩阵为:"

For i=LBound( a , 1) To UBound( a , 1)

For j=LBound( a , 2) To UBound( a , 2)

Picture7.Print Tab((j-1)*4+1); a( i , j);

学出版社

职教技术出版中心

www.abook.cn

Page 30: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

26

Next j

Picture7.Print

Next i

End Sub

实验7 数组的高级应用

一、 实验目的

1)进一步熟悉并掌握数组的定义以及应用。

2)复习并掌握数组的排序算法。

3)掌握合并排序算法。

二、 实验内容

【实验7-1】 数组排序

1.设计界面

如图7-1(a)所示,在窗体中创建1个标签、1个文本框、1个图片框和1个命令按钮,要求在文本框中输入杨辉三角的显示行数n,然后根据n值首先在标签中显示直角三角

形的杨辉三角形图案,然后通过修改源程序,将图案显示为等腰三角形,如图7-1(b)所示。

2.属性设置

窗体中各个对象的属性按照表7-1进行设置。

表7-1 属性设置

对象名称 属性名称 属性值

Label1 Caption 行数:

Picture1

Text1 Text

Command1 Caption 确定

3.程序代码

Dim a( ) As Integer, n As Integer

Private Sub Form_Click( )

Form1.Cls

n=Val( InputBox("请任意输入杨辉三角显示行数: " ) )

ReDim a( 1 To n, 1 To n )

For i=1 To n

a( i, 1 )=1

For j=2 To i

a( i, j )=a( i-1, j-1 )+a( i-1, j )

Page 31: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 27

Next j

Next i

y=3

For i=1 To n

Picture1.Print Tab( y );

For j= 1 To i

Picture1.Print Format( a( i, j ), "! @@@ @@@@ " );

Next j

Print

Next i

End Sub

4.存盘

以“学号+杨辉三角”为文件名对工程和窗体进行存盘。

图7-1 杨辉三角

【实验7-2】 控件数组

1.设计界面

在窗体中创建包含4个命令按钮的控件数组,当单击不同的按钮时,在窗体右侧的图

片框中显示不同的颜色。

2.属性设置

窗体中各个对象的属性按照表7-2进行设置。

表7-2 属性设置

对象名称 属性名称 属性值 Index

Command1 Caption 蓝色 0

Command2 Caption 红色 1

Command3 Caption 绿色 2

Command4 Caption 黄色 3

学出版社

职教技术出版中心

www.abook.cn

Page 32: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

28

3.程序代码

Private Sub Command1_Click( Index As Integer )

Select Case Index

Case 0

Picture1.BackColor=vbBlue

Case 1

Picture1.BackColor=vbRed

Case 2

Picture1.BackColor=vbGreen

Case 3

Picture.BackColor=vbYellow

End Select

End Sub

4.运行程序

运行程序,结果如图7-2所示。

图7-2 实验7-2程序运行结果

5.存盘

以“学号+控件数组”为文件名对工程和窗体进行存盘。

实验8 子过程和函数的定义

一、 实验目的

1)掌握子过程和函数的定义。

2)掌握子过程和函数的调用格式。

二、 实验内容

【实验8-1】 子过程的定义和调用

编写一个求长方形面积的子过程,要求调用该子过程并在文本框中输入长方形的长

和宽后,可求出其面积。

1.设计界面

在窗体中创建3个标签、3个文本框和1个命令按钮,要求单击命令按钮时,根据标

Page 33: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 29

签所对应的文本框的内容求面积,如图8-1所示。

图8-1 实验8-1窗体界面设计

2.属性设置

窗体中各个对象的属性按照表8-1进行设置。

表8-1 属性设置

对象名称 属性名称 属性值

Label1 Caption 长:

Label2 Caption 宽:

Label3 Caption 面积:

Text1 Text

Text2 Text

Text3 Text

Command1 Caption 求面积

3.程序代码

Private Sub command1_click( )

Dim m, n

m=Val(Text1.Text)

n=Val(Text2.Text)

Recarea m , n

Call Recarea(m , n)

End Sub

Sub Recarea(a , b)

Dim area

area=a*b

Text3.Text=area

End Sub

4.运行程序

运行程序后,在两个文本框中分别输入矩形的长和宽,单击“求面积”命令按钮,矩形

所对应的面积就会在第3个文本框中显示,结果如图8-2所示。

学出版社

职教技术出版中心

www.abook.cn

Page 34: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

30

图8-2 实验8-1程序运行结果

5.存盘

以“学号+面积”为文件名对工程和窗体进行存盘。思考:

1)如何定义子过程?

2)如何完成子过程的调用?

【实验8-2】 函数的定义和调用

编写一个求素数的函数,并调用该函数求3~1000之间的素数。

1.界面设计

在窗体中创建1个文本框、1个标签和1个命令按钮,文本框用于显示3~1000的各个

数是否为素数,标签用于显示素数的个数,命令按钮用于启动对象,初始界面如图8-3所示。

图8-3 实验8-2窗体界面设计

2.属性设置

窗体中各个对象的属性按照表8-2进行设置。

表8-2 属性设置

对象名称 属性名称 属性值

Text1 TextLabel1 Caption

Command1 Caption 3~1000之间的素数

Page 35: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 31

3.程序代码

Private Sub command1_click( )

For i=3 To 100

IF prime(i) Then

n=n+1

Text1=Text1+Str(i)+"是一个素数! " +vbCrLf

Else

Text1.Text=Text1.Text+Str(i)+"不是一个素数!" +vbCrLf

End IF

Next i

Label1.Caption="3~ 1000 之间共有" +Str(n)+"个素数!"End Sub

Function prime(j)

k=Int(Sqr(j))

x=2

swit=True

While x<=k And swit=True

IF j Mod x=0 Then

swit=False

Else

x=x+1

End IF

Wend

prime=swit

End Function

4.运行程序

运行程序后,单击“3~1000之间的素数”命令按钮,结果如图8-4所示。

图8-4 实验8-2程序运行结果

5.存盘

以“学号+素数2”为文件名对工程和窗体进行存盘。

学出版社

职教技术出版中心

www.abook.cn

Page 36: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

32

思考:

1)如何定义函数?

2)如何完成子过程的调用?

3)函数的定义和调用与子过程的定义和调用有什么区别?

实验9 参数传递、过程与变量的作用域

一、 实验目的

1)掌握子过程和函数中参数的值传递方式和地址传递方式。

2)掌握数组作为参数如何传递的过程。

3)掌握过程的作用域。

4)掌握变量的作用域。

二、 实验内容

【实验9-1】 参数传递

编写一个求任意数的平方的函数,调用该函数求1~10的平方数。

1.设计界面

在窗体中创建1个标签和1个命令按钮,要求单击该命令按钮,在标签中显示1~10的平方数,初始界面如图9-1所示。

图9-1 实验9-1窗体界面设计

2.属性设置

窗体中各个对象的属性按照表9-1进行设置。

表9-1 属性设置

对象名称 属性名称 属性值

Label1 Caption

Command1 Caption 求平方

Page 37: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 33

3.程序代码

Private Sub Command1_Click ( )

For i=1 To 10

t=0

Call x( i , t )

Label1.Caption=Label1.Caption & i & "的平方为:" & t & vbCrLf

Next i

End Sub

Private Sub x( j , k )

k=j*j

End Sub

4.运行程序

运行程序后,单击“求平方”命令按钮,结果如图9-2所示。

图9-2 实验9-1程序运行结果

5.存盘

以“学号+平方”为文件名对工程和窗体进行存盘。思考:

对照以上实验程序,分析与以下几段程序代码的区别。程序代码一:Private Sub Command1_Click ( )

For i=1 To 10

t=0

Call x( i , t )

Label1.Caption=Label1.Caption & i & "的平方为:" & t & vbCrLf

Next i

End Sub

Private Sub x( ByVal j , ByVal k )

k=j*j

End Sub

学出版社

职教技术出版中心

www.abook.cn

Page 38: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

34

程序代码二:Private Sub Command1_Click ( )

For i=1 To 10

t=0

Call x( i , (t) )

Label1.Caption=Label1.Caption & i & "的平方为:" & t & vbCrLf

Next i

End Sub

Private Sub x(j , k )

k=j*j

End Sub

程序代码三:Private Sub Command1_Click ( )

For i=1 To 10

Call x( i , (t) )

Label1.Caption=Label1.Caption & i & "的平方为:" & t & vbCrLf

Next i

End Sub

Private Sub x( ByVal j , ByVal k )

k=j*j

End Sub

*【实验9-2】 过程的综合应用

汉诺塔问题:传说印度教的主神梵天创造世界时,在印度北部佛教圣地贝拿勒斯圣庙

中,安放了一块黄铜板,板上插着3根针,在其中1根针上自下而上放着由大到小的64个

圣盘。这就是所谓的汉诺塔,梵天要僧侣们按下面的规律把64个盘子移到另一根针上。

1)一次只能移一个盘子。

2)盘子只允许在3根针上存放。

3)永远不允许大盘压小盘。梵天称,当把这64个盘子全部移到另一根针上时,就是世界毁灭之日。请编制程序

解决该问题。程序代码如下。Dim pan(10) As Shape

Dim l(3) As Integer

Dim p(3) As Integer

Dim k As Integer

Dim h(3, 10) As Integer

Dim num As Integer

Private Sub Command1_Click( )

For i=1 To num

Page 39: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 35

h(1, i)=i

Next i

p(1)=num

k=0

Call han(num, 1, 2, 3)

s=l(1): l(1)=l(3): l(3)=s

For i=1 To 3

p(i)=0

Next i

End Sub

Private Sub Form_Activate( )

num=Val(Text1.Text)

For i=1 To num

pan(i).Left=pan(i).Tag

pan(i).Visible=True

Next

For i=num+1 To 10

pan(i).Visible=False

Next i

For i=1 To 3

l(i)=Line1(i-1).x1

Next i

End Sub

Private Sub Form_Load( )

For i=1 To 10

Set pan(i)=Shape1(i-1)

pan(i).Tag=pan(i).Left

Next i

End Sub

Private Sub han(m As Integer, u As Integer, v As Integer, w As Integer)

IF m=1 Then

Call yd(u, w)

Else

Call han(m-1, u, w, v)

Call yidong(u, w)

Call han(m-1, v, u, w)

End IF

End Sub

Private Sub yd(x As Integer, y As Integer)

a=p(x)

学出版社

职教技术出版中心

www.abook.cn

Page 40: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

36

b=p(y)+1

h(Y, b)=h(x, a)

pan(h(y, b)).Top=200

Call ys(0.1)

pan(h(y, b)).Left=l(y)-pan(h(y, b)).Width/2

Call ys(0.2)

pan(h(y, b)).Top=1700-p(y)*100

Call ys(0.1)

p(x)=a-1

p(y)=b

k=k+1

Label3.Caption="移动了"+LTrim(Str(k))+"次"

Form1.Refresh

End Sub

Private Sub ys(pausetime)

Dim start

start=Timer

Do While Timer<start+pausetime

Loop

End Sub

Private Sub Text1_Change( )

n=Val(Text1.Text)

IF n>2 And n<10 Then

Form_Activate

End IF

End Sub

【实验9-3】 过程的作用域

调用标准模块的全局过程求阶乘。窗体模块级程序代码如下,如图9-3(a)所示。Private Sub Command1_Click( )

Print

Print Tab( 20 ) ; "p="; ( Module1.fac(3)+Module1.fac(5) )/fac(7)

End Sub

标准模块全局级过程代码如下,如图9-3(b)所示。Public Function fac( n ) As Single

p=1

For i=1 To n

p=p*i

Next i

Page 41: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 37

fac=p

End Function

图9-3 标准模块全局过程调用代码窗口

在主调过程中,3次调用位于标准模块中的全局函数过程中,2次完整地表述了调用

方法,第3次调用则采用了默认表述。

【实验9-4】 变量的作用域

当下列程序运行时,单击窗体和命令按钮后,写出程序运行结果。Public x As Integer

Private Sub Form_Load( )

x=10

End Sub

Private Sub Form_Click( )

Dim x As Integer

x=10

Print x

Print Form1.x

End Sub

Private Sub Command1_Click( )

Print x

End Sub

实验10 常用内部控件的使用

一、 实验目的

1)掌握单选按钮、复选框和框架的使用方法。

2)掌握列表框控件和组合框控件的使用方法。

3)掌握时钟控件的使用方法。

4)掌握图片框控件和图像框控件的使用方法。

5)掌握滚动条控件的使用方法。

学出版社

职教技术出版中心

www.abook.cn

Page 42: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

38

二、 实验内容

【实验10-1】 单选按钮、复选框和框架

对文本框中文本的字体、字型和颜色进行修改。

1.设计界面

在窗体中创建一个由单选按钮、复选框和框架组成的综合对象,如图10-1所示。

图10-1 实验10-1设置属性后的界面

2.属性设置

窗体中各个对象的属性按照表10-1进行设置。

表10-1 控件属性

Name属性 Caption属性值 Name属性 Caption属性值

Option1(0) 仿宋(F) Option2(1) 绿 色

Option1(1) 宋体(S) Option2(2) 蓝 色

Option1(2) 楷体(K) Frame1 字体

Check1(0) 粗体(B) Frame2 字型

Check1(1) 斜体(I) Frame3 颜色

Check1(2) 下划线(U) Text1 VB高级语言程序设计!

Option2(0) 红 色

3.程序代码

Option Explicit

Private Sub Form_Load( )

Text1.FontSize=20

Text1.FontName="黑体"

End Sub

Private Sub Option1_Click(Index As Integer)

Select Case Index

Page 43: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 39

Case 0

Text1.FontName="仿宋_GB2312"

Case 1

Text1.FontName="宋体"

Case 2

Text1.Font.Name = "楷体_GB2312"

End Select

End Sub

Private Sub Option2_Click(Index As Integer)

Select Case Index

Case 0

Text1.ForeColor=RGB(255, 0, 0)

Case 1

Text1.ForeColor=VBGreen

Case 2

Text1.ForeColor=BBlue

End Select

End Sub

Private Sub Check1_Click(Index As Integer)

IF Check1(Index).Value=1 Then

Select Case Index

Case 0

Text1.Font.Bold=True

Case 1

Text1.FontItalic=True

Case 2

Text1.Font.Underline=True

End Select

Else

Select Case Index

Case 0

Text1.FontBold=False

Case 1

Text1.Font.Italic=False

Case 2

Text1.FontUnderline=False

End Select

End IF

End Sub

4.运行程序

运行程序,选择仿宋、粗体、斜体、蓝色,结果如图10-2所示。

学出版社

职教技术出版中心

www.abook.cn

Page 44: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

40

图10-2 实验10-1程序运行界面

【实验10-2】 成绩评分系统

1.设计界面

在窗体中创建6个独立的科目标签、6个由控件数组组成的文本框、6个由控件数组

组成的检查框以及所对应的6个科目标签、1个总分标签、1个统计结果标签和1个统计

命令按钮。初始界面如图10-3所示。

图10-3 实验10-2窗体界面设计

2.属性设置

窗体中各个对象的属性按照表10-2进行设置。

表10-2 控件属性

Name属性 Caption属性值 Name属性 Caption属性值

Label1 语 文 Command1 统 计

Label2 数 学 Check1(0) Check1

Label3 英 语 Check1(1) Check2

Label4 物 理 Check1(2) Check3

Label5 化 学 Check1(3) Check4

Label6 体 育 Check1(4) Check5

Label7 总 分 Check1(5) Check6

Label8 Text1(0)

Page 45: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 41

续表

Name属性 Caption属性值 Name属性 Caption属性值

Text1(1) Text1(4)

Text1(2) Text1(5)

Text1(3)

3.程序代码

Private Sub Form_Load( )

For i=0 To 5

Text1(i).Text=" "

Next i

Label8=" "

End Sub

Private Sub Text1_lostFocus(Index As Integer)

a=Val(Text1(Index).Text)

IF a <0 Or a >100 Or Not IsNumeric(Text1(Index).Text) Then

MsgBox " 不是有效成绩!"

Text1(Index).Text=""

Text1(Index).SetFocus

End IF

End Sub

Private Sub Command1_Click( )

s=0

For i=0 To 5

IF Check1(i).Value=Checked Then

s=s+Val(Text1(i).Text)

End IF

Next i

Label8=s

End Sub

4.运行程序

运行程序,任意选择4门科目,统计结果如图10-4所示。

图10-4 实验10-2程序运行结果

学出版社

职教技术出版中心

www.abook.cn

Page 46: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

42

实验11 图形的制作

一、 实验目的

1)掌握VisualBasic的坐标系统。

2)掌握VisualBasic的基本绘图方法。

3)理解绘图过程中其他相关的基本概念。

二、 实验内容

【实验11-1】 绘制“金刚石”

设计一个窗体,用画线条的方法,在窗体中绘制出“金刚石”的图形。

1.界面设计

在窗体中创建1个命令按钮,标题名称为“绘制”,1个图片框。初始界面如图11-1所示。

图11-1 实验11-1窗体界面设计

2.属性设置

窗体中各个对象的属性按照表11-1进行设置。

表11-1 属性设置

对象名称 属性名称 属性值

Command1 Caption 绘 制

Picture1

3.程序代码

Private Sub Command1_Click( )

Const pi=3.14159

Picture1.ForeColor=RGB( Rnd*255 , Rnd*255 , Rnd*255 )

Page 47: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 43

Picture1.Cls

n=10

x0=Picture1.Width / 2

y0=Picture1.Height / 2

r=y0*0.9

Dim px( ) , py( ) As Double

ReDim px(n) , py(n)

For i = 1 To n

px( i )=y0+r*Cos( i*2*pi / n )

py( i )=y0+r*Sin( i*2*pi / n )

For j=1 To i-1

Picture1.Line ( px( i ) , py( i ) )-( px( j ) , py( j ) )

Next j

Next i

End Sub

4.运行程序

运行程序后,单击“绘制”按钮,则显示如图11-2所示的图案。

图11-2 实验11-1程序运行结果

5.存盘

以“学号+金刚石”为文件名对工程和窗体进行存盘。

思考:

1)在编程过程中如何修改图案角个数?

2)如何使图形变得更大?

【实验11-2】 动态点阵图

设计一个窗体,以图片框为画板,在画板上绘制动态的点阵。

学出版社

职教技术出版中心

www.abook.cn

Page 48: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

44

1.界面设计

在窗体中创建2个命令按钮、1个图片框和1个计时器控件,初始界面如图11-3所示。

图11-3 实验11-2窗体界面设计

2.属性设置

窗体中各个对象的属性按照表11-2进行设置。

表11-2 属性设置

对象名称 属性名称 属性值

command1 Caption 开 始

command2 Caption 结 束

Picture1

Timer1Enabled False

Interval 40

3.程序代码

Dim x , y As Integer , r As Integer

Private Sub Command1_Click( )

Command1.Caption =" 继续…"

Timer1.Enabled=True

Command1.Enabled=False

Command2.Enabled=True

End Sub

Private Sub Command2_Click( )

Timer1.Enabled=False

Command2.Enabled=False

Command1.Enabled=True

End Sub

Private Sub Form_load( )

Picture1.AutoRedraw=True

Picture1.DrawWidth=4

Page 49: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 45

x=Picture1.Width / 2

y=Picture1.Height / 2

r=1000

End Sub

Private Sub timer1_timer( )

Static i As Single

Picture1.Cls

i=i+0.2

For j=1 To 32

Picture1.PSet (x+Cos((i+j)*3.14 / 16)*r, y+Sin((i + j)*3.14 / 16)*r) , _

QBColor(1)

Next j

For j=1 To 16

Picture1.PSet (x+Cos((i+j)*3.14 / 8)*r / 2, y+Sin((i+j)*3.14 / 8) _

*r / 2), QBColor(1)

Next j

For j=1 To 32

Picture1.PSet (x+Cos((i+j)*3.14 / 16)*r*3 / 4, y+Sin((i+j)*3.14 / 16) _

*r*3 / 4), QBColor(1)

Next j

For j=1 To 16

Picture1.PSet (x+Cos((i+j)*3.14 / 8)*r / 4, y+Sin((i+j)*3.14 / 8) _

*r / 4), QBColor(1)

Next j

End Sub

4.运行程序

运行程序后,单击“开始”按钮,则显示如图11-4所示的点阵图。

图11-4 实验11-2程序运行结果

学出版社

职教技术出版中心

www.abook.cn

Page 50: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

46

5.存盘

以“学号+点阵图”为文件名对工程和窗体进行存盘。

思考:

1)在编程过程中如何增加点阵的圈数?

2)如何改变点阵的颜色?

3)如何描述椭圆的点阵图?

4)如何将点阵图修改为水平方向的对称陀螺形状?

实验12 界 面 设 计

一、 实验目的

1)了解通用对话框的特征。

2)掌握通用对话框的使用方法。

3)了解菜单的使用方法和功能。

4)掌握窗体菜单的设计方法。

二、 实验内容

【实验12-1】 设计通用对话框

在窗体中利用通用对话框创建一个文本编辑器,文本编辑器由RichTextBox控件生

成,“新建”、“打开”、“另存为”、“格式”、“颜色”由1个命令按钮控件数组生成。

1.设计界面

在窗体中利用通用对话框创建一个文本编辑器,在文本编辑器中使用水平滚动条和

垂直滚动条;由6个命令按钮组成命令按钮控件数组,对应的名称分别为“新建”、“打开”、“另存为”、“格式”、“颜色”、“退出”,如图12-1所示。

图12-1 实验12-1窗体界面设计

Page 51: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 47

2.属性设置

窗体中各个对象的属性按照表12-1进行设置。

表12-1 属性设置

对象名称 属性名称 属性值

RichTextBox1 Text

CommonDialog1

Command1 Caption 新建

Command1 Caption 打开

Command1 Caption 另存为

Command1 Caption 格式

Command1 Caption 颜色

Command2 Caption 退出

3.程序代码

Private Sub Command1_Click( Index As Integer )

Select Case Index

Case 0

Call fnew

Case 1

Call fopen

Case 2

Call fsave

Case 3

Call cfont

Case 4

Call ccolor

End Select

End Sub

Private Sub fnew( )

IF Trim( RichTextBox1.Text ) <>" " Then

t=MsgBox("是否保存" , vbYesNo+vbInformation+vbDefaultButton2 )

IF t=vbYes Then

Call Fsave

RichTextBox1.Text=" "

Else

RichTextBox1.Text=" "

End IF

End IF

End Sub

Private Sub Fopen( )

IF Trim( RichTextBox1.Text ) <>" " Then

学出版社

职教技术出版中心

www.abook.cn

Page 52: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

48

t=MsgBox("是否放弃保存", vbYesNo+vbInformation+vbDefaultButton2 )

IF t=vbYes Then

CommonDialog1.Filter="txt 文件(*.txt)|*.txt|所有文件|*.*"

CommonDialog1.Action=1

RichTextBox1.FileName=CommonDialog1.FileName

End IF

Else

CommonDialog1.Filter="txt 文件(*.txt)|*.txt|所有文件|*.*"

CommonDialog1.Action=1

RichTextBox1.FileName=CommonDialog1.FileName

End IF

End Sub

Private Sub Fsave( )

CommonDialog1.Filter="txt 文件(*.txt)|*.txt"

CommonDialog1.Action=2

RichTextBox1.SaveFile ( CommonDialog1.FileName )

End Sub

Private Sub cfont( )

CommonDialog1.Flags=cdlCFBoth Or cdlCFEffects

CommonDialog1.ShowFont

RichTextBox1.SelFontName=CommonDialog1.FontName

RichTextBox1.SelFontSize=CommonDialog1.FontSize

RichTextBox1.SelBold=CommonDialog1.FontBold

RichTextBox1.SelItalic=CommonDialog1.FontItalic

RichTextBox1.SelUnderline=CommonDialog1.FontUnderline

RichTextBox1.SelStrikeThru = CommonDialog1.FontStrikethru

RichTextBox1.SelColor=CommonDialog1.Color

End Sub

Private Sub ccolor( )

CommonDialog1.Action=3

RichTextBox1.SelColor=CommonDialog1.Color

End Sub

Private Sub command2_click( )

End

End Sub

4.运行程序

运行程序后,在文本编辑器中任意录入一些文本内容,通过选择其中一部分文本内

容,并单击文本框下面的按钮,就可以对选中的文本内容进行选择性的操作。示例操作结

果如图12-2所示。

5.存盘

以“学号+文本编辑器”为文件名对工程和窗体进行存盘。

Page 53: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 49

图12-2 实验12-1程序运行结果

思考:

1)编程过程中是否可以用简单文本框替换文本编辑器?

2)编程过程中如何设置水平滚动条和垂直滚动条?

【实验12-2】 设计菜单

在窗体中放置一个文本框,设计一个含“字体”菜单和“颜色”菜单的菜单系统。其中,“字体”菜单包含“粗体”、“斜体”和“自定义”3个命令;“颜色”菜单包含“红色”、“绿色”、“蓝色”和“自定义”命令。另外,可通过鼠标右键打开“颜色”菜单。

1.设计界面

在窗体中创建一个CommonDialog和一个命令按钮,通过菜单编辑器完成相应的菜

单设计。初始界面如图12-3所示。

图12-3 实验12-2窗体界面设计

2.属性设置

窗体中各个对象的属性按照表12-2和表12-3进行设置。

学出版社

职教技术出版中心

www.abook.cn

Page 54: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

50

表12-2 标题名称

标题 名称 标题 名称

字体 DFont ……蓝色 Blue颜色 Color ……绿色 Green

……红色 Red

表12-3 属性设置

控件名称 属性 属性值

Text1 TextCommand1 Caption 存 盘

Command2 Caption 退 出

3.程序代码

Private Sub DFont_Click( )

CommonDialog1.Flags=cdlCFBoth Or cdlCFEffects

CommonDialog1.ShowFont

IF CommonDialog1.FontName>" " Then

Text1.FontName=CommonDialog1.FontName

End IF

Text1.FontSize=CommonDialog1.FontSize

Text1.FontBold=CommonDialog1.FontBold

Text1.FontItalic=CommonDialog1.FontItalic

Text1.FontStrikethru=CommonDialog1.FontStrikethru

Text1.FontUnderline=CommonDialog1.FontUnderline

Text1.ForeColor=CommonDialog1.Color

End Sub

Private Sub color_Click( )

IF Text1.Text=" " Then

Red.Enabled=False

Blue.Enabled=False

Green.Enabled=False

Else

Red.Enabled=True

Blue.Enabled=True

Green.Enabled=True

End IF

End Sub

Private Sub red_Click( )

Text1.ForeColor=vbRed

End Sub

Private Sub blue_Click( )

Text1.ForeColor=vbBlue

End Sub

Private Sub green_Click( )

Page 55: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 51

Text1.ForeColor=vbGreen

End Sub

Private Sub DColor_Click( )

CommonDialog1.CancelError=False

CommonDialog1.ShowColor

Text1.ForeColor=CommonDialog1.Color

End Sub

Private Sub Command1_Click( )

CommonDialog1.CancelError=True

CommonDialog1.DefaultExt="TXT"

CommonDialog1.FileName="lbw.txt"

CommonDialog1.Filter="Text files(*.txt)|*.TXT| ALL Files(*.*)|*.*"

CommonDialog1.FilterIndex=1

CommonDialog1.DialogTitle="Save File As (*.TXT) "

CommonDialog1.Flags=vbOFNOverwritePrompt Or vbOFNPathMustExist

CommonDialog1.Action=2

End Sub

Private Sub Command2_Click( )

End

End Sub

4.运行程序

运行程序后,在文本框中任意录入一些文本内容,通过选择菜单命令,就可以对选中

的文本内容进行选择性的操作。操作结果如图12-4所示。

图12-4 实验12-2程序运行结果

5.存盘

以“学号+菜单”为文件名对工程和窗体进行存盘。思考:

1)编程过程中如何选择性地对文本进行操作?

2)编程过程中如何加载新的菜单选项?

学出版社

职教技术出版中心

www.abook.cn

Page 56: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

52

实验13 文 件 管 理

一、 实验目的

1)掌握顺序文件、随机文件、二进制文件的使用方法。

2)掌握文件打开和关闭的方法。

3)掌握文件的读写方法。

4)了解文件系统控件的使用。

二、 实验内容

【实验13-1】 顺序文件

利用文件系统控件、组合框、文本框,制作一个文件浏览器,要求组合框限定文件列表

框中显示文件的类型,如选中"*.txt"文件。当在文件列表框选中要显示的文件时,在文

本框中显示该文件的内容。

1.界面设计

在窗体中创建1个驱动器列表框、1个目录列表框、1个文件列表框、1个组合框以及

1个文本框。初始界面如图13-1所示。

图13-1 实验13-1窗体界面设计

2.属性设置

窗体中各个对象的属性按照表13-1进行设置。

表13-1 属性设置

对象名称 属性名称 属性值

Drive1

Dir1

File1

Combo1 Style 2

Text1Multilinetrue True

ScrollBars 3

Page 57: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 53

3.程序代码

Private Sub Drive1_Change( )

Dir1.Path=Drive1.Drive

End Sub

Private Sub Dir1_Change( )

File1.Path=Dir1.Path

End Sub

Private Sub File1_Click( )

Text1.Text=""

IF Right( Dir1.Path, 1)="\"Then

f=Dir1.Path & File1.FileName

Else

f=Dir1.Path & "\" & File1.FileName

End IF

Open f For Input As # 1

Do While Not EOF(1)

Line Input # 1 , s

Text1.Text=Text1.Text+s+vbCrLf

Loop

Close #1

End Sub

Private Sub Combo1_Click( )

Select Case Combo1.Text

Case "所有文件(*.*)"

filetype="*.*"

Case "图片文件(*.jpg)"

filetype="*.jpg"

Case "文本文件(*.txt)"

filetype="*.txt"

End Select

File1.Pattern=filetype

End Sub

Private Sub Form_Load( )

Combo1.AddItem "所有文件(*.*)"

Combo1.AddItem "图片文件(*.jpg)"

Combo1.AddItem "文本文件(*.txt)"

Combo1.ListIndex=2

End Sub

4.运行程序

运行程序后,选择某一个驱动器,在其中选择某一个文件夹,再选择“文本文件

(*.txt)”类型,在文件列表框中就会列出相应的文件,选中某一个文件,在右侧的文本框

学出版社

职教技术出版中心

www.abook.cn

Page 58: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

54

中就会显示文件的内容,结果如图13-2所示。

图13-2 实验13-1程序运行结果

5.存盘

以“学号+顺序文件”为文件名对工程和窗体进行存盘。思考:

1)如何显示图片格式文件?

2)如何显示音频格式文件?

【实验13-2】 随机文件

设计一个窗体,将某个学生的学号、姓名、性别、成绩输入到一个名为“xs.dat”的随机

文件中。

1.界面设计

在窗体中创建5个标签、4个文本框、2个单选按钮和2个命令按钮。初始界面如

图13-3所示。

图13-3 实验13-2窗体界面设计

2.属性设置

4个文本框使用Text1控件数组,2个单选按钮使用Option1控件数组。窗体中各个对象的属性按照表13-2进行设置。

Page 59: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

第一部分 实验指导 55

表13-2 属性设置

对象名称 属性名称 属性值

Label1 Caption 学 号

Label2 Caption 姓 名

Label3 Caption 性 别

Label4 Caption 年 龄

Label5 Caption 成 绩

Text1 Text

Option1 Caption 男

Option1 Caption 女

Command1 Caption 输入信息

Command2 Caption 退 出

3.程序代码

Private Sub Command1_Click( )

Dim no As String*5

Dim name As String*10

Dim sex As String*2

Dim age As Integer

Dim cj As Single

no=Text1(0).Text

name=Text1(1).Text

sex=IIF(Option1(0).Value, "男" , "女")

age=Val(Text1(2).Text)

cj=Val(Text1(3).Text)

Write #1 , no , name , sex , age , cj

For i=0 To 3

Text1( i ).Text=" "

Next i

Option1(0).Value=True

Text1(0).SetFocus

End Sub

Private Sub Command2_Click( )

Close #1

End

End Sub

Private Sub Form_Load( )

Open "xs.dat" For Append As #1

End Sub

4.运行程序

运行程序后,在相应的文本框中录入学生的信息,如图13-4所示。退出后可以在默

认目录下找到并打开文件“xs.dat”,即可看到所录入学生的相关信息,如图13-5所示。

学出版社

职教技术出版中心

www.abook.cn

Page 60: VisualBasic程序设计实验指导 与习题解答 · 第三部分是参考答案,包含本书第二部分习题的参考答案和《VisualBasic程序设计》 课后习题的参考答案。

56

图13-4 学生信息录入状态

图13-5 随机文件存储结果

5.存盘

以“学号+随机文件”为文件名对工程和窗体进行存盘。思考:

1)如何添加照片信息?

2)如何实现随机文件的覆盖操作?