基本情報技術者過去問

平成17年 午後 問7

最終更新日 2005/12/11
webmaster@tomnetwork.net

Tomのネットワーク勉強ノート
 過去問
  基本情報技術者過去問(午前・午後)
   基本情報技術者過去問 平成17年 午後 問7

問7 次のCOBOLプログラムの説明及びプログラムを読んで,設問1,2に答えよ。

〔プログラムの説明〕

1学年における全生徒のテスト結果が格納されている入カファイルを読み込み,5
科目の合計点を求めるプログラムである。このプログラムは,学年内の総合順位が分
かるよう, 合計点の降順に整列して,出カファイルに格納する。

(1)入カファイルIN―FILEは,次のレコード様式の順ファイルであり,1学年分の
 各生徒の得点が格納されている。ここで,各科目は100点を満点とする。

   _
 クラス番号 
2けた
 生徒番号 
2けた
 氏名 
20けた
 国語 
3けた
 数学 
3けた
 英語 
3けた
 理科 
3けた
 社会 
3けた

(2)出カファイルOUT―FILEは,次のレコード様式の順ファイルであり,5科目の
 合計点の降順に格納する。

   _
 クラス番号 
2けた
 生徒番号 
2けた
 氏名 
20けた
 合計点 
3けた

〔プログラム〕

(行番号)
 1 DATA DIVISION.
 2 FILE SECTION.
 3 FD IN-FILE.
 4 01 IN-REC       PIC X(39).
 5 FD OUT-FILE.
 6 01 OUT-REC      PIC X(27).
 7 SD SORT-FILE.
 8 01 SORT― REC.
 9 02 CLASS-NO     PIC 9(2).
 10 02 STUDENT-NO    PIC 9(2).
 11 02 STUDENT-NAME PIC X(20).
 12 02 TOTAL        PIC 9(3).
 13 WORKINC-STORAGE SECTI0N.
 14 01 W-IN-REC.
 15   02 STUDENT-ID.
 16     03 CLASS-NO    PIC 9(2).
 17     03 STUDENT-NO  PIC 9(2).
 18     03 STUDENT-NAME PIC X(20).
 19   02 SCORE      PIC 9(3) OCCURS 5.
 20 01 READ-STATUS   PIC X(1)VALUE SPACE.
 21   88 AT-END     VALUE ”E”.
 22 01 K           PIC 9(1).
 23 PROCEDURE DIVISION.
 24 SORT- PROCEDURE.
 25   SORT SORT-FILE DESCENDING KEY TOTAL
 26     INPUT PROCEDURE IS READ-DATA
 27     GIVING OUT-FILE.
 28   STOP RUN.
 29 READ-DATA.
 30   OPEN INPUT IN-FILE.
 31   PERFORM UNTIL AT-END
 32     READ IN-FILE AT END
 33       【  a  】
 34     NOT AT END
 35       MOVE IN-REC TO W-IN-REC
 36       PERFORM RELEASE-DATA
 37     END-READ
 38   END-PERFORM.  
 39   CLOSE IN-FILE.
 40 RELEASE― DATA.
 41   【  b  】
 42   MOVE ZERO TO TOTAL.
 43   PERFORM VARYING K FROM 1 BY 1 UNTIL K > 5
 44     COMPUTE TOTAL = TOTAL + SCORE(K)
 45   END-PERFORM.
 46   RELEASE SORT-REC.


設問1 プログラム中の【    】に入れる正しい答えを,解答群の中から選べ。

解答群
  ア  INITIALIZE SORT-REC
  イ  MOVE SPACE TO READ-STATUS
  ウ  MOVE SPACE TO SORT-REC
  エ  MOVE STUDENT-ID TO SORT-REC
  オ  PERFORM RELEASE-DATA
  カ  SET AT-END TO TRUE

設問2 プログラムの最後で生徒数及び各科目の学年平均点を表示するようにプログラ
   ムを変更する。変更内容を示す次の表中の【    】に入れる正しい答えを,
   解容群の中から選べ。
    なお,生徒の人数は1〜 9,999とし,平均点は小数第2位以下を切り捨てる。

   _
処置 プログラムの変更内容
行番号22と23の
間に追加
01 STATISTICS
  02 STUDENT-TOTAL  PIC 9(4) VALUE ZERO.
  02 SUB-TOTAL      PIC 9(8) VALUE ZERO OCCURS 5.
  02 AVERAGE        PIC 999.9.
行番号27と28の
間に追加
DISPLAY  ”STUDENT”
DISPLAY  STUDENT-TOTAL.
DISPLAY  ”AVERAGE:”.
PERFORM  VARYING K FROM 1 BY 1 UNTIL K > 5
  COMPUTE AVERAGE = SUB-TOTAL(K) / STUDENT-TOTAL
  DISPLAY  AVERAGE
END-PERFORM.
行番号44と45の
間に追加
【  c  】
行番号46の後に
追加
【  d  】

解答群

  ア  COMPUTE STUDENT-TOTAL = STUDENT-TOTAL + 1
  イ  COMPUTE STUDENT-TOTAL = STUDENT-TOTAL + K
  ウ  COMPUTE SUB-TOTAL(K) = SUB-TOTAL(K) + SCORE(K)
  エ  MOVE K TO STUDENT-TOTAL
  オ  MOVE SCORE(K) TO SUB-TOTAL(K)
  カ  MOVE TOTAL TO SUB-TOTAL(K)

Tomのネットワーク勉強ノート
 過去問
  基本情報技術者過去問(午前・午後)
   基本情報技術者過去問 平成17年 午後 問7