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」の場合に処理を終了し、それ以外の場合は指定されたファイルを検索し内容を表示します。


<< Back    Index    Next >>   < Top >