平成24年春期試験午後問題 問10
問10 ソフトウェア開発(COBOL)
次のCOBOLプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
〔プログラムの説明〕
ある遊園地では,ICカードを利用した精算システムを導入した。入園時に,入園者から入園料を受け取ると,入園者番号を記録したICカードを渡し,入園者番号と年齢層の情報を入園者ファイルに格納する。各施設では,提示されたICカードから入園者番号を読み取り,施設利用実績をイベントファイルに格納する。退園時に,入園者からICカードが返却されたときに,施設利用料金を一括で徴収する。
このプログラムは,入園者ファイル及びイベントファイルに格納されたデータを読み込み,入園者に関する情報を集計して表示する。
〔プログラムの説明〕
ある遊園地では,ICカードを利用した精算システムを導入した。入園時に,入園者から入園料を受け取ると,入園者番号を記録したICカードを渡し,入園者番号と年齢層の情報を入園者ファイルに格納する。各施設では,提示されたICカードから入園者番号を読み取り,施設利用実績をイベントファイルに格納する。退園時に,入園者からICカードが返却されたときに,施設利用料金を一括で徴収する。
このプログラムは,入園者ファイル及びイベントファイルに格納されたデータを読み込み,入園者に関する情報を集計して表示する。
- 入園者ファイルは,図1に示すレコード様式の,入園者番号を主キーとする索引ファイルである。ファイルは,営業日ごとに作成する。
- 入園者番号は,営業日ごとに一意となる,1から始まる4桁の数字である。
- 年齢層コードには,4~12歳は1,13~18歳は2,19~29歳は3,30~49歳は4,50歳以上は5を格納する。4歳未満は入園料及び遊戯施設利用料金が無料となるので,ICカードは発行せず,入園者ファイルにも格納しない。
- イベントファイルは,図2に示すレコード様式の順ファイルである。入園者のICカード利用状況(以下,イベントという)を格納する。ファイルは,営業日ごとに作成する。
- イベントコードには,発生したイベントに応じて,表1に示すイベントコードを格納する。
- 時刻には,イベントが発生した時刻の時,分,秒を24時間表記で格納する。 時系列で格納するので,レコードは時刻の昇順になっている。
なお,この遊園地は10時に開園し,全ての入園者は20時になるまでに退園する。20時台の時刻が格納されることはない。 - 金額には,該当するイベントを利用した際の金額を格納する。 なお,入退園(イベントコード01,02)の場合は,0を格納する。
- 一旦退園した入園者が,その日のうちに同じ入園者番号で再入園することはない。
- 集計結果の表示例を図3に示す。
- TOTAL GUESTSには,入園者数を表示する。1日の入園者数が5,000人を超えることはない。
- STAY GUESTSには,左端に表示した時間帯の滞在者数を,年齢層別に棒グラフで表示する。 例えば,10時ちょうどに入園し,11時ちょうどに退園した者は,10時台と11時台の滞在者として数える。
- 棒グラフを構成する各記号は,表2に示すとおり滞在者の年齢層と対応している。 記号一つは100人を表し,100人未満の端数は切り捨てる。
広告
設問1
プログラム中の に入れる答えを,解答群の中から選べ。
a に関する解答群
- MOVE STAY-CNT(CR-HH) TO PRT-AGE(CR-HH - 8, E-HH)
- MOVE STAY-CNT(CR-HH - 8) TO PRT-TIME(CR-HH)
- MOVE STAY-GUEST TO PRT-TIME(CR-HH - 8)
- MOVE ZERO TO PRT-AGE(CR-HH - 8, CR-HH)
b,c,d に関する解答群
- CR-HH
- I
- J
- PRT-AGE(CR-HH - 9, G-AGE)
- PRT-AGE(G-AGE, CR-HH - 9)
- STAY-CNT(CR-HH)
- STAY-CNT(G-AGE)
- TOTAL-GUEST
e に関する解答群
- ADD J TO MARK-CNT
- ADD J TO MARK-POS
- ADD MARK-CNT TO MARK-POS
- ADD MARK-POS TO MARK-CNT
解答選択欄
- a:
- b:
- c:
- d:
- e:
- a=ウ
- b=エ
- c=キ
- d=ク
- e=ウ
解説
この設問の解説はまだありません。設問2
各遊戯施設の延べ利用者数を集計し,図4に示すグラフを追加表示するようにプログラムを変更した。表3中の に入れる正しい答えを,解答群の中から選べ。
〔グラフの説明〕
〔グラフの説明〕
- 左端に表示したイベントコードに対応する遊戯施設を利用した延べ人数を表示する。記号 # 一つは100人を表し,100人未満の端数は切り捨てる。一つの遊戯施設の延べ利用者数が5,000人を超えることはない。
- 延べ利用者数が100人未満の遊戯施設の行は表示しない。
f に関する解答群
- ADD 1 TO FAC-CNT(E-CODE)
- ADD 1 TO FAC-CNT(E-CODE - 2)
- ADD G-AGE TO FAC-CNT(E-CODE)
- ADD G-NO TO FAC-CNT(E-CODE)
- ADD STAY-CNT(G-AGE) TO FAC-CNT(E-CODE)
g に関する解答群
- 6 TIMES
- UNTIL FAC-NO > 6 AND MARK-CNT > 50
- UNTIL FAC-NO > 6 0R MARK-CNT > 50
- VARYING FAC-NO FROM 1 BY 1 UNTIL FACT-NO > 6
- VARYING FAC-NO FROM 3 BY 1 UNTIL FACT-NO > 8
解答選択欄
- f:
- g:
- f=イ
- g=オ
解説
この設問の解説はまだありません。広告