平成17年春期基本情報技術者試験午後問7、COBOL言語

本ページは平成17年春期基本情報技術者試験午後問7、COBOL言語の解説です。
問題文、解答、解説の順で掲載しております。

***********************************************************************************************************
無料から学べる講座
http://ai-light.com/itkeiei/

ニコニコチャンネル
http://ch.nicovideo.jp/ai-light

YouTubeチャンネル
https://www.youtube.com/user/ailightcom

Access・Excel倶楽部
http://ai-light.com/accessclub/

株式会社アイライト公式HP
http://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

***********************************************************************************************************

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

〔プログラムの説明〕

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

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

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

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

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

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

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

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

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

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

① 各参加人数は,来場者アンケートを集計した結果で,総参加人数は最大6けたである。
② 年代別,職業別に参加人数を印字し,さらに年代別の合計を印字する。
③ 参加人数及び合計人数以外の文字は,あらかじめ印字されている。

(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
cobol_01_02.jpg
END-READ
END-PERFORM.
WRITE PRINT-R FROM KUHAKU AFTER PAGE.
WRITE PRINT-R FROM KUHAKU AFTER { a }.
PERFORM VARYING X FROM 1 BY 1 UNTIL X > 4
PERFORM VARYING Y FROM 1 BY 1 UNTIL Y > 4
{ b }
MOVE B(X Y) TO NINZUU(Z)
{ c }
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

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

cobol_01_03.jpg

解答群

ア 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

***********************************************************************************************************
無料から学べる講座
http://ai-light.com/itkeiei/

ニコニコチャンネル
http://ch.nicovideo.jp/ai-light

YouTubeチャンネル
https://www.youtube.com/user/ailightcom

Access・Excel倶楽部
http://ai-light.com/accessclub/

株式会社アイライト公式HP
http://www.ai-light.com/

***********************************************************************************************************

********************************************************************************
解答
設問1
答 aウ 答 bコ 答 cア

設問2
答オ
********************************************************************************

解説

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).
は桁数からアンケートファイルに該当していると思われる。

OPEN INPUT ENQUETE-F OUTPUT PRINT-F.
では、ENQUETE-Fファイルを入力用(読込用)としてファイルをオープンし、PRINT-Fファイルを出力用(書込用)としてファイルをオープンしている。

INITIALIZE HYO.
変数HYOを初期化する。INITIALIZEは、数値項目を「0」にして、英数字項目をブランクにする。

PERFORM UNTIL END-SW = "END"
END-SW が "END"になるまでループする。

READ ENQUETE-F
ファイルENQUETE-Fを読込む。

AT END MOVE "END" TO END-SW
ファイルのレコードをすべて読み終わった時にEND-SWに"END"をセットする。

NOT AT END
ファイルのレコードが読込めた場合

  COMPUTE B(E-NENREI E-SHOKUGYO)
= B(E-NENREI E-SHOKUGYO) + 1
読込んだE-NENREI(アンケートファイルの年齢項目)、E-SHOKUGYO(アンケートファイルの職業項目)でBに+1をする。つまりここで年齢毎、職業毎の件数をカウントしている。

WRITE PRINT-R FROM KUHAKU AFTER PAGE.
AFTER PAGEではプリンターに出力する際に改ページをする。

データ項目KUHAKUは
01 KUHAKU PIC X(100) VALUE SPACE.
で、空白がセットされているので、WRITE文で空白をPRINT-Rに書き込んでいる。

{ a }
{ a }の前で、
WRITE PRINT-R FROM KUHAKU
よりPRINT-Rに空白をセットしている。

また、{ a }の解答群はすべて数値であり、
AFTER 行送りしたい行数
であるから、何行を空白で送りたいかということである。

問題文より
③ 参加人数及び合計人数以外の文字は,あらかじめ印字されている。
とのことであるから、5行目まで行を送ればよい。

{ a }の前段で1行が行送りされているから、2行目から5行目まで行送りを行えばよい。よって、3行を行送りすればよい。以上より解答はウとなる。

PERFORM VARYING X FROM 1 BY 1 UNTIL X > 4
でXを1から4までカウントアップしながらループする。

PERFORM VARYING Y FROM 1 BY 1 UNTIL Y > 4
上記と同様にして、Yを1から4までカウントアップしながらループする。

{ b }
下の行で
WRITE PRINT-R FROM MEISAI AFTER 2
としており、WRITEで年代別職業別参加人数表に行を追加している。

MEISAIの項目内にNINZUU項目があることから、この項目で列方向の体験、セミナ、展示、その他、合計を保持していることがわかる。

MOVE B(X Y) TO NINZUU(Z)
で添え字のZの値が与えられていないことから、Zに値を与えてやればよい。

Zは
OCCURS 5 INDEXED BY Z
とあり、NINZUUの指標名である。指標に値を設定するにはSET文を用いる。
よって、解答はコとなる。

{ c }
下の行で
MOVE GOKEI TO NINZUU(5)
とあり、GOKEI項目で列合計を求めていることがわかる。

よって、解答はアとなる。

設問2
年代別職業別参加人数表より、行方向は年代で列方向は職業を出力する時にαより
B(E-NENREI E-SHOKUGYO)で行方向のデータを前段に、列方向のデータを後段にセットすればよい。

よって、職業別目的別参加人数表で、行方向に職業を列方向に趣味を出力するには、前段に職業を後段に趣味のデータをセットすればよい。よって、解答はオとなる。

参考:平成17年春期基本情報技術者試験午後問7

***********************************************************************************************************
無料から学べる講座
http://ai-light.com/itkeiei/

ニコニコチャンネル
http://ch.nicovideo.jp/ai-light

YouTubeチャンネル
https://www.youtube.com/user/ailightcom

Access・Excel倶楽部
http://ai-light.com/accessclub/

株式会社アイライト公式HP
http://www.ai-light.com/

***********************************************************************************************************
関連記事

コメントの投稿

非公開コメント

adwords

外部リンク

カテゴリーメニュー 改
カテゴリ
検索フォーム
広告
最新記事
月別アーカイブ
Lc.ツリーカテゴリー
全記事表示リンク

全ての記事を表示する

リンク
各種タグ
キーワードをクリックすると該当のページに移動

中小企業診断士 情報システム  基本情報技術者のC言語 「レスリスバーガーの人間関係論(社会体系論) 「バーナードの協働体系論 「経営の階層 経営組織の体系 「官僚的組織」 「ITパスポートの徹底研究、通信講座」 「基本情報処理技術者試験の徹底研究、通信講座」 「当社のシステム開発サービスのご説明」 「マトリックス組織」 組織の活性化 「テイラーの科学的管理法 マズローの欲求5段階説 経営基本管理(コンティンジェンシー理論) 経営基本管理(SL理論) 経営基本管理(技術システムの高度化と組織) 経営基本管理(分化と統合の理論) 経営基本管理(意思決定論) 経営基本管理状況(適応的リーダーシップ理論) 経営基本管理(システム4理論) 行動科学理論(マネジリアル・グリッド) 動機づけ・衛生理論 行動学理論(ホーソン実験) 行動科学理論(フォードシステム) 経営基本管理(期待理論) XY理論 

当社のシステム開発の詳細
当社はaccess-excelでの小規模システム開発を中心に年間に50社以上の開発実績がございます。詳細は06-6599-8890ないしinfo@ai-light.comまで今すぐお問合せください
プロフィール

itkeieinews

Author:itkeieinews
ITと経営ニュースへようこそ!
アイライトIT経営研究会
株式会社アイライト
電話でのお問合せは06-6599-8890
Email:info@ai-light.com

メールフォーム
こちらからも簡単にメールを送付できます。当社のサービスに関してご質問がございましたら、よろしければ、ご利用ください。直接お電話の場合は06-6599-8890までご連絡ください。

名前:
メール:
件名:
本文:

お気に入り
本サイトをそのまま消してしまうと、もう探せなくなってしまうかもしれません。 当社はいずれお役に立てることがあるかと思いますので、よろしければお気に入りにご登録ください。
リンクツリーV1.1a
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示
QRコード
QR
最新コメント
最新トラックバック
フリーエリア