東京理科大学 infoserv[更新日]2000.5.1


問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


東京理科大学 infoserv 戻る 次頁:問09