[更新日]1998.11.06


問8 次のCOBOLプログラムの説明及びプログラムを読んで、設問に答えよ。

〔プログラムの説明〕

ファックスを使用した料金記録ファイルを読み込んで,利用部署ごとに月ごとのファックス料金を集計した料金集計ファイルを作成するプログラムである。

(1) 料金記録ファイルのレコード様式は,次のとおりである。

利用年月日

8 けた

利用部署コード

5 けた

ファックス料金

5 けた

 利用年月日は,西暦で 4 けたの年,2 けたの月,2 けたの日からなる。

例:1998 年 10 月 18 日ならば“19981018”となる。

 同じ利用年月日,同じ利用部署コードのレコードが,複数件存在することもある。

 ファイルの内容は,すべて正しいものとする。

(2) 料金集計ファイルのレコード様式は,次のとおりである。

利用部署コード

5 けた

利用年月

6 けた

ファックス料金合計

8 けた

 利用部署コード,利用年月の昇順に出力される。

 利用年月は,西暦で 4 けたの年,2 けたの月からなる。

 利用部署,利用年月ごとのファックス料金合計は,8 けたを超えないものとする。

〔プログラム〕

DATA              DIVISION.
FILE              SECTION.
FD  RYOKIN-FILE.
01  RYOKIN-REC.
    03  R-YYYYMMDD      PIC X(8).
    03  R-BUSHO         PIC X(5).
    03  R-KINGAKU       PIC 9(5).
FD  GOKEI-FILE.
01  GOKEI-REC           PIC X(19).
SD  SORT-FILE.
01  SORT-REC.
    03  S-YYYYMM        PIC X(6).
    03  S-DD            PIC X(2).
    03  S-BUSHO         PIC X(5).
    03  S-KINGAKU       PIC 9(5).
 
WORKING-STORAGE   SECTION.
01  EOF-FLAG            PIC X(1)   VALUE SPACE.
01  W-REC.
    03  W-BUSHO         PIC X(5).
    03  W-YYYYMM        PIC X(6).
    03  W-SHUKEI        PIC 9(8).
PROCEDURE         DIVISION. 
MAIN-RTN.      
    SORT SORT-FILE
       
       USING RYOKIN-FILE
       .
    STOP RUN.
SHUKEI-RTN.
    OPEN OUTPUT GOKEI-FILE.
    RETURN SORT-FILE AT END
       MOVE "E" TO EOF-FLAG
    NOT AT END
       MOVE S-BUSHO TO W-BUSHO
       MOVE S-YYYYMM TO W-YYYYMM
       
    END-RETURN. 
    PERFORM UNTIL EOF-FLAG = "E"
       RETURN SORT-FILE AT END
          WRITE GOKEI-REC FROM W-REC
          MOVE "E" TO EOF-FLAG
       NOT AT END
          IF 
             
          ELSE
             WRITE GOKEI-REC FROM W-REC
             MOVE S-BUSHO TO W-BUSHO
             MOVE S-YYYYMM TO W-YYYYMM
             
          END-IF
       END-RETURN 
    END-PERFORM. 
    CLOSE GOKEI-FILE.
 

設問 プログラム中の に入れる正しい答えを,解答群の中から選べ。

a に関する解答群

ア ON ASCENDING KEY R-BUSHO R-YYYYMMDD

イ ON ASCENDING KEY R-YYYYMMDD R-BUSHO

ウ ON ASCENDING KEY S-BUSHO S-YYYYMM

エ ON DESCENDING KEY R-BUSHO R-YYYYMMDD

オ ON DESCENDING KEY S-BUSHO S-YYYYMM

カ ON DESCENDING KEY S-YYYYMM S-BUSHO

b に関する解答群

ア GIVING SHUKEI-RTN

イ INPUT PROCEDURE IS SHUKEI-RTN

ウ OUTPUT PROCEDURE IS SHUKEI-RTN

エ READ SHUKEI-RTN

オ USING SHUKEI-RTN

カ WRITE SHUKEI-RTN

c,e に関する解答群

ア COMPUTE S-KINGAKU = S-KINGAKU + R-KINGAKU

イ COMPUTE W-SHUKEI = W-SHUKEI + R-KINGAKU

ウ COMPUTE W-SHUKEI = W-SHUKEI + S-KINGAKU

エ MOVE R-KINGAKU TO S-KINGAKU

オ MOVE R-KINGAKU TO W-SHUKEI

カ MOVE S-KINGAKU TO W-SHUKEI

d に関する解答群

ア R-BUSHO = S-BUSHO AND W-YYYYMM = S-YYYYMM

イ R-BUSHO = S-BUSHO OR W-YYYYMM = S-YYYYMM

ウ W-BUSHO = S-BUSHO AND W-YYYYMM = S-YYYYMM

エ W-BUSHO = S-BUSHO OR R-BUSHO = S-BUSHO

オ W-BUSHO = S-BUSHO OR W-YYYYMM = S-YYYYMM


戻る 次頁:問09