第6章模块化程序设计 第06章模块化程序设计 6.1 模块化程序设计的意义 6.2 Sub子过程 6.3 Function过程 6.4 参数传递 6.5 变量、过程的作用域 6.6 应用举例 6.7 过程的递归调用 计算机基础教学部
第 6 章 模 块 化 程 序 设 计 计算机基础教学部 第06章 模块化程序设计 6.1 模块化程序设计的意义 6.2 Sub子过程 6.3 Function过程 6.4 参数传递 6.5 变量、过程的作用域 6.6 应用举例 6.7 过程的递归调用
6.1 模块化程序设计意义 第6章模快化程序设计 将一个较大的程序划分为若干个只完成一个或多 个特定功能的模块,这些模块通过执行一系列的语句来 完成某个特定的操作过程,称之为“过程”。 使用过程编程有两大好处: 1.过程可使程序划分成离散的逻辑单元,每个单元 都比无过程的整个程序容易调试。 2.一个程序中的过程,往往不必修改或只需稍作改 动,便可以成为另一个程序的构件。 3.模块化有利于多人分工合作开发复杂大型软件, 加快开发进程
第 6 章 模 块 化 程 序 设 计 将一个较大的程序划分为若干个只完成一个或多 个特定功能的模块,这些模块通过执行一系列的语句来 完成某个特定的操作过程,称之为“过程” 。 使用过程编程有两大好处: 1.过程可使程序划分成离散的逻辑单元,每个单元 都比无过程的整个程序容易调试。 2.一个程序中的过程,往往不必修改或只需稍作改 动,便可以成为另一个程序的构件。 3. 模块化有利于多人分工合作开发复杂大型软件, 加快开发进程。 6.1 模块化程序设计意义
6.1模块化程序设计意义 第6章模快化程序设计 ■VB过程的分类: 1.内部过程:包括系统内部的函数过程 (abs,sqr) 和事件过程(command1 click())。 2.用户自定义过程:用户根据自己的需要定义的 可供应用程序多次调用的过程。 ■VB中的自定义过程又分为: (1)以Sub开始的子过程; (2)以Funct ion?开始的函数过程; (3)以Property:开始的属性过程; (4)以Event开始的事件过程
第 6 章 模 块 化 程 序 设 计 ◼ VB过程的分类: 1.内部过程: 包括系统内部的函数过程(abs,sqr) 和事件过程(command1_click())。 2.用户自定义过程: 用户根据自己的需要定义的, 可供应用程序多次调用的过程。 ◼ VB中的自定义过程又分为: (1) 以Sub开始的子过程; (2) 以Function开始的函数过程; (3) 以Property开始的属性过程; (4) 以Event开始的事件过程。 6.1 模块化程序设计意义
6.2 Sub过程 第6章模快化程序设计 1.Sub过程的建立 两种方式,一般只用第二种方式一直接 写代码
第 6 章 模 块 化 程 序 设 计 1. Sub过程的建立 两种方式,一般只用第二种方式——直接 写代码。 6.2 Sub过程
6.2Sub过程 第万章模块化程序设计 例6-1:过程可多次被主程序调用,演示代码的重用性 过程包含两个参数,一个传入,一个传出,均为传 地址方式。 例6-2:利用数组完成一组数的传递,形参与实参共用 数组。 例6-3:过程包含三个参数,两个传入,一个传出,由 于采用的是传地址方式,当传入的两个值在过程中 被改变后,将影响主程序中后续计算结果,引出第 二种数据交换方式一传值方式 例6-4:两种形参与实参的对接方式对比
第 6 章 模 块 化 程 序 设 计 例6-1:过程可多次被主程序调用,演示代码的重用性 过程包含两个参数,一个传入,一个传出,均为传 地址方式。 例6-2:利用数组完成一组数的传递,形参与实参共用 数组。 例6-3:过程包含三个参数,两个传入,一个传出,由 于采用的是传地址方式,当传入的两个值在过程中 被改变后,将影响主程序中后续计算结果,引出第 二种数据交换方式——传值方式 例6-4:两种形参与实参的对接方式对比 6.2 Sub过程
6.2 Sub过程 第6章模块化程序设计 例6-5:传地址方式的应用,要获得一个结果,只需要 预设一个返回结果的形参。 例6-6:传地址方式的应用,要获得多个结果,需要预 设多个返回结果的形参
第 6 章 模 块 化 程 序 设 计 例6-5:传地址方式的应用,要获得一个结果,只需要 预设一个返回结果的形参。 例6-6:传地址方式的应用,要获得多个结果,需要预 设多个返回结果的形参。 6.2 Sub过程
6.3 Function(函数)过程 第万章模块化程序设计 Funct ion过程可以认为是sub过程的特例,创建与 sub过程没有任何区别,对于所有sub过程,将其中的sub 改成Function,不会对程序的运行有任何影响,但因为 funct ion过程可以通过过程名带回一个结果值,所以当 过程返回值只有一个的时候,用funct ion过程在调用时 会象使用内部函数一样方便。 仅此而已!
第 6 章 模 块 化 程 序 设 计 Function过程可以认为是sub过程的特例,创建与 sub过程没有任何区别,对于所有sub过程,将其中的sub 改成Function,不会对程序的运行有任何影响,但因为 function过程可以通过过程名带回一个结果值,所以当 过程返回值只有一个的时候,用function过程在调用时 会象使用内部函数一样方便。 仅此而已! 6.3 Function(函数)过程
6.3 Function(函数)过程 第6章模块化程序设计 例6-7两种过程在定义和调用上的对比
第 6 章 模 块 化 程 序 设 计 6.3 Function(函数)过程 例6-7 两种过程在定义和调用上的对比
6.3 Function(函数)过程 第6章模快化程序设计 函数过程的调用 1,直接调用,即有返回值的调用,该方法调用的函数必须作为表 达式或表达式中的一部分,再配以其他的语法成分构成语句。 最简单的情况就是在赋值语句中调用函数过程,其形式为: 变量名=函数过程名(实参表) 2.用ca语句调用,即当成sub过程调用,格式为: caI川过程名(实际参数表) 或 过程名实际参数表 3.无参函数调用,调用无参函数,只须写出函数名 如:Now Time Date等函数
第 6 章 模 块 化 程 序 设 计 函数过程的调用 1.直接调用,即有返回值的调用,该方法调用的函数必须作为表 达式或表达式中的一部分,再配以其他的语法成分构成语句。 最简单的情况就是在赋值语句中调用函数过程,其形式为: 变量名=函数过程名(实参表) 2.用call语句调用,即当成sub过程调用,格式为: call 过程名(实际参数表) 或 过程名 实际参数表 3.无参函数调用,调用无参函数,只须写出函数名 如:Now Time Date等函数 6.3 Function(函数)过程
6.3 Function(函数)过程 第6章模块化程序设计 说明: 在定义函数时,在函数名后指定的参数称为形式参数;在调用 函数时,函数名后指定的参数称为实际参数。在函数调用时, 实参通过形参将数据传递给被调用函数。 如果函数在被调用时不需要传递数据,定义时可以不指定形参 (即为无参函数)。 函数被调用后可以返回一个运算结果,即函数值。函数值是通 过给函数名赋值的方法获得的。 函数也可以没有返回值,调用无返回值的函数,或不需要函数 的返回值时,可以采用第二种调用格式
第 6 章 模 块 化 程 序 设 计 说明: ⚫ 在定义函数时,在函数名后指定的参数称为形式参数;在调用 函数时,函数名后指定的参数称为实际参数。在函数调用时, 实参通过形参将数据传递给被调用函数。 ⚫ 如果函数在被调用时不需要传递数据,定义时可以不指定形参 (即为无参函数)。 ⚫ 函数被调用后可以返回一个运算结果,即函数值。函数值是通 过给函数名赋值的方法获得的。 ⚫ 函数也可以没有返回值,调用无返回值的函数,或不需要函数 的返回值时,可以采用第二种调用格式 6.3 Function(函数)过程