![]()
平成29年 春期 基本情報技術者 午後 問10
問10 COBOL
次の COBOL プログラムの説明及びプログラムを読んで,設問1,2に答えよ。 〔プログラムの説明〕 八つの支店をもつZ社は4月〜翌年3月を事業年度としており, 毎年4月に前年度の売上データを集計して売上マスタファイルに格納する。 このプログラムは,売上伝票ファイルに格納された前年度の売上データを集計して, 売上マスタファイルに格納する。 (1) 売上伝票ファイルは,図1に示すレコード様式の順ファイルである。
![]() 図1 売上伝票ファイルのレコード様式
A 支店番号には,各支店に対応する 01 〜 08 の番号が格納されている。 支店1は 01,支店2は 02,…,支店8は 08 である。 B 伝票番号には,各支店で一意となる6桁の数字が格納されている。 C 売上日には,西暦の年,月,日が,それぞれ4桁,2桁,2桁で格納されている。 (2) 売上マスタファイルは,図2に示すレコード様式の索引ファイルである。主キーは売上年月である。
![]() 図2 売上マスタファイルのレコード様式
A 支店別売上金額には,当該年月における各支店の売上金額が格納される。 各支店の月間の売上金額が9桁を超えることはない。 B 売上金額合計には,当該年月における全支店の売上金額の合計が格納される。 C 売上マスタファイルには,このプログラムを実行する時点で,2000 年度から 前々年度までのデータが格納されている。 〔プログラム〕 (行番号) 1 DATA DIVISION. 2 FILE SECTION. 3 SD SRT-FILE. 4 Ø1 SRT-REC. 5 Ø2 SRT-BRANCH PIC 9(2). 6 Ø2 SRT-NO PIC 9(6). 7 Ø2 SRT-DATE. 8 Ø3 SRT-YYYYMM PIC 9(6). 9 Ø3 SRT-DD PIC 9(2). 1Ø Ø2 SRT-AMOUNT PIC 9(6). 11 FD SAL-FILE. 12 Ø1 SAL-REC PIC X(22). 13 FD MST-FILE. 14 Ø1 MST-REC. 15 Ø2 MST-YYYYMM. 16 Ø3 MST-YYYY PIC 9(4). 17 Ø3 MST-MM PIC 9(2). 18 Ø2 MST-AMOUNT PIC 9(1Ø). 19 Ø2 MST-TABLE. 2Ø Ø3 MST-BRANCH PIC 9(9) OCCURS 8. 21 WORKING-STORAGE SECTION. 22 77 CNT PIC 9(1). 23 77 SRT-FLAC PIC X(1) VALUE SPACE. 24 88 SRT-EOF VALUE "E". 25 PROCEDURE DIVISION. 26 MAIN-PROC. 27 OPEN EXTEND MST-FILE. 28 SORT SRT-FILE ASCENDING KEY a 29 USING SAL-FILE 3Ø OUTPUT PROCEDURE IS RET-PROC. 31 CLOSE MST-FILE. 32 STOP RUN. 33 RET-PROC. 34 INITIALIZE MST-REC. 35 PERFORM UNTIL SRT-EOF 36 RETURN SRT-FILE AT END SET SRT-EOF TO TRUE 37 PERFORM WRI-PROC 38 NOT AT END PERFORM ADD-PROC 39 END-RETURN 4Ø END-PERFORM. 41 ADD-PROC. 42 IF b THEN 43 PERFORM WRI-PROC 44 INITIALIZE MST-REC 45 MOVE SRT-YYYYMM TO MST-YYYYMM 46 END-IF. 47 c. 48 WRI-PROC. 49 IF MST-YYYY NOT = ZERO THEN 5Ø PERFORM VARYING CNT FROM 1 BY 1 UNTIL CNT > 8 51 d 52 END-PERFORM 53 WRITE MST-REC 54 END-IF.
a に関する解答群 b に関する解答群 ウ MST-YYYYMM = ZERO エ SRT-YYYYMM = ZERO c,d に関する解答群 イ ADD MST-BRANCH(SRT-BRANCH) TO MST-AMOUNT ウ ADD SRT-AMOUNT TO MST-BRANCH(CNT) エ ADD SRT-AMOUNT TO MST-BRANCH(SRT-BRANCH) オ MOVE SRT-AMOUNT TO MST-BRANCH(SRT-BRANCH)
![]() 図3 表示例 表1 プログラムの変更内容
e に関する解答群 ウ 行番号 47 と 48 の間 エ 行番号 52 と 53 の間 f に関する解答群 g に関する解答群 ウ MOVE CNT TO CR-QUART エ MOVE ZERO TO CR-QUART
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||||||||