精通COBOL 11 2 2 子程式的呼叫順序

2021-04-17 05:10:42 字數 581 閱讀 2570

首先需要說明的是,子程式實際上就是普通的程式。當某一程式被其他程式呼叫時,該程式才相對呼叫的程式而言被稱作子程式。因此,當某一程式作為子程式被呼叫後,該程式也可再將其他程式作為子程式進行呼叫。

當多個程式進行呼叫時,便存在乙個呼叫順序的問題。關於子程式的呼叫順序,通常是提倡進行線形呼叫的。

例如,以下這種呼叫順序對於初學者是提倡的。q程式

a呼叫程式b

q程式b呼叫程式c

q程式c呼叫程式d

而以下這種呼叫順序對於初學者則是不被提倡的。q程式

a呼叫程式b

q程式b呼叫程式c

q程式c呼叫程式a

實際上,以上這種方式雖然不被提倡,但也是允許存在的。這種呼叫方式也叫遞迴呼叫。指的是程式直接或間接的自己呼叫自己。當使用遞迴呼叫時,需要在該程式的

program-id

段內加上

recursive

子句。否則,當進行遞迴呼叫時,將會出現相應的條件提示符。如果該條件提示符沒有被清除,該程式單元將停止執行。

總之,對於初學者而言,是提倡以線性方式呼叫程式的。遞迴呼叫涉及到的演算法和引數傳遞較為複雜,可在今後的學習中逐步掌握。

精通COBOL 11 2 1 子程式的命名規則

子程式的命名通常和普通程式的命名方式相同。但是需要注意的是,對於子程式而言,不可將其字首命名為以下這幾個名字。afbafh cbccee edcibm ifyigy igzilb 實際上,以上名字都屬於 ibm相關產品的名字。如果將子程式的字首命名為以上名字,則在主程式中將不能對其進行呼叫。當在主程...

精通COBOL 11 2 3 子程式的終止方式

當某一子程式被呼叫執行時,該程式通常有以下 3種發展方向。q呼叫另乙個子程式。q終止本子程式,並返回上一層主呼叫程式。q終止本子程式,同時退出整個系統。關於第一條發展方向,實際上在上一小節中已有所提到。此處重點看後兩種發展方向。其中對於第 2種發展方向,主要是通過 goback 或exit prog...

COBOL子程式呼叫

內部子程式 identification division.program id.proc a.environment division.data division.procedure division.identification division.program id.proc b.enviro...