問8 次の COBOL プログラムの説明及びプログラムを読んで,設問に答えよ。
〔プログラムの説明〕
人材登録ファイルから必要な技能をもつ人材を検索し,表示する副プログラムである。
(1) 人材登録ファイルには,10 種類の技能によって人材の能力を 表すデータが格納されている。各技能は,4 段階の習熟度 (3:上級,2:中級,1:初級,0:なし)で評価されている。
人材登録ファイルのレコード様式
技能 1 〜 10 には,技能の習熟度が格納されている。
(2) 必要な技能(検索条件)は,副プログラムにパラメタとして渡され, 10 種類すべてに対して指定される。
検索条件のパラメタ様式
条件 1 〜 10 には,それぞれ人材登録ファイル中の技能 1 〜 10 に対応する必要な技能の要求条件(3:上級,2:中級以上,1:初級以上,0:不要)が 格納されている。条件の値がすべて 0 であることはない。
(3) 必要な技能をすべてもった人材を必要な技能の習熟度の合計が大きい順に表示する。 “必要な技能をもつ人材”とは,例えば,パラメタで渡される技能の要求条件が “中級以上”ならば,技能の習熟度が“上級”又は“中級”の人材である。
〔プログラム〕
DATA DIVISION. FILE SECTION. FD JINZAI-FILE. 01 JINZAI-REC. 03 FILLER PIC X(16). 03 J-SKILL-INFO. 05 J-SKILL PIC 9(01) OCCURS 10. SD GAITO-FILE. 01 GAITO-REC. 03 G-POINT PIC 9(02). 03 G-JINZAI PIC X(26). WORKING-STORAGE SECTION. 01 EOF-FLAG PIC X(01) VALUE SPACE. 01 MATCH PIC 9(01). 01 K PIC 9(02). LINKAGE SECTION. 01 KENSAKU. 03 JOKEN PIC 9(01) OCCURS 10. PROCEDURE DIVISION USING KENSAKU. MAIN-SHORI. SORT GAITO-FILE INPUT PROCEDURE KENSAKU-SHORI OUTPUT PROCEDURE HYOJI-SHORI. EXIT PROGRAM. KENSAKU-SHORI. OPEN INPUT JINZAI-FILE. READ JINZAI-FILE AT END MOVE "E" TO EOF-FLAG END-READ. PERFORM UNTIL EOF-FLAG = "E" MOVE 0 TO G-POINT PERFORM VARYING K FROM 1 BY 1 UNTIL K > 10 OR MATCH = 0 IF MOVE 0 TO MATCH ELSE IF END-IF END-IF END-PERFORM IF MATCH = 1 MOVE JINZAI-REC TO G-JINZAI RELEASE GAITO-REC END-IF READ JINZAI-FILE AT END MOVE "E" TO EOF-FLAG END-READ END-PERFORM. CLOSE JINZAI-FILE. HYOJI-SHORI. MOVE SPACE TO EOF-FLAG. RETURN GAITO-FILE AT END MOVE "E" TO EOF-FLAG END-RETURN. PERFORM UNTIL EOF-FLAG = "E" DISPLAY G-JINZAI RETURN GAITO-FILE AT END MOVE "E" TO EOF-FLAG END-RETURN END-PERFORM.
設問 プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
ア OCCURS KEY G-POINT
イ ON ASCENDING KEY G-POINT
ウ ON DESCENDING KEY G-POINT
エ USING JINZAI-FILE
オ USING KEY G-POINT
b,e に関する解答群
ア COMPUTE G-POINT = G-POINT + J-SKILL(K)
イ COMPUTE G-POINT = G-POINT + JOKEN(K)
ウ INITIALIZE GAITO-REC
エ MOVE 0 TO G-POINT
オ MOVE 0 TO MATCH
カ MOVE 1 TO MATCH
キ MOVE J-SKILL(K) TO G-POINT
ク MOVE JOKEN(K) TO G-POINT
ケ MOVE ZERO TO GAITO-REC
c,d に関する解答群
ア J-SKILL(K) = 0 イ J-SKILL(K) > 0
ウ J-SKILL(K) >= 0 エ J-SKILL(K) < JOKEN(K)
オ J-SKILL(K) = JOKEN(K) カ J-SKILL(K) > JOKEN(K)
キ JOKEN(K) = 0 ク JOKEN(K) > 0
ケ JOKEN(K) >= 0