平成29年秋期試験午後問題 問10
問10 ソフトウェア開発(COBOL)
次のCOBOLプログラムの説明及びプログラムを読んで,設問1~3に答えよ。
〔プログラムの説明〕
ある駐車場では,自動精算システムを導入している。利用者は,入庫時に利用番号と入庫時刻が記録された駐車券を受け取り,出庫時に駐車券を精算機に投入して駐車料金を支払う。連続した複数日にまたがる駐車も可能である。プログラム1は入庫時に入庫時刻を精算ファイルに記録するサブプログラムであり,プログラム2は出庫時に駐車料金を計算して出庫時刻とともに精算ファイルに記録し,駐車料金の値を呼出し元に返すサブプログラムである。
〔プログラムの説明〕
ある駐車場では,自動精算システムを導入している。利用者は,入庫時に利用番号と入庫時刻が記録された駐車券を受け取り,出庫時に駐車券を精算機に投入して駐車料金を支払う。連続した複数日にまたがる駐車も可能である。プログラム1は入庫時に入庫時刻を精算ファイルに記録するサブプログラムであり,プログラム2は出庫時に駐車料金を計算して出庫時刻とともに精算ファイルに記録し,駐車料金の値を呼出し元に返すサブプログラムである。
- 精算ファイルは,図1に示すレコード様式の索引ファイルであり,プログラムの実行時に既に存在する。主キーは利用番号である。ファイルの排他制御は適切に行われるものとする。
- 利用番号には,入庫時に発券される駐車券ごとに1ずつ増える8桁の数字が格納される。
- 入庫時刻及び出庫時刻には,西暦の年,月,日と,24時間表記の時(0~23),分(0~59)が,それぞれ4桁,2桁,2桁,2桁,2桁で格納される。
- プログラム1のパラメータの様式は,図2のとおりである。呼出し元プログラムから利用番号と入庫時刻を受け取る。
- プログラム2のパラメータの様式は,図3のとおりである。呼出し元プログラムから利用番号と出庫時刻を受け取り,駐車料金の値を返す。
- 駐車料金は,入庫時刻を基準に駐車時間を1時間単位に区切って算出する。この単位を課金単位と呼び,1課金単位当たり300円を課金する。各課金単位の開始時刻の"分"は,入庫時刻と同じ"分"とする。各課金単位の開始時刻から1分以上が経過すると課金対象になる。例えば,10時30分に入庫して,11時30分に出庫した場合,課金単位は1で,駐車料金は300円である。10時30分に入庫して,11時31分に出庫した場合,2時間目の課金単位の開始時刻である11時30分から1分が経過しているので,課金単位は2となり,駐車料金は600円になる。駐車料金が999,999円を超えることはない。
- プログラム2の中で使用している組込み関数 INTEGER-OF-DATE は,引数に指定された日付を西暦1601年1月1日からの通算の日数に変換して返す。
広告
設問1
プログラム1における精算ファイルの呼出し法として正しい答えを,解答群の中から選べ。ここで,括弧内は,呼出し法に対応する環境部のファイル管理記述項におけるACCESSMODE句の書き方である。
解答群
- 順呼出し (ACCESS MODE IS SEQUENTIAL)
- 動的呼出し (ACCESS MODE IS DYNAMIC)
- 乱呼出し (ACCESS MODE IS RANDOM)
解答選択欄
- ア
解説
この設問の解説はまだありません。設問2
プログラム2中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
- ADD PRM-FEE TO ACCT-FEE
- MOVE ACCT-FEE TO PRM-FEE
- MOVE PRM-FEE TO ACCT-FEE
- MOVE PRM-NO TO ACCT-NO
b に関する解答群
- *
- +
- -
- /
c に関する解答群
- ADD 1 TO W-HRS
- ADD ACCT-O-HH TO W-HRS
- SUBTRACT 1 FROM W-HRS
- SUBTRACT ACCT-I-HH FROM W-HRS
解答選択欄
- a:
- b:
- c:
- a=イ
- b=ウ
- c=ア
解説
この設問の解説はまだありません。設問3
夜間時間帯の料金割引を実施するために,プログラム2を変更する。夜間時間帯は20時00分から翌朝5時59分までとし,各課金単位の開始時刻が夜間時間帯に含まれるときは,1課金単位当たりの課金を100円とする。表1中の に入れる正しい答えを,解答群の中から選べ。
d に関する解答群
- COMPUTE W-IDX = ACCT-I-HH + 1
- COMPUTE W-IDX = ACCT-I-HH - 1
- MOVE 1 TO W-IDX
- MOVE ACCT-I-HH TO W-IDX
e,f に関する解答群
- W-CNT = W-HRS
- W-CNT > W-HRS
- W-HRS = W-IDX
- W-HRS = 24
- W-IDX = W-CNT
- W-IDX > 24
解答選択欄
- d:
- e:
- f:
- d=ア
- e=イ
- f=カ
解説
この設問の解説はまだありません。広告