




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本章内容 Function过程过程 Sub过程过程 引言 引言 例例5.19 5.19 求解求解s = 1! s = 1! + 2! + 3! + + 10!+ 2! + 3! + + 10!的值的值 例例7.27.2 计算计算5! + 10!5! + 10! t = 1 For i = 1 To 10 t = t * i Next i Private Sub Jc( n As Integer, t As Long ) Dim i As Integer t = 1 For i = 1 To n t = t * i Next i End Sub 注意参数注意参数n及及t的调用情况的调用情况 例
2、例7.27.2 计算计算5! + 10!5! + 10! 过程有两个重要作用:一是把一个复杂的任务分解为过程有两个重要作用:一是把一个复杂的任务分解为 若干个小任务,可以用过程来表达,从而使任务更易理解,若干个小任务,可以用过程来表达,从而使任务更易理解, 更易实现,将来更易维护;二是代码重用,使同一段代码多更易实现,将来更易维护;二是代码重用,使同一段代码多 次复用。次复用。 调用过程调用过程 Call SubA Call SubA Call SubB 子过程子过程SubA 子过程子过程SubB 通用过程 Private Sub mysub1(n) Print String(n, *) En
3、d Sub Private Sub mysub2( ) Print *; Tab(30); * End Sub Sub过程 参数参数n 无参数无参数 Sub过程的定义 Sub过程的调用 函数过程 函数过程体函数过程体 函数过程说明 函数过程的调用 jiechen(5) jiechen(6) jiechen(7) a = jiechen(5) b = jiechen(6) c = jiechen(7) Print jiechen(5) + jiechen(6) + jiechen(7) Function Jc( n As Integer) As Long Dim i As Integer , t
4、 as Long t = 1 For i = 1 To n t = t * i Next i Jc = t End Function 例例7.37.3 计算计算5! + 10!5! + 10! Function Jc( n %) As Long Dim i As Integer Jc = 1 For i = 1 To n Jc = Jc * i Next i End Function Private Sub Jc( n As Integer, t As Long ) Dim i As Integer t = 1 For i = 1 To n t = t * i Next i End Sub 例
5、例7.27.2 计算计算5! + 10!5! + 10! Function max(m!, n!) As Single If m n Then max = m Else max = n End If End Function 调用调用 调用调用 例例7.47.4 输入三个数,求出它们的最大数输入三个数,求出它们的最大数 实参传实参传 给形参给形参 ( am) Sub max(m!, n!, t!) If m n Then t = m Else t = n End If End Function 例例7.47.4 输入三个数,求出它们的最大数输入三个数,求出它们的最大数 函数过程与Sub过程的区
6、别 函数过程与Sub过程的区别 a = jiechen(5) b = jiechen(6) c = jiechen(7) Print jiechen(5) + jiechen(6) + jiechen(7) 函数过程与函数过程与Sub过程过程 函数过程定义的方法 创建通用过程的方法 参数的传递 s = max(a, b) Function max(m, n) As Single End Function 实参实参形参形参 参数传递的方式 Sub test1(ByVal t As Integer) t = t + 5 End Sub Sub test2(s As Integer) s = s -
7、 5 End Sub 运行结果运行结果 执行执行Test1前,前,x=5 执行执行Test1后,后,Test2前,前,x=5 执行执行Test2后,后,x=0 例例7.5 参数传递方式示例参数传递方式示例 按值传递按值传递 按地址传递按地址传递 传递方式示意图 5 Form_Load( )test1( ) x t 实参实参 形参形参 (a) 值传递值传递 5 xs (b) 地址传递地址传递 实参和形参共享单元实参和形参共享单元 0 Form_Load( )test2( ) 5 10 Private Sub Jc( n As Integer, t As Long ) Dim i As Integ
8、er t = 1 For i = 1 To n t = t * i Next i End Sub 注意参数注意参数n及及t的调用情况的调用情况 例例7.27.2 计算计算5! + 10!5! + 10! Sub max(m, n, t) If m n Then t = m Else t = n End If End Function 调用调用 调用调用 例例7.37.3 输入三个数,求出它们的最大数输入三个数,求出它们的最大数 n! m!(n-m)! 7.37.3 过程的嵌套调用过程的嵌套调用 程序中,采用了过程的嵌套调用方式。程序中,采用了过程的嵌套调用方式。 在事件过程在事件过程Form_
9、Load()中调用了中调用了 Calcomb过程,而在过程,而在Calcomb过程中调用过程中调用 了三次了三次jc过程。过程。 调调 用用 调调 用用 过程的嵌套调用过程的嵌套调用 a=Calcomb(n,m) b=Jc(n) 事件过程事件过程 Form_Load Function过程过程 Calcomb(n,m) Function过程过程 Jc(x) 结束结束 开始开始 变量的作用域 应用程序应用程序 (.vbp)文件文件 至少有一个或若干个窗至少有一个或若干个窗 体模块体模块 (.frm)文件文件 其它模块如类模块其它模块如类模块(.cls) 文件等文件等 可以有一个或若干个标可以有一个
10、或若干个标 准模块准模块 (.bas)文件文件 事件过程事件过程(sub) 子过程子过程(sub) 函数过程函数过程(function) 子过程子过程(sub) 函数过程函数过程(function) 自定义属性过程自定义属性过程 自定义方法过程自定义方法过程 自定义事件过程自定义事件过程 创建通用过程的方法 变量的作用域 这两个同名变量这两个同名变量Sum没有任何联系没有任何联系 变量的生存期 Private Sub Command1_Click( ) Dim a As Integer a是动态变量是动态变量 Static b As Integer b是静态变量是静态变量 a = a + 1
11、每次进入过程时每次进入过程时 a值为值为0 b = b + 1 每次进入过程时每次进入过程时 b保持上次的保持上次的 值值 End Sub 静态变量(局部变量) 静态变量(局部变量) 运行后,运行后,3次单击命令按钮,次单击命令按钮, 执行结果为:执行结果为: 1 3 7 例例7.6 Static Sub语句示例语句示例 将将 运行后,运行后,3次单击命次单击命 令按钮,执行结果为:令按钮,执行结果为: 1 1 1 过程的作用域 例 Private 多窗体与Sub Main过程 例例7.7 7.7 多窗体应用示例多窗体应用示例 计算两数之和及积计算两数之和及积 启动启动 窗体窗体 主窗体主窗体 输入两个数输入两个数 计算计算 定义全局变量定义全局变量 先卸载所有已先卸载所有已 打开的窗体打开的窗体 Text21 Text22 End Sub Text31 Sub MainSub Main过程过程 例例7.8 7.8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兔子租赁合同范本
- 2024年秋新人教PEP版三年级上册英语教学课件 Unit 5 Part A 第2课时
- 2025年人工智能训练师(高级技师)职业技能鉴定参考指导题库(含答案)
- 个人房车出售合同范本
- 小型家装合同范本
- 2025至2030年中国换档杆上壳数据监测研究报告
- 2025至2030年中国干洗软棉数据监测研究报告
- 眼外伤术后护理
- 纹身招学徒合同范本
- 合作办学校合同范本
- 理发店业务转让协议书范本
- 2024年江苏省中学生生物学奥林匹克初赛理论试题
- 环境年度报告
- 生产流水线的规划方案
- 小针刀疗法教学课件
- 打造写生基地方案
- 写作:广告词-【中职专用】高二语文高效课堂(高教版2023·职业模块)
- 爆发性心肌炎护理查房课件
- 销售人员人才画像
- 鑫宇锌合金模具设计标准
- 整理我的小书桌(课件)小学劳动二年级通用版
评论
0/150
提交评论