平成30年 秋期 基本情報技術者 午後 問10
問10 COBOL問10 次の COBOL プログラムの説明及びプログラムを読んで,設問1〜3に答えよ。 〔プログラムの説明〕 従業員の社内資格の保有状況を管理するプログラムである。 情報サービス企業であるP社には社内資格として資格1〜4があり,従業員に取得を奨励している。 社内資格を取得するための試験(以下,資格試験という)は定期的に実施しており, 全従業員の保有状況を保有資格ファイルで管理する。P社の事業年度は4月から翌年3月までであり, 上期(4月〜9月)と下期( 10 月〜翌年3月)の2期から成る。 資格試験に合格した従業員の情報は合格ファイルに1期分を蓄積する。 上期の合格者を蓄積した合格ファイルは 10 月初めに,下期の合格者を蓄積した合格ファイルは 4月初めにプログラムを実行して,保有資格ファイルに反映する運用である。 従業員は,合格した資格試験を再度受験することはない。 (1)保有資格ファイルは,図1に示すレコード様式の索引ファイルであり,全従業員のレコードが 格納されている。主キーは従業員番号である。プログラムでは,乱呼出し法で入出力している。 図1 保有資格ファイルのレコード様式 資格1〜4には,従業員番号で示される従業員が各資格試験に合格した日付として, 西暦の年,月,日が,それぞれ 4 桁,2 桁,2 桁で格納されている。 合格していない場合には,0 が格納されている。 (2)合格ファイルは,図2に示すレコード様式の順ファイルであり,資格試験に合格した従業員の レコードが格納されている。同じ従業員が複数の資格試験に合格した場合は, 合格した資格試験ごとにレコードが格納されている。レコードは,順序不同で格納されている。 図2 合格ファイルのレコード様式
A 合格日には,合格した日付として,西暦の年, 月,日が,それぞれ 4 桁,2 桁,2 桁で格納されている。 (3)保有資格ファイルには,合格ファイルの従業員番号で示される従業員のレコードが必ず存在する。 〔プログラム〕 (行番号) 1 DATA DIVISION. 2 FILE SECTION. 3 SD SRT-FILE. 4 Ø1 SRT-REC. 5 Ø2 SRT-NO PIC X(8). 6 Ø2 SRT-CD PIC 9(1). 7 Ø2 SRT-DATE PIC 9(8). 8 FD QLF-FILE. 9 Ø1 QLF-REC. 1Ø Ø2 QLF-NO PIC X(8). 11 Ø2 QLF-INF. 12 Ø3 QLF-DATE PIC 9(8) OCCURS 4. 13 FD PAS-FILE. 14 Ø1 PAS-REC. 15 Ø2 PAS-NO PIC X(8). 16 Ø2 PAS-CD PIC 9(1). 17 Ø2 PAS-DATE PIC 9(8). 18 WORKING-STORAGE SECTION. 19 77 SRT-FLAG PIC X(1)VALUE SPACE. 2Ø 88 SRT-EOF VALUE "E". 21 77 CR-NO PIC X(8)VALUE SPACE. 22 PROCEDURE DIVISION 23 MAIN-PROC. 24 OPEN I-O QLF-FILE. 25 SORT SRT-FILE ASCENDING KEY SRT-NO 26 USING PAS-FILE 27 OUTPUT PROCEDURE IS RET-PROC. 28 CLOSE QLF-FILE. 29 STOP RUN. 3Ø RET-PROC. 31 PERFORM TEST BEFORE UNTIL SRT-EOF 32 RETURN SRT-FILE AT END SET SRT-EOF TO TRUE 33 a 34 NOT AT END PERFORM UPD-PROC 35 END-RETURN. 36 END-PERFORM. 37 UPD-PROC. 38 IF b THEN 39 PERFORM WRI-PROC 4Ø MOVE SRT-NO TO QLF-NO 41 READ QLF-FILE END-READ 42 MOVE QLF-NO TO CR-NO 43 END-IF. 44 c . 45 WRI-PROC. 46 IF CR-NO NOT = SPACE THEN 47 REWRITE QLF-REC 48 END-IF.
a に関する解答群 ウ PERFORM WRI-PROC エ REWRITE QLF-REC ウ SRT-NO = SPACE エ SRT-NO NOT = CR-NO イ MOVE SRT-DATE T0 QLF-DATE(SRT-CD) ウ MOVE SRT-NO T0 QLF-DATE(SRT-CD) エ MOVE ZERO T0 QLF-DATE(SRT-CD)
ウ 行番号 42 と 43 の間 エ 行番号 46 と 47 の間 ウ QLF-INF NOT = ALL ZERO エ W-CNT > 4
イ 当該事業年度の上期に,各資格試験を受験した従業員の数 ウ 当該事業年度の上期までに,各資格試験に合格した従業員の数 エ 当該事業年度の上期までに,各資格試験に合格していない従業員の数
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||