VB程序设计第8章-设计和使用子过程
- 格式:ppt
- 大小:420.00 KB
- 文档页数:40
课程名称VB 程序设计指导教师张晓梅成绩实验名称:子过程应用的程序设计实验目的1)掌握子过程的定义以及调用方法。
2)掌握在过程调用中形参个数、类型的确定方法;掌握数组作为参数传递的方法。
3)熟悉传值和传地址的方法以及区别。
实验环境Visual Studio 2008实验内容1)数组元素排序选择排序。
在文本框中输入要排序的数据个数n,点击“排序”按钮,在“排序前”下面的标签中显示随机生成的n个数,数字随机生成且范围为1~100。
同时利用选择法进行排序,对数据按升序输出,在“排序后”下面的标签中显示升序排好的n个数。
运行界面如图1所示。
图1选择排序控件的主要属性:(要求列出所有控件)Label1-5:T extTexttBox1: MultiLine(True),Readonly(True,ScrollBar(Vertical)Button1:T ext程序代码:Public Class Form1Sub xzpx(ByVal a() As Integer)Dim imin%, t%For i = LBound(a) To UBound(a)imin = iFor j = i + 1 To UBound(a)If a(j) < a(imin) Then imin = j姓名XXXX班级0000000学号00实验日期课程名称VB 程序设计指导教师张晓梅成绩t = a(i) : a(i) = a(imin) : a(imin) = tNext iEnd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n As Integer, b() As IntegerLabel3.Text = "" : Label5.Text = "" : n = TextBox1.TextReDim b(0 To n - 1)For i = 0 To n - 1b(i) = Int(Rnd() * 100 + 1)Label3.Text = Label3.Text & b(i)If i < n - 1 Then Label3.Text = Label3.Text & ","Next iCall xzpx(b)For i = 0 To n - 1Label5.Text = Label5.Text & b(i)If i < n - 1 Then Label5.Text = Label5.Text & ","Next iEnd SubEnd Class2)打印图形印图形。
课程标准课程名称: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)使学生了解程序设计在本专业的应用、发展及其趋势,培养学生的科研素质。
幻灯片1第8章过程本章要点:• Function过程• Sub过程•过程的嵌套•参数的传递•代码模块•变量的作用域与生存期幻灯片2过程的引入: 使同类的操作不重复(操作方法相同、参数不同) 过程: 完成一段独立功能,可供其他过程使用(调用)。
过程又称为子程序调用过程: 调用其他过程的过程幻灯片3过程分类:内部函数自定义函数Function过程*内部过程(方法)事件过程自定义过程Sub过程幻灯片48.1 Function过程8.1.1 Function过程的定义1. Function过程的格式[Public|Private][Static] Function <函数过程名>([<形参表>]) [As <类型>][<语句组>][<函数过程名> = <表达式>][Exit Function][<语句组>][<函数过程名> = <表达式>]End Function幻灯片52. 说明(1) Public: 缺省值。
使用Public时表示所有模块的所有其他过程都可以调用该Function过程。
(2) Private: 使用Private时表示只有本模块中的其他过程才可以调用该Function过程。
(3) Static: 使用Static时表示将过程中的所有局部变量说明为静态变量。
(4) <函数过程名>: Function过程的名称,遵循变量的命名规则。
(5) <形参表>: 表示在调用时要传递给Function过程的参数变量列表。
多个变量之间用逗号隔开。
幻灯片6<形参表>格式:[ByVal|ByRef]<变量名>[( )] [As <类型>]ByVal: 表示该参数按值传递。
ByRef: 缺省值。
表示该参数按地址传递。
<变量名>: 遵循变量命名规则的任何变量名或数组名。
教案讲稿第八章过程[旧课复习]:复习内容:1.常用控件的使用,个人信息2.计时器Interval属性,Timer事件复习目的:加强控件和计时器的使用复习时长:大约5分钟[新课导入]:导入方式:通过调用函数引入函数的概念导入目的:增强学生的学习主动性导入时长:大约5分钟[新课讲授]:重点:掌握函数过程的概念,掌握sub过程的概念难点:变量的作用域和生产周期方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
8.1 过程概述VB应用程序是由各种过程组成的,但在为一个实际问题编写代码的过程中,会遇到一些比较复杂的问题,而利用简单的内部函数过程和事件过程往往不能解决此类问题。
此时根据应用的复杂程度,往往需要将应用程序按功能或目的划分为若干个模块,而根据具体情况又可将各个模块继续划分为子模块,直到一个适当的难度为止,即将问题自上而下逐步细化,分层管理。
将模块划分为子模块主要有如下优点:(1)便于调试和维护。
将一个复杂的问题分解为若干个子问题,降低每一个子问题的复杂程度,使每一个子问题的功能相当稳定,便于程序的调试和维护。
(2)提高了代码的利用率。
当多个事件过程都需要使用一段相同的程序代码时,可将这段代码独立出来,作为一个独立的过程。
它可以单独建立,也可以被其他事件过程调用,成为一个可重复使用的独立的过程,提高代码的使用率。
一个VB工程包括工程文件(.Vbp)、窗体文件(.Frm)、窗体的二进制数据文件(.Frx)、标准模块(.Bas)、类模块(.Cls)、资源文件(.Res)、ActiveX 控件文件(.Ocx)、用户控件(.Ctl)和属性页模块(.Pag)、其他ActiveX 控件文件、设计器可插入对象等部件和引用。
VB大致的应用程序模块结构如图8-1 所示图8-1VB应用程序模块结构8.2 函数过程8.2.1函数过程的定义Function函数过程的定义与Sub子过程的定义类似,但不同的是Function 函数过程的定义语句中需要有返回函数值的语句。
Sub过程创建的几种方法,进行复述。
调用子过程时的方法:
二,新课(讲授法)
单击“确定”按钮。
(2) 在“代码”编辑窗口输入。
注意:开头和结尾不同,剩下的和sub过程相同。
创建
提问?如何创建?(和sub子过程的创建方相同)
调用
调用函数过程的两种方法
(1) 直接调用
在表达式中直接写上它的名字。
例如,已编有计算圆面积的函数过程cir(),调用方法为:
MsgBox "圆面积为:" & cir(10)
(2) 用Call语句调用
利用下面的代码都调用同一个函数过程:
Call cir (10)
area 10
查看
探索尝试操作回答:查看过程的方法?(使用代码窗口)
利用函数过程,求1!+2!+3!+4!+5!+6!
Function fact(x As Integer) As Long
Dim p As Long, i As Integer
p = 1
For i = 1 To x
p = p * i
Next i
fact = p
End Function
Private Sub Command1_Click()
Dim sum As Long, i As Integer
For i = 1 To 6
sum = sum + fact(i)
Next i
Label2.Caption = sum
End Sub。