戻る

出力サンプル -COBOLサンプル1(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.

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

セクション
MAIN SECTION.
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#000000', '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:#FFA500,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADFF2F,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADD8E6,stroke:#333,stroke-width:2px; linkStyle default stroke:#000000,stroke-width:2px; %%データ定義 6("処理 開始") 7[/" 【出力】 28: DISPLAY ゛社員ファイル作成゛"/]:::clrPattern3 8[[" 【呼出】 29: PERFORM INIT-RTN"]]:::clrPattern5 9[/" 【繰返し文開始】 30: PERFORM MAIN-RTN UNTIL EMPNO = 999 "\]:::clrPattern2 12[[" 【呼出】 30: PERFORM MAIN-RTN UNTIL EMPNO = 999 "]]:::clrPattern5 13[\"30:繰返文終了"/]:::clrPattern2 14[[" 【呼出】 31: PERFORM END-RTN"]]:::clrPattern5 15[/"【STOP RUN】 32: STOP RUN"/]:::clrPattern3 16("処理 終了") %%ルート 6-->7 7-->8 8-->9 9-->|ループ開始|12 12-->13 13-->|ループ終了|9 13-->|ループ継続|14 14-->15 15-->16
セクション
INIT-RTN SECTION.
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#000000', '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:#FFA500,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADFF2F,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADD8E6,stroke:#333,stroke-width:2px; linkStyle default stroke:#000000,stroke-width:2px; %%データ定義 17("処理 開始") 18[/" 【入力】 37: OPEN OUTPUT EMPF"/]:::clrPattern4 19("処理 終了") %%ルート 17-->18 18-->19
セクション
MAIN-RTN SECTION.
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#000000', '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:#FFA500,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADFF2F,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADD8E6,stroke:#333,stroke-width:2px; linkStyle default stroke:#000000,stroke-width:2px; %%データ定義 20("処理 開始") 21[/" 【出力】 42: DISPLAY ゛社員番号を入れ てください゛ "/]:::clrPattern3 22[/" 【入力】 43: ACCEPT EMPNO"/]:::clrPattern4 23{"44:条件文"}:::clrPattern1 26[/"【GOTO文】 45: GO TO MAIN-E"/]:::clrPattern3 27(("45: ENDIF")) 28[/" 【出力】 46: DISPLAY ゛社員名をいれてください゛"/]:::clrPattern3 29[/" 【入力】 47: ACCEPT EMPNAME"/]:::clrPattern4 30[/" 【出力】 48: WRITE EMPF-REC"/]:::clrPattern3 31[/" 【制御入力(GOTO先)】 49: MAIN-E"/]:::clrPattern4 32("処理 終了") %%ルート 20-->21 21-->22 22-->23 23-->|真(TRUE)|26 23-->|偽(FALSE)|27 26-->31 27-->28 28-->29 29-->30 30-->31 31-->32 style sg1 color:red,fill-opacity:0, stroke-opacity:0; subgraph sg1["IF EMPNO = 999"] 23 end
セクション
END-RTN SECTION.
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#000000', '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:#FFA500,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADFF2F,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADD8E6,stroke:#333,stroke-width:2px; linkStyle default stroke:#000000,stroke-width:2px; %%データ定義 33("処理 開始") 34[/" 【CLOSE文】 53: CLOSE EMPF"/]:::clrPattern3 35("処理 終了") %%ルート 33-->34 34-->35