新Visual Basic程序设计教程 第6章.pptVIP

  • 4
  • 0
  • 约 49页
  • 2016-10-26 发布于广东
  • 举报
第6章 过 程 将程序分割成较小的逻辑部件就可以简化程序设计任务,称这些部件为过程,它们可以变成增强和扩展 Visual Basic 的构件。VB中有两类过程,一类是内部过程,另—类是外部过程,每—类过程又可分为函数过程和事件过程。内部过程是由系统提供的、不需要用户编写、可直接用过程名调用的程序段。外部过程是由用户根据自己的需要定义和编写的、可供事件过程多次调用的程序段。过程的使用,一方面将大的程序分成离散的逻辑单元,方便程序的调试;另一方面,方便了其他的程序或过程的调用。 6.1 过程的定义 6.2 过程的调用 6.2.1子过程的调用 1.使用Call语句调用过程 Call语句的格式为: Call 过程名(实际参数表列) 2. 将过程名作为语句使用 如果省略 Call 关键字而直接将过程名作为语句使用,也必须省略实际参数表列 外面的括号。 Sub过程和Function函数过程中的参数列表中的参数称为形式参数(简称形参),在程序中调用Sub过程和Function函数过程时参数列表中称为实际参数。过程调用的过程,就是实参与形参结合的过程。 6.3.2 传址与传值 1. 传址 在VB中,默认情况下实参与形参是传址传递数据的。 2. 传值 传值就是通过传送实参的值而不是传送地址的方法给被调用过程中的形参。系统把需要传送的实参复制到一个临时单元中,然后再把该临时的地址传送给形参。这样,被调用的过程并没有访问实参的地址,因而也就不会改变实参的值。 在VB中,区分传址与传值的标志为:传值时,在实参前加上ByVal,传址时,在实参前加上ByDef或者是默认。 3. 传送方式的选择 传址方式的效率比传值要高,但形参并不是一个真正的局部变量,有可能对程序的运行产生干扰。传值方式的效率虽然较低,但形参是一个真正的局部变量,不会对程序的运行产生干扰。 6.3.3 数组参数的传递 6.3.4 可选参数与可变参数 6.4 变量与过程的作用范围 6.4.1 过程的作用域 6.4.2变量的作用域 6.4.3 静态变量 6.5 递归 在VB中可以使用递归调用。通俗地讲,递归就是一个过程调用过程本身。在递归调用中,一个过程执行的某一步可能要用到它自身上面调用的结果。 递归分为两种类型,一种是直接递归,即在过程中调用过程本身;—种是间接递归,即间接地调用一个过程。 6.6 综合实例 6.6.1 查找 1.顺序查找 6.6.2 加密与解密 顺序查找即从数组的第一个元素开始与关键字进行比较,若相等则查找成功,否则,将下一个元素与关键字进行,直到最后一个,如果某个元素与关键字相等,则查找成功且停止继续查找。若找不到,则查找失败。 例6-13:利用顺序查找法找出数组中的某个数。 程序代码为: Dim a() Private Sub Command1_Click() Dim myrecord As Integer myword = Val(InputBox(请输入要查找的关键字)) Call search(a, myword, myrecord) If myrecord = -1 Then MsgBox 没有您要查找的关键字, vbInformation + vbOKOnly, 查询结果 Else MsgBox 您要查找的关键字位置为 myrecord, vbInformation + vbOKOnly, 查询结果 End If End Sub Public Sub search(p(), ByVal keyword, record As Integer) Dim x As Integer record = -1 For x = LBound(p) To UBound(p) If p(x) = keyword Then record = x: Exit For End If Next End Sub Private Sub Form_Click() ReDim a(0 To 50) For i = 0 To 50 a(i) = Int(Rnd * 91 + 10) Next End Sub 例6-14:从数组a中删除数组b中已有的数后形成新的数组x。 Dim a(), b() Private Sub Form_Click() 产生数组a和b ReDim a(1 To 10) : ReDim b(1 To 10) For i = 1 To 10 : a(i) = Int(Rnd * 31 + 40): Print a(i); :

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档