[更新日]1998.11.06
問8 次のCOBOLプログラムの説明及びプログラムを読んで、設問に答えよ。
〔プログラムの説明〕
ファックスを使用した料金記録ファイルを読み込んで,利用部署ごとに月ごとのファックス料金を集計した料金集計ファイルを作成するプログラムである。
(1) 料金記録ファイルのレコード様式は,次のとおりである。
利用年月日
8 けた
利用部署コード
5 けた
ファックス料金
利用年月日は,西暦で 4 けたの年,2 けたの月,2 けたの日からなる。
例:1998 年 10 月 18 日ならば“19981018”となる。
同じ利用年月日,同じ利用部署コードのレコードが,複数件存在することもある。
ファイルの内容は,すべて正しいものとする。
(2) 料金集計ファイルのレコード様式は,次のとおりである。
利用年月
6 けた
ファックス料金合計
利用部署コード,利用年月の昇順に出力される。
利用年月は,西暦で 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