将程序分割成较小的逻辑部件就可以简化程序设计任务,称.ppt

将程序分割成较小的逻辑部件就可以简化程序设计任务,称.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
将程序分割成较小的逻辑部件就可以简化程序设计任务,称.ppt

第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); :Next: Print For i = 1 To 10 : b(i) = Int(Rnd * 21 + 40): Print b(i); :Next : Print End Sub

您可能关注的文档

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档