平成24年秋期試験午後問題 問10

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】

問10 ソフトウェア開発(COBOL)

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

〔プログラムの説明〕
 ある会員制スポーツクラブにおける利用料金の計算プログラムである。
 このスポーツクラブは,会員が都合の良い時間に施設を利用できるようになっており,会員の利用実績を利用記録ファイルに格納する。利用料金は,1か月に10時間まで利用できる基本料金と,10時間を超過した時間に応じて課金する超過料金の合計であり,1か月分をまとめて,翌月,会員に請求する。施設の利用実績がなかった会員にも,基本料金は請求する。
  • 会員ファイルは,図1に示すレコード様式の索引ファイルであり,会員番号を 主レコードキーとする。呼出し法は順呼出しとする。
    pm10_1.png
    1. 会員番号は,会員ごとに割り当てられる一意の番号であり,000001から始まる6桁の数字である。
    2. 会員種別には,表1に示す会員種別が格納される。利用料金は,会員種別によって決まる。
      pm10_2.png
    3. 入会日には,入会した年,月,日が,それぞれ4桁,2桁,2桁で格納される。
  • 利用記録ファイルは,図2に示すレコード様式の順ファイルであり,1か月分の会員の利用実績を格納する。1レコードには,1人の会員の1回の利用に関する情報が格納される。
    pm10_3.png
    1. 利用日には,施設を利用した年,月,日が,それぞれ4桁,2桁,2桁で格納される。
    2. 開始時刻及び終了時刻には,時,分がそれぞれ2桁の24時間表記で格納される。施設の営業時間は8時から23時までである。
    3. 利用時間には,施設の利用時間が分単位で格納される。
  • 請求ファイルは,図3に示すレコード様式の順ファイルであり,会員ごとの月次請求金額を格納する。超過料金は1か月の利用時間の合計(分)を時間単位に切り上げて課金する。
    pm10_4.png
  • 作業用ファイルは,図4に示すレコード様式の索引ファイルであり,会員番号を主レコードキーとする。利用記録ファイルから会員ごとの利用時間の合計を分単位で求めるために使用する。呼出し法は乱呼出しとする。
    pm10_5.png
pm10_6.png

設問1

プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
  • "300400400500"
  • "400400500500"
  • "500400400300"
  • "500500400300"
b に関する解答群
  • MAIN-PROC
  • MKBILL-PROC
  • MKTIME-PROC
  • MKWORK-PROC
  • WRBILL-PROC
c,d に関する解答群
  • ADD EXT-PRICE(M-CODE) TO B-CHG
  • ADD T-MIN TO W-MIN
  • COMPUTE B-CHG = B-CHG + EXT-PRICE(M-CODE) * EXT-H
  • COMPUTE W-MIN = (T-MIN + 59) / 60 + 1
  • MOVE EXT-PRICE(M-CODE) TO B-CHG
  • MOVE T-MIN TO W-MIN
解答選択欄
  • a:
  • b:
  • c:
  • d:
  • a=
  • b=
  • c=
  • d=

解説

この設問の解説はまだありません。

設問2

テストデータを用いて動作確認をしたところ,利用記録ファイルのレコード数の増加に伴って,処理時間が想定を大きく超えることが判明した。調査の結果,作業用ファイルの入出力に多くの時間を費やしていた。そこで,整列機能を使用して処理時間の短縮を図ることにし,表2の変更を行うことにした。表2のプログラムでは,図4に示すレコード様式の整列併合用ファイルを作業用ファイルとして使用する。表2のプログラム中の に入れる正しい答えを,解答群の中から選べ。ここで,表2のdには,設問1の正しい答えが入っているものとする。
pm10_7.png
e,f に関する解答群
  • ADD W-MIN TO TMP-MIN
  • MOVE ZERO TO TMP-MIN
  • PERFORM WRBILL-PROC
  • RELEASE W-REC
  • WRITE W-REC
g に関する解答群
  • (M-NO = TMP-NO OR TMP-MIN > 600) AND NOT MEM-EOF
  • M-NO = TMP-NO
  • M-NO = TMP-NO AND TMP-MIN > 600
  • M-NO = TMP-NO OR TMP-MIN > 600
  • TMP-MIN > 600
解答選択欄
  • e:
  • f:
  • g:
  • e=
  • f=
  • g=

解説

この設問の解説はまだありません。

Pagetop