COBOL入門 Mission3-5
処 理 内 容 |
PROGRAM-ID |
難易度 |
言語 |
指定したプログラムを表示する |
LST005 |
1 |
COBOL |
|
1:処理図
|
2:処理概要
LST004に条件追加
表示するプログラムを繰り返し指定する
最初にガイドメッセージを表示する
"program-name x(6) type-in end=end005"
☆プログラムの終了条件 end005が入力された時
☆ファイルのopen-checkはしなくとも良い
※図は手違いでLST040になってます
|
|
3:ファイル名称 |
I-O |
外部ファイル名 |
編成 |
KP/KL |
RL/BF |
access |
(1)ソースプログラム |
in |
c:\cobol\??????.cbl |
seq |
/ |
72/1 |
順 |
|
5:出力メッセージ
スタート時 "!!! LST005-STARTED !!!"
終了時 "!!! LST005-ENDED !!!"
表示するプログラムの終了時 "!!! プログラム名 DISPLAY-END !!!"
表示するプログラムがない時 "!!! プログラム名 NOT-FOUND !!!"
|
6:その他
・繰り返し処理をする場合はカウンタをクリアすることが必要です
・色々な指定をして、機能の確認をしてみましょう(条件通り動作するか)
存在するプログラム、存在しないプログラムの指定をしてみよう!
|
|
******** (任意のプログラムを繰返し指定) 整構造 ********
IDENTIFICATION DIVISION.
PROGRAM-ID. LST005.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT F1 ASSIGN TO f1idt STATUS 状態
ACCESS MODE IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD F1.
01 F1R PIC X(72).
WORKING-STORAGE SECTION.
01 状態 PIC X(02).
01 確認 PIC X(01).
01 行数 PIC 9(02) VALUE 0.
01 F1IDT.
03 PIC X(09) VALUE "c:\cobol\".
03 名前 PIC X(06).
03 PIC X(04) VALUE ".cbl".
PROCEDURE DIVISION.
PERFORM UNTIL 名前 = "END005"
DISPLAY "プログラム名 6桁 タイプイン 終了-->END005"
ACCEPT 名前
IF 名前 = "END005"
THEN DISPLAY "<<< LST005 - 終了 >>>"
ELSE OPEN INPUT F1
INITIALIZE 行数
PERFORM UNTIL 状態 NOT = "00"
READ F1
END DISPLAY "!!! 表示 - 終了 !!!"
NOT END DISPLAY F1R
ADD 1 TO 行数
IF 行数 = 20
THEN DISPLAY "NEXT ? TYPE-IN Y"
ACCEPT 確認 MOVE 0 TO 行数
ELSE CONTINUE
END-IF
END-READ
END-PERFORM
CLOSE F1
END-IF
END-PERFORM
STOP RUN.
[ ACCEPT 確認 ] の説明
ACCEPT命令を利用すればプログラム処理中に任意の値を入力することができます。 ACCEPT命令を受けると、プログラムは値を入力されるまで処理を中断します。ご主人様の命令を受けるまで、何分でも何時間でも待ってくれます。STOP命令でも処理を中断できますが、STOP命令はブレイクポイントなど、主にデバッグで用いられるのに対し、ACCEPT命令は入力値による処理分岐として多用されるます。用途に合わせ、使い分けてください。
上記プログラムの場合は、入力された値が「END005」の場合に処理を終了し、それ以外の場合は指定されたファイルを検索し内容を表示します。