第章子程序设计 第章子程序设计 61子程序的概念与特性 62子程序的结构形式 6.3子程序调用和返回指令 64子程序的设计 65子程序的参数传递方法 6.6子程序的嵌套与递归 6.7综合举例 BACK
第6章 子 程 序 设 计 第6章 子 程 序 设 计 6.1 子程序的概念与特性 6.2 子程序的结构形式 6.3 子程序调用和返回指令 6.4 子程序的设计 6.5 子程序的参数传递方法 6.6 子程序的嵌套与递归 6.7 综合举例
第章子程序设计 6.1子程序的概念与特性 6.1.1子程序的概念 人们在编写程序时,常常会遇到这样的情况:某些完成相 同的功能,只是加工的数据略有不同的指令组(程序段)需要在 个程序的若干不同地方使用多次,或是在一个程序中的多个 地方或多个程序中的多个地方用到了同一段程序。这些程序段 的功能和结构形式都相同,只是某些变量的赋值不同。那么就 可以将这段程序抽取出来存放在某一存储区域,每当需要执行 这段程序时,就转到这段程序去执行,执行完后再返回到原来 的程序继续运行。把抽取出来的这段具有特定功能的程序段称 为子程序
第6章 子 程 序 设 计 6.1 子程序的概念与特性 6.1.1 子程序的概念 人们在编写程序时,常常会遇到这样的情况:某些完成相 同的功能,只是加工的数据略有不同的指令组(程序段)需要在 一个程序的若干不同地方使用多次,或是在一个程序中的多个 地方或多个程序中的多个地方用到了同一段程序。这些程序段 的功能和结构形式都相同,只是某些变量的赋值不同。那么就 可以将这段程序抽取出来存放在某一存储区域,每当需要执行 这段程序时,就转到这段程序去执行,执行完后再返回到原来 的程序继续运行。把抽取出来的这段具有特定功能的程序段称 为子程序
第章子程序设计 例如,计算某个数的立方根可能在一个程序中使用多次,但 每次自变量不同。又如,设计名字识别程序时,有时需要判断字 符是否为字母,有时又需要判断字符是否为分隔符。这样的指令 组所包含的指令,少则几条十几条,多则数十条几百条。如果每 处都重复把它写一次,这显然太浪费程序设计的时间和计算机 的存储空间。但这又不能设计成循环程序。因此,人们通过实践, 在程序设计的早期就想出了一种较好的办法,就是把这组指令分 离出来,单独写成一个所谓的“子程序”,并建立进入它和从它 出来时所需要的连接信息。只需在需要处调用这个子程序就行 换言之,子程序方法使得人们把“多次编写”的情况转变成“ 次编写,多次调用”的情况。子程序相当于高级语言中的过程或 函数
第6章 子 程 序 设 计 例如,计算某个数的立方根可能在一个程序中使用多次,但 每次自变量不同。又如,设计名字识别程序时,有时需要判断字 符是否为字母,有时又需要判断字符是否为分隔符。这样的指令 组所包含的指令,少则几条十几条,多则数十条几百条。如果每 一处都重复把它写一次,这显然太浪费程序设计的时间和计算机 的存储空间。但这又不能设计成循环程序。因此,人们通过实践, 在程序设计的早期就想出了一种较好的办法,就是把这组指令分 离出来,单独写成一个所谓的“子程序”,并建立进入它和从它 出来时所需要的连接信息。只需在需要处调用这个子程序就行。 换言之,子程序方法使得人们把“多次编写”的情况转变成“一 次编写,多次调用”的情况。子程序相当于高级语言中的过程或 函数
第章子程序设计 通常,把要调用程序的那个程序称为主程序或调用程序,也 称转子;而把被调用的程序称为子程序或被调用程序,也称返主。 把它们之间控制的转移称为子程序的连接。主程序与子程序的关 系如图6-1所示 主/转子 程序 子程序 返主 图6-1主程序与子程序的关系
第6章 子 程 序 设 计 图6-1 主程序与子程序的关系 通常,把要调用程序的那个程序称为主程序或调用程序,也 称转子;而把被调用的程序称为子程序或被调用程序,也称返主。 把它们之间控制的转移称为子程序的连接。主程序与子程序的关 系如图6-1所示。 转子 子 程 序 主 程 序 返主
第章子程序设计 在程序设计的实际应用中,子程序的引入可以节省存储空 间及程序设计所花费的时间,有利于设计一个大而复杂的程序, 即把一个大而复杂的程序设计成一个主程序和若千个子程序。 这有助于减少程序的复杂性,便于模块化设计,也便于程序的 调试及修改等。但子程序也有其不足之处,这就是要多花费一 些机器时间
第6章 子 程 序 设 计 在程序设计的实际应用中,子程序的引入可以节省存储空 间及程序设计所花费的时间,有利于设计一个大而复杂的程序, 即把一个大而复杂的程序设计成一个主程序和若干个子程序。 这有助于减少程序的复杂性,便于模块化设计,也便于程序的 调试及修改等。但子程序也有其不足之处,这就是要多花费一 些机器时间