基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成17年 春期 基本情報技術者 午後 問07
問07   COBOL

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

〔プログラムの説明〕

あるイベントの来場者アンケートを集計し,年代別職業別参加人数表を出力するプログラムである。

(1) アンケートファイルのレコード様式は,次のとおりである。

年齢
  1 けた
  職業
  1 けた
興味
  1 けた
その他の答え
  97 けた

@ 年齢は,年代別にコード化されており,次のいずれかが記録されている。

1:10 〜 19 歳, 2:20 〜 29 歳, 3:30 〜 39 歳,
4:その他(9 歳以下又は 40 歳以上)

A 職業は,学生,自営業,会社員などに分類してコード化されており, 次のいずれかが記録されている。

1:学生, 2:自営業, 3:会社員, 4:その他

B 興味は,来場の主目的が,体験,セミナ,展示などのどれであるかを コード化したものであり,次のいずれかが記録されている。

1:体験, 2:セミナ, 3:展示, 4:その他

(2) 来場者アンケートを集計して,次の年代別職業別参加人数表を出力する。

@ 各参加人数は,来場者アンケートを集計した結果で,総参加人数は最大6けたである。

A 年代別,職業別に参加人数を印字し,さらに年代別の合計を印字する。

B 参加人数及び合計人数以外の文字は,あらかじめ印字されている。

(3) アンケートファイルのレコードの各項目にエラーはない。

〔プログラム〕

DATA DIVISION.
FILE SECTION.
FD  ENQUETE-F.
01  ENQUETE-R.
    03  E-NENREI     PIC 9(1).
    03  E-SHOKUGYO   PIC 9(1).
    03  E-KYOMI      PIC 9(1).
    03               PIC X(97).
FD  PRINT-F.
01  PRINT-R PIC X(100).
WORKING-STORAGE SECTION.
01  HYO.
    03  A            OCCURS 4 INDEXED BY X.
       05  B         OCCURS 4 INDEXED BY Y PIC 9(6).
01  END-SW           PIC X(3) VALUE SPACE.
01  KUHAKU           PIC X(100) VALUE SPACE.
01  MEISAI.
    03               PIC X(10) VALUE SPACE.
    03               OCCURS 5 INDEXED BY Z.
       05            PIC X(4) VALUE SPACE.
       05  NINZUU    PIC ZZZ,ZZ9.
01  GOKEI            PIC 9(6) VALUE ZERO.
PROCEDURE DIVISION.
HAJIME.
    OPEN INPUT ENQUETE-F OUTPUT PRINT-F.
    INITIALIZE HYO.
    PERFORM UNTIL END-SW = "END"
       READ ENQUETE-F 
          AT END MOVE "END" TO END-SW
          NOT AT END 


       END-READ
    END-PERFORM.
    WRITE PRINT-R FROM KUHAKU AFTER PAGE.
    WRITE PRINT-R FROM KUHAKU AFTER  .
    PERFORM VARYING X FROM 1 BY 1 UNTIL X > 4
       PERFORM VARYING Y FROM 1 BY 1 UNTIL Y > 4
         
          MOVE B(X Y) TO NINZUU(Z)
         
       END-PERFORM
       MOVE GOKEI TO NINZUU(5)
       WRITE PRINT-R FROM MEISAI AFTER 2
       MOVE ZERO TO GOKEI
    END-PERFORM.
    CL OS E ENQUETE-F PRINT-F.
    STOP RUN.

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

a に関する解答群

ア 1    イ 2    ウ 3    エ 4

b,c に関する解答群

ア COMPUTE GOKEI = GOKEI + B(X Y)

イ COMPUTE GOKEI = NINZUU(Z) + B(X Y)

ウ COMPUTE NINZUU(Z) = GOKEI + B(X Y)

エ MOVE B(X Y) TO GOKEI

オ MOVE X TO Z

カ MOVE Y TO Z

キ MOVE Z TO Y

ク SET X TO Z

ケ SET Y TO Z

コ SET Z TO Y

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

解答 c ←クリックすると正解が表示されます


設問2 出力用紙に次の用紙を使い,職業別目的別参加人数表を出力するとき, プログラム中の α をどの文と置換すればよいか,正しい答えを,解答群の中から選べ。

解答群

ア COMPUTE B(E-KYOMI E-NENREI) = B(E-KYOMI E-NENREI) + 1

イ COMPUTE B(E-KYOMI E-SHOKUGYO) = B(E-KYOMI E-SHOKUGYO) + 1

ウ COMPUTE B(E-NENREI E-KYOMI) = B(E-NENREI E-KYOMI) + 1

エ COMPUTE B(E-NENREI E-SHOKUGYO) = B(E-NENREI E-SHOKUGYO) + 1

オ COMPUTE B(E-SHOKUGYO E-KYOMI) = B(E-SHOKUGYO E-KYOMI) + 1

カ COMPUTE B(E-SHOKUGYO E-NENREI) = B(E-SHOKUGYO E-NENREI) + 1

解答 ←クリックすると正解が表示されます

[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]