VB程序设计第二版第六章
VB程序设计(第2版)教学课件6-1 Sub过程概述

1
① 直接调用 ② Call调用 【示例】
Sub过程调用方法
【两种调用方式】
过程名[(实参列表)] Call 过程名[(实参列表)]
① swap(10,30)
ቤተ መጻሕፍቲ ባይዱ
② Call swap(10,30)
总
结
模块对应着过程,不同的功能模块设计不同的过程。
Sub过程的建立有两种方法。
Sub过程调用有“直接调用、Call调用”两种方法。
② 过程名:与变量名的命名规则相同。在同一模块中,不能
有相同的过程名。
③ 局部变量和常量定义:定义过程中所用变量和常量。
1
【说明】
下一语句。
Sub过程说明
④ Exit Sub语句:退出Sub过程,继续执行Sub过程语句的 ⑤ 语句块:实现过程功能的语句组,常称为过程体。
⑥ 形式参数列表:可选项,多个形参之间用逗号隔开。若无
1
【格式】
Sub过程定义格式
[Private] Sub 过程名([形式参数列表])
[局部变量和常量定义]
语句块
[Exit Sub]
End Sub
1
【说明】
Sub过程说明
① Private:定义该Sub过程是局部的。也可用Public、
Static说明。 Public--全局的、 Static--静态的。
1
Sub过程形参定义
【形参定义的格式】
[ByVal|ByRef] 变量名[()][As 数据类型] 其中:ByVal表示该参数按值传递。 ByRef表示该参数按地址传递。 默认为ByRef。
1
【按值传递
Sub过程形参定义格式
形参定义形式】
Private Sub swap(ByVal x As Integer, ByVal y As Integer) …… …… End Sub
VB语言程序设计第二版课程设计

VB语言程序设计第二版课程设计一、课程设计目的和要求在学习了VB语言程序设计的基础知识后,本次课程设计旨在通过实践,加深对VB语言的理解,提高实际编程能力。
要求学生能够根据题目要求,独立完成程序设计,并能够对自己的程序进行测试和修正,达到运用VB语言解决实际问题的能力。
二、课程设计内容1. 课程设计题目设计一个学生信息管理系统,要求实现以下功能:1.学生信息的录入、查询、修改和删除;2.学生信息的列表显示和排序,可按照学号、姓名、年龄等信息进行排序;3.学生信息的统计功能,可以统计总人数、男女人数、各年龄段人数等。
2. 思路分析根据题目要求,我们需要实现学生信息的录入、查询、修改和删除功能,这需要利用VB语言中的表单、控件和事件进行开发。
同时,为了方便管理学生信息并能够对学生信息进行统计和排序,我们需要使用VB语言中的数据集合和数组来进行处理。
在程序设计中,我们需要设计一个学生信息表单,其中包括学号、姓名、性别、年龄等字段,然后利用VB语言中的数据控件来实现数据的录入、查询、修改和删除功能。
同时,我们还需要设计一个学生信息列表窗体,并实现按照学号、姓名、年龄等字段进行排序和列表显示的功能。
最后,我们需要实现一个学生信息统计窗体,用于统计总人数、男女人数、各年龄段人数等信息。
3. 程序设计3.1 学生信息表单设计学生信息表单主要用于学生信息的录入、查询、修改和删除功能。
我们需要设计一个表单,包括学号、姓名、性别、年龄等字段,同时将数据写入到数据库中。
具体步骤如下:1.设计表单,设置表单属性和控件属性;2.编写VB代码实现数据录入、查询、修改和删除功能;3.连接数据库,将数据写入数据库中。
3.2 学生信息列表窗体设计学生信息列表窗体主要用于按照学号、姓名、年龄等字段进行排序和列表显示的功能。
我们需要设计一个窗体,包括表格和排序功能,同时从数据库中读取数据并显示到表格中。
具体步骤如下:1.设计窗体,添加表格和排序控件;2.编写VB代码实现数据的读取和排序功能。
《VB程序设计》课程标准

课程标准课程名称:Visual Basic程序设计学时学分:160(2)专业层次:微机制订日期:2012年9月归口单位:计算机工程系制订人:Visual Basic程序设计是一个理论和实际紧密相连的技术,上机实验是教学中的必要环节。
现提出一套可行的“Visual Basic程序设计”课程的课程标准。
1 课程概述●课程研究的对象和研究内容随着计算机的普及和以Internet为代表的信息高速公路的迅速发展,计算机应用已深入到社会的各行各业,这不仅要求当今的大学生要掌握好本专业知识,同时还要有用计算机技术为本专业服务的能力。
因此熟练掌握一种计算机应用软件开发工具是对大学生的基本要求,这将直接影响到计算机在其他专业领域中的应用。
本课程所讲授的Visual Basic即是一种易学实用、适用面广的面向对象的软件开发平台。
VB程序设计课程可以使学生掌握软件设计的基础知识和基本方法,培养学生具有利用软件开发环境解决实际问题的能力,为进一步学习其它计算机知识及今后使用或开发应用程序奠定基础。
●课程在整个课程体系中的地位“Visual Basic程序设计”属于计算机基础教育课程的三个层次“文化、技术、应用”中的第二层次,是微机高职专业学生必修的计算机技术基础课程。
它的先修课是《信息技术基础》。
2. 课程目标(1)使学生理解程序设计的基本概念,建立起程序设计的基本思路,提高学生的理论知识水平。
主要包括了算法的概念、程序设计中的基本技巧和一些常用算法;能够阅读、理解源程序和设计解题流程的能力;了解结构化程序设计和面向对象程序设计的思想,能编制出风格良好的程序;最后达到使用Visual Basic 建立一个小型的应用系统的目的。
(2)使学生掌握基本的程序设计的技术和方法,培养学生的实际动手能力。
这些技术和方法包括算法的设计,程序的实现,能够使用Visual Basic建立一个小型的应用系统。
(3)使学生了解程序设计在本专业的应用、发展及其趋势,培养学生的科研素质。
VB程序设计课后习题答案

VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB988、安装Visual Basic 6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定内容有关的帮助信息。
第六章vb计算机

第六章 过 程
6.1 6.2 6.3 6.4 6.5 函数过程的定义与调用 子过程的定义与调用 参数传递 递归 变量、 变量、过程的作用域
6.6 综合应用 6.7 重点和难点
2011年9月21日星期三
Visual Basic程序设计
6.1 函数过程的定义
6.1.1 引例已知多边形的各条边的长度,计算 引例已知多边形的各条边的长度 已知多边形的各条边的长度, 多边形的面积。 多边形的面积。 计算多边形面积, 计算多边形面积, 可将多边形分解成若干个 三角形。 三角形。 计算三角形面积的公式如下: 计算三角形面积的公式如下:
2011年9月21日星期三
Visual Basic程序设计
6.2.4子过程与函数过程区别 子过程与函数过程区别 (1)函数过程名有值,有类型,在函数体内至少赋值一次; 函数过程名有值,有类型,在函数体内至少赋值一次; 函数过程名有值 子过程名无值,无类型,在子过程体内不能对子过程名赋值。 子过程名无值,无类型,在子过程体内不能对子过程名赋值。 (2)调用时,子过程调用是一句独立的语句; 调用时,子过程调用是一句独立的语句; 调用时 函数过程不能作为单独的语句加以调用,必须参与表达式运算。 函数过程不能作为单独的语句加以调用,必须参与表达式运算。 (3)一般当过程有一个返回值,使用函数过程较直观;反之若过程无返回值, 一般当过程有一个返回值,使用函数过程较直观;反之若过程无返回值, 一般当过程有一个返回值 或有多个返回值,使用子过程较直观。把某功能定义成函数或是过程, 或有多个返回值,使用子过程较直观。把某功能定义成函数或是过程, 没有严格的规定。但只要能用函数定义的,就肯定能用过程定义, 没有严格的规定。但只要能用函数定义的,就肯定能用过程定义,反之 不一定。 不一定。 6.2.5形参个数的确定 形参个数的确定 (1)形参是过程与主程序交互的接口,从主程序获得初值,或将计算结果返 形参是过程与主程序交互的接口,从主程序获得初值, 形参是过程与主程序交互的接口 回给主调程序。不要将过程中所有使用过的变量均作为形参。 回给主调程序。不要将过程中所有使用过的变量均作为形参。若只在过 程内部使用,则声明为局部变量。 程内部使用,则声明为局部变量。 (2)形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变 形参没有具体的值,只代表了参数的个数、位置、类型; 形参没有具体的值 数组名,不能是常量、数组元素、表达式。 量、数组名,不能是常量、数组元素、表达式。
06 VB程序设计语句

说明: ⑴语句执行过程。
【例6.15】从键盘输入字符并统计字符个数,当输入字符为“?”时,停止计数。 【例6.16】用Do语句编写程序,求1到100的累加和。
退出
第23页
⑵ Do循环需要有能够改变循环条件表达式值的语句,否则循环永远不会 结束,即死循环。
⑶ Exit Do语句用于强制跳出循环。 ⑷ Do...Loop 语句的另一种形式格式:
退出
第16页
3 .当程序中依赖某个单独的关键变量或表达式作判断条件时,Select Case语句效率更高,可读性好。
4.如果测试表达式的值能与多个Case子句表达式的值相匹配,只执行第一 个匹配的Case子句下面的语句块。
【例6-10】用Case语句改写例6.7,将输入成绩转换为相应学分。 注意值列表顺序的合理性。
退出
3.If 语句的嵌套 格式:
If<条件1>Then <语句块1>
ElseIf<条件2>Then <语句块2> …
[Else 语句块n+1]
End If
第11页
退出
第12页
If语句多分支结构流程图
真 语句块1
假 条件
1真
条件 假
语句块2
2
真
语句块n
条件 n
假 语句块n+1
退出
第13页
If语句的嵌套可以用于条件比较复杂的多分支情况。 【例6-6】已知分段函数: 编写程序,输入自变量x的值,计算并输出函数y的值。
退出
For…Next语句 第19页
格式:
For <循环变量> = <初值> To <终值> [Step步长]
VB程序设计课后习题答案

VB程序设计课后习题答案VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Window子目录删除。
当重新安装Window后,是否需要再次安装VB6.0?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Window目录下,所以一旦删除Window子目录,就必须重新安装VB6.0。
3、ViualBaic6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、ViualBaic6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB988、安装ViualBaic6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDNLibrary,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用ViualBaic6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDNLibrary查阅器,直接显示与选定内容有关的帮助信息。
vb教案(实用3篇)

vb教案(实用3篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如计划总结、合同协议、管理制度、演讲致辞、心得体会、条据书信、好词好句、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as plan summaries, contract agreements, management systems, speeches, insights, evidence letters, good words and sentences, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!vb教案(实用3篇)vb教案(1)教案设计学科 vb程序设计授课年级一年级教师姓名李新亮 1. 章节名称:第六章:键盘与鼠标控制第四节:鼠标拖放动画实例设计计划学时:一课时 2. 教学目标:①认识鼠标事件②正确分析题目已确定应当运用哪种鼠标事件课程标准:熟练掌握鼠标事件知识与能力:学会综合运用各种鼠标事件编写程序过程与方法:认识鼠标事件运用鼠标事件完成实例设计 3. 教学重点鼠标事件及其格式,案例程序分析 4. 教学难点几种鼠标事件:Click,Dblclick,DragDrop,DragOver,Drag的区别 5. 教学设计思路一、复习导入键盘事件keypress,keydown,keyup 二、初识鼠标事件三、几种鼠标事件的格式四、几种鼠标事件的区别五、实例程序分析六、界面设计七、程序分析八、程序运行与调试教学反思这节课的主要内容是,以分析鼠标拖拽的实例程序入手,来归纳总结常见的鼠标事件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)引用第i个学生的信息: Score(1).StudNumber = "01" Score(1).StudName = "张三" Score(1).Math = 89 Score(1).English = 90
或写成: With Score(1)
.StudNumber = "01" .StudName = "张三" .Math = 89 .English = 90 End With
14
例1:要存储100个学生的英语成绩,可以定义 一维数组Eng如下: Dim Eng(1 to 100) As Integer 或: Option Base 1 Dim Eng(100) As Integer 例2:存储一个3行3列的矩阵,定义二维数组A 如下: Dim A(1 To 3, 1 To 3) As Single
27
【例6-1】 随机产生10个两位整数,放入数组a中。 考虑到要在不同的过程中使用数组,所以首先在模 块的通用段声明数组: Dim a(1 To 10) As Integer 随机整数的生成由窗体的Load事件代码完成: Private Sub Form_Load() Randomize For i = 1 To 10 a(i) = Int(Rnd * 90) + 10 Next End Sub
8
一维数组示例:
例如:一班40名学生的英语成绩可以表示成
Eng(1)、Eng(2)、Eng(3)、…、Eng(40),用
Eng(1)表示1号学生的成绩,用Eng(2)表示2号
学生的成绩……,这样处理起来很直观,需
要引用第I个学生的成绩时,直接使用Eng(I)
即可。
9
二维数组示例:
设有一个3行3列的矩阵:
20
【例】
Dim A() As Integer Private Sub Command1_Click() N=4 ReDim A(N) For I = 0 To N A(I) = 1: Print A(I); Next I Print N=8 ReDim A(N) For I = 0 To N 运行时输出结果为: 1 1 1 1 1 Print A(I); Next I 0 0 0 0 0 0 0 0 0 End Sub
3
下标变量:每个数组元素用来保存一个数
据,其使用与简单变量类似,在简单变量
允许出现的多数地方也允许出现数组元素。
例如,可以通过X=90给简单变量X赋值,
同样也可以通过Eng(1)=90给数组元素Eng(1)
赋值,所以,数组元素也起来。例如,将X(8) 表示成:X[8]、X{8}、或X8都是错误的。 (2)下标可以是常量、变量或表达式,其值必 须是整数,否则将被自动四舍五入为整数。
11
6.2.1 静态数组的定义
静态数组是指数组元素的个数在程序的执 行期间不能改变的数组。 格式:
Public|Private|Dim 数组名(维数定义) [As 类型],… 功能:声明数组,包括确定数组的名称、维 数、每一维的大小和数组元素的类型,并为 数组分配存储空间。
12
说明:
(1)数组的作用域 在模块通用声明段使用Public语句建立一 个全局级数组(注意,不能在窗体模块使 用Public定义数组); 在模块通用声明段中使用Private语句或 Dim语句建立一个模块级数组 在过程中用Dim/static语句建立一个过程级 数组。 (2)“数组名”必须符合标识符的命名规 则。 13
10
6.2 数组的定义
数组在使用之前必须先定义(声明) , 定义数组的主要目的是为数组分配存储空间。
数组名:存储空间的名称; 数组元素:存储空间的每一个单元。每个单元 的大小与数组的类型有关。
按数组占用存储空间的方式不同,Visual Basic有两种数组:
静态数组 动态数组
两种数组的定义方法不同,使用方法也略 有不同。
17
定义动态数组需要分两步完成: 1.在模块级或过程级定义一个无下标的数组: Public|Private|Dim 数组名()[As 类型],… 2.在过程级定义数组的实际大小。 ReDim [Preserve] 数组名(维数定义) [As 类型],…
ReDim语句只能出现在过程中。 “维数定义”通常包含变量或表达式,但 其中的变量或表达式应有明确的值。
28
多维数组元素的输入通过多重循环来实现。 由于VB中的数组是按行存储的,因此一般把 控制数组第1维的循环变量放在最外层的循 环中。 【例6-2】 设有一个5×5的方阵,其中的元 素是由计算机随机生成的小于100的整数。 考虑到要在不同的过程中使用数组,所以首 先在模块的通用段声明数组: Dim a(5,5) As Integer
a11 a 21 a 31
a12 a 22 a 32
a13 a 23 a 33
a( 1,1) a(1,2) a(1,3)
a( 2,1) a(2,2) a(2,3)
a( 3,1) a(3,2) a(3,3)
用二维数组A表示该矩阵的所有元素,用第 1个下标表示元素所在的行号,用第2个下标 表示元素所在的列号,则A(I,J)表示第I 行第J列的元素 A。
(3)下标的最小取值称为下界,下标的最大取 值称为上界,下界和上界的大小在定义数组时确 定。引用数组元素时,下标必须在其下界和上界 之间。
(4)数组名的命名规则与简单变量的命名规则 相同。
5
6.1.2 数组的类型
VB中数据类型较多,相应的数组类型也有多 种,可以声明任何基本数据类型的数组,包 括用户自己定义类型和对象变量,但是一个 数组中的所有元素应该具有相同的数据类型。 特殊情况:当数据类型为variant时,各个元 素能够包含不同类型的数据。
31
【例6-4】 将例6-2中的数组在窗体中按5行5列输出。 Private Sub Form_Activate() Cls For i = 1 To 5 For j = 1 To 5 Print a(i, j); Next Print Next End Sub
32
6.3.2 数组的删除
格式:
Erase 数组名
21
改为:
Dim A() As Integer Private Sub Command1_Click() N=4 ReDim A(N) For I = 0 To N A(I) = 1: Print A(I); Next I Print N=8 ReDim Preserve A(N) For I = 0 To N Print A(I); Next I 运行时输出结果为: End Sub 1 1 1 1 1
25
6.3 数组的基本操作
定义数组之后,就可以对数组进行各种 操作了,如输入数组元素的值,对数组元素 进行各种处理,输出数组元素的值等。 对数组的处理通常要结合循环进行,用循 环变量控制数组元素的下标,以便能够按一 定次序、有选择、快速地处理数组。
26
6.3.1 数组的输入和输出
输入:输入数组元素值可以有多种方法。 例如,可以使用赋值语句、文本框、 InputBox函数、Array函数等,可以对数组 的个别元素输入数据,也可以对整个数组 输入数据。 输出:数组元素的值,可以使用Print方法 输出数组元素,也可以使用控件输出数组 元素,如使用标签、文本框等。
18
例如,定义一个动态数组Eng,用来保存学 生的英语成绩。
Dim Eng( ) As Integer
Private Sub Command1_Click( ) N = Val(InputBox("请指定学生人数")) ReDim Eng(1 To N) …… End Sub
19
说明: 可以用ReDim语句多次改变数组元素的数目及维 数的数目。 在定义动态数组的两个步骤中,如果用步骤1定义 了数组的类型,则不允许用步骤2改变类型。 每次执行ReDim语句时,如果不使用Preserve,则 数组中的值全部被重新初始化;如果使用Preserve, 则保留数组中原有的元素值。 使用Preserve关键字的Redim语句只能改变多维数 组中最后一维的上界,且不能改变维数的数目。
6
6.1.3 数组的形式
VB中支持两种数组:静态数组和动态数组。 前者指的是数组元素个数固定不变,而后者 的大小在运行时可变。
7
6.1.4 数组的维数
数组中的元素可以用一个下标来定位,也 可以用多个下标来定位。 数组的维数:下标个数 一维数组: 由一个下标组成。 如 A(2),C(6) 二维数组: 由两个下标组成。 如 B(2,3) 三维数组: 由三个下标组成。 如 G(3,4,23) 三维以上的数组称为多维数组,最多60维
(3)“维数定义”形式为: [下界1 To] 上界1,[下界2 To] 上界2,… VB默认下界值为0,可以使用Option Base语 句将默认下界修改为1
Option Base {0|1} (4)“类型”:Integer、Long、Single、 Double、Boolean、String、String*n、 Currency、Byte、Date、…… 在编译时为静态数组分配固定大小的存储空 间,在运行期间静态数组的大小不能改变。
1 1 1 1 10 0 0 0
22
6.2.3 用户自定义类型的数组
用户自定义类型的数组:指数组中的每个 元素的类型都是用户自定义类型。 例如: 学生成绩表
学 号 01 02 … 姓 名 张三 李四 … 数 学 89 78 … 英 语 90 93 …
23
(1)可以定义数据类型StudScore:
同的、有序的数据需要处理。使用数组,结
合循环,在多数场合下可以很方便地表示和 处理这种数据。