精通COBOL--11.2.2 子程序的调用顺序

 

  首先需要说明的是,子程序实际上就是普通的程序。当某一程序被其他程序调用时,该程序才相对调用的程序而言被称作子程序。因此,当某一程序作为子程序被调用后,该程序也可再将其他程序作为子程序进行调用。

当多个程序进行调用时,便存在一个调用顺序的问题。关于子程序的调用顺序,通常是提倡进行线形调用的。

例如,以下这种调用顺序对于初学者是提倡的。

q      程序A调用程序B

q      程序B调用程序C

q      程序C调用程序D

而以下这种调用顺序对于初学者则是不被提倡的。

q      程序A调用程序B

q      程序B调用程序C

q      程序C调用程序A

实际上,以上这种方式虽然不被提倡,但也是允许存在的。这种调用方式也叫递归调用。指的是程序直接或间接的自己调用自己。当使用递归调用时,需要在该程序的PROGRAM-ID段内加上RECURSIVE子句。否则,当进行递归调用时,将会出现相应的条件提示符。如果该条件提示符没有被清除,该程序单元将停止运行。

总之,对于初学者而言,是提倡以线性方式调用程序的。递归调用涉及到的算法和参数传递较为复杂,可在今后的学习中逐步掌握。


更多精彩内容