戻る

出力サンプル -TESTCOBOL4(日本語表示版)-

元のソースコード

****************************************************************** * Author: * Date: * Purpose: * Tectonics: cobc ****************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. TESTCOBOL4. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EMPF ASSIGN TO 'EMPFILE' ORGANIZATION INDEXED ACCESS MODE IS RANDOM RECORD KEY IS EMPKEY. DATA DIVISION. FILE SECTION. FD EMPF. 01 EMPF-REC. 03 EMPKEY PIC X(3). 03 EMPNO REDEFINES EMPKEY PIC 9(3). 03 EMPNAME PIC X(10). WORKING-STORAGE SECTION. PROCEDURE DIVISION. MAIN SECTION. MAIN-PROCEDURE. DISPLAY "社員ファイル作成". PERFORM INIT-RTN. PERFORM MAIN-RTN UNTIL EMPNO = 999. PERFORM END-RTN. STOP RUN. MAIN-END. EXIT. INIT-RTN SECTION. INIT-S. OPEN OUTPUT EMPF. INIT-E. EXIT. MAIN-RTN SECTION. MAIN-S. DISPLAY "社員番号を入れてください". ACCEPT EMPNO. IF EMPNO = 999 GO TO MAIN-E. DISPLAY "社員名をいれてください". ACCEPT EMPNAME. WRITE EMPF-REC. MAIN-E. EXIT. END-RTN SECTION. END-S. CLOSE EMPF. END-E. EXIT. END PROGRAM TESTCOBOL4.

セクション関係図
classDiagram %%{init: {'theme':'base','themeVariables':{ 'primaryColor':'#ececff', 'primaryTextColor':'black', 'primaryBorderColor':'#000000', 'lineColor':'black', 'textColor':'black', 'fontSize':'15px'}}}%% %%{ init: { 'flowchart': { 'curve': 'basis' } } }%% %%データ設定 class 1["セクションNO:1 MAIN"] { +PERFORM INIT-RTN +PERFORM MAIN-RTN +PERFORM END-RTN } class 2["セクションNO:2 INIT-RTN"] class 3["セクションNO:3 MAIN-RTN"] class 4["セクションNO:4 END-RTN"] %%ルート設定 1 -->2:perform 1 -->3:perform 1 -->4:perform

フローチャート図で表現したもの

セクション:MAIN
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#808080', 'textColor':'#6A7FABCC', 'fontSize''15px'}}}%% %%{ init: { 'flowchart': { 'curve': 'basis' } } }%% graph TD; classDef default fill:#FFFFE0,stroke:#333,stroke-width:2px; classDef clrPattern1 fill:#FFFF00,stroke:#333,stroke-width:2px; classDef clrPattern2 fill:#F0E68C,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADD8E6,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADFF2F,stroke:#333,stroke-width:2px; linkStyle default stroke:#808080,stroke-width:2px; %%データ項目 5(["26行目 セクション開始"]) 6[/"28行目 「社員ファイル作成」を表示する"/]:::clrPattern5 7[["29行目 INIT-RTNセクションを1回だけ実行する"]]:::clrPattern3 8[/"30行目 従業員番号 = 999が満たされるまでMAIN-RTNセクシ ョンを繰り返す "\]:::clrPattern2 9[["30行目 MAIN-RTNセクションを1回だけ実行する"]]:::clrPattern3 10[\"30行目 繰返文終了"/]:::clrPattern2 11[["31行目 END-RTNセクションを1回だけ実行する"]]:::clrPattern3 12["32行目 実行を終了する"] 13(["34行目 セクション終了"]) %%ルート設定 5-->6 6-->7 7-->8 8-->9 9-->10 10-->|繰返文を継続する|8 10-->|繰返文を終了する|11 11-->12 12-->13
セクション:INIT-RTN
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#808080', 'textColor':'#6A7FABCC', 'fontSize''15px'}}}%% %%{ init: { 'flowchart': { 'curve': 'basis' } } }%% graph TD; classDef default fill:#FFFFE0,stroke:#333,stroke-width:2px; classDef clrPattern1 fill:#FFFF00,stroke:#333,stroke-width:2px; classDef clrPattern2 fill:#F0E68C,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADD8E6,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADFF2F,stroke:#333,stroke-width:2px; linkStyle default stroke:#808080,stroke-width:2px; %%データ項目 14(["35行目 セクション開始"]) 15[/"37行目 OUTPUTモードで従業員ファイルを開く"/]:::clrPattern4 16(["39行目 セクション終了"]) %%ルート設定 14-->15 15-->16
セクション:MAIN-RTN
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#808080', 'textColor':'#6A7FABCC', 'fontSize''15px'}}}%% %%{ init: { 'flowchart': { 'curve': 'basis' } } }%% graph TD; classDef default fill:#FFFFE0,stroke:#333,stroke-width:2px; classDef clrPattern1 fill:#FFFF00,stroke:#333,stroke-width:2px; classDef clrPattern2 fill:#F0E68C,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADD8E6,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADFF2F,stroke:#333,stroke-width:2px; linkStyle default stroke:#808080,stroke-width:2px; %%データ項目 17(["40行目 セクション開始"]) 18[/"42行目 「社員番号を入れてください」を表示する"/]:::clrPattern5 19[/"43行目 従業員番号を入力する"/]:::clrPattern4 20{"44行目 条件文"}:::clrPattern1 22(["45行目 条件を満たす場合"]) 23[/"45行目 MAIN-Eラベルへ制御を移す(GOTO)"/]:::clrPattern5 24(["45行目 条件文を終了する"]) 25[/"46行目 「社員名をいれてください」を表示する"/]:::clrPattern5 26[/"47行目 従業員名を入力する"/]:::clrPattern4 27[/"48行目 従業員レコードに書き込む"/]:::clrPattern5 28[/"49行目 GOTO先段落|MAIN-E"/]:::clrPattern4 29(["50行目 セクション終了"]) %%ルート設定 17-->18 18-->19 19-->20 20-->|条件文 真 |22 20-->|条件文 偽 |24 22-->23 23-->28 24-->25 25-->26 26-->27 27-->28 28-->29 style j1 color:red,fill-opacity:0, stroke-opacity:0 style j2 color:red,fill-opacity:0, stroke-opacity:0 subgraph j1["従業員番号 = 999を評価する"] subgraph j2[ ] 20 end end
セクション:END-RTN
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#808080', 'textColor':'#6A7FABCC', 'fontSize''15px'}}}%% %%{ init: { 'flowchart': { 'curve': 'basis' } } }%% graph TD; classDef default fill:#FFFFE0,stroke:#333,stroke-width:2px; classDef clrPattern1 fill:#FFFF00,stroke:#333,stroke-width:2px; classDef clrPattern2 fill:#F0E68C,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADD8E6,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADFF2F,stroke:#333,stroke-width:2px; linkStyle default stroke:#808080,stroke-width:2px; %%データ項目 30(["51行目 セクション開始"]) 31[/"53行目 従業員ファイルを閉じる"/]:::clrPattern5 32(["55行目 セクション終了"]) %%ルート設定 30-->31 31-->32