問7 次の COBOL プログラムの説明及びプログラムを読んで,設問 1,2 に答えよ。
〔プログラムの説明〕
A 社では,社員の必須研修コースの修了条件を出席率 80% 以上と定めている。 年度末に年間受講履歴ファイルに登録されている出席状況から, 修了したかどうかを判定する。
(1) 年間受講履歴ファイル(4 月〜翌年 3 月)のレコード様式は,次のとおりである。
受講番号
修了判定
授業回数
出席状況
研修コード
社員番号
第 1 回
…
第 15 回
6 けた
1 けた
2 けた
受講番号をキーとする索引ファイルである。
授業回数には研修の授業の実施回数が記録されており, 各研修の授業回数は 1 〜 15 である。
(2) 年間受講履歴ファイルに対する処理は,次のとおりである。
年度始めに,出席状況(第 1 〜 15 回)をすべて 0 にする。
社員の授業への出席状況(1:出席, 0:欠席)を回ごとに記録する。
年度末に出席状況を確認して,授業回数の 80% 以上の出席があった場合は 修了判定を“Y”にし,80% 未満の場合は“N”にする。
〔プログラム〕
DATA DIVISION. FILE SECTION. FD ATTENDANCE-F. 01 ATTENDANCE-R. 03 A-ID. 05 A-COURSE PIC X(6). 05 A-EMPLOYEE PIC X(6). 03 A-COMPLETION PIC X. 03 A-SESSIONS PIC 9(2). 03 A-STATUS. 05 A-ATTENDANCE OCCURS 15 PIC X. WORKING-STORAGE SECTION. 01 W-ATTENDANCE PIC 9(2). 01 END-SW PIC X VALUE SPACE. 01 W-COMPLETION PIC 9(3). PROCEDURE DIVISION. START-RTN. OPEN I-O ATTENDANCE-F. PERFORM UNTIL END-SW = "E" READ ATTENDANCE-F AT END MOVE "E" TO END-SW NOT AT END PERFORM CHECK-RTN END-READ END-PERFORM. CLOSE ATTENDANCE-F. STOP RUN. CHECK-RTN. MOVE ZERO TO W-ATTENDANCE. INSPECT TALLYING W-ATTENDANCE FOR ALL "1". COMPUTE W-COMPLETION = A-SESSIONS * 8. IF THEN MOVE "Y" TO A-COMPLETION ELSE MOVE "N" TO A-COMPLETION END-IF. REWRITE ATTENDANCE-R INVALID DISPLAY "REWRITE ERROR", A-ID.
a に関する解答群
ア A-ATTENDANCE イ A-STATUS
ウ ATTENDANCE-F エ ATTENDANCE-R
b に関する解答群
ア W-ATTENDANCE * 10 >= W-COMPLETION
イ W-ATTENDANCE >= W-COMPLETION * 0.8
ウ W-COMPLETION >= W-ATTENDANCE
エ W-COMPLETION >= W-ATTENDANCE * 0.8
このプログラムは,AT END 指定の READ 文を使用して, 年間受講履歴ファイルの全レコードを書き換えている。 環境部のファイル管理段落では,ファイル編成は索引,呼出し法を とし,レコードキーとして を指定している。
解答群
ア A-COURSE イ A-EMPLOYEE ウ A-ID
エ 順呼出し オ 動的呼出し カ 乱呼出し