HOME»基本情報技術者平成25年秋期問題»午後問10
基本情報技術者過去問題 平成25年秋期 午後問10
⇄問題文と設問を画面2分割で開く⇱問題PDF問10 ソフトウェア開発(COBOL)
次のCOBOLプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
〔プログラムの説明〕
X社では,自社の事業所内にある4面のテニスコートについて,従業員が予約やキャンセル,空き状況の確認ができるシステムを開発することになった。このプログラムは,テニスコートの予約を受け付けるサブプログラムであり,利用希望者からの予約情報をパラメータで受け取り,予約管理ファイルで管理している予約状況と照らし合わせて,予約結果をパラメータで呼出し元に返却する。
〔プログラムの説明〕
X社では,自社の事業所内にある4面のテニスコートについて,従業員が予約やキャンセル,空き状況の確認ができるシステムを開発することになった。このプログラムは,テニスコートの予約を受け付けるサブプログラムであり,利用希望者からの予約情報をパラメータで受け取り,予約管理ファイルで管理している予約状況と照らし合わせて,予約結果をパラメータで呼出し元に返却する。
- プログラムには二つのパラメータがある。各パラメータの様式は,図1のとおりである。
- 予約番号には,予約希望に対して一意に割り振られる 000001~999999 の番号が格納されている。
- 希望面数には,希望するコートの面数が格納されている。
- 希望日には,年,月,日が,それぞれ4桁,2桁,2桁の西暦で格納されている。
- 希望時刻には,希望する利用開始時刻の"時"が,24 時間表記で格納されている。利用可能な時間帯は 8 時から 17 時までであり,1時間単位で予約できる。
- 希望時間には,希望する利用時間数が格納されている。
- 結果には,希望どおりに予約できた場合は 0 を,予約できなかった場合は 9 を設定する。
- 予約コートには,予約できたコートのコート番号を設定する。例えば 3 番コートを予約できた場合は 3000 を設定し,1 番コートと 2 番コートを予約できた場合は 1200 を設定する。予約ができなかった場合は,0000 を設定する。
- コートは 1 番~ 4 番の順に検索し,番号の小さいコートから確保する。
- 予約情報の各項目の値は呼出し側プログラムで検査するので,①~⑤で示した範囲以外の値が設定されることはない。
- 予約管理ファイルは,日付を主キーとする図2に示すレコード様式の索引ファイルで,予約状況を管理するために使用する。
- 日付には,年,月,日が,それぞれ4桁,2桁,2桁の西暦で格納される。
- 予約状況の各要素には,予約済の場合は予約番号が,予約が入っていない場合は 0 が格納される。
- 予約が入っていない日付をキーとするレコードは存在しない。
設問1
プログラム中の に入れる正しい答えを,解答群の中から選べ。
a,b,c に関する解答群
- COMPUTE TIME-START = PRM-TIME - 7
- MOVE BKUP-AREA TO RSV-COURT(COURT-CNT)
- MOVE COURT-CNT TO KEEP-COURT
- MOVE PRM-TIME TO TIME-CNT
- MOVE RSV-RNO(COURT-CNT TIME-CNT) TO PRM-RNO
- MOVE TIME-CNT TO COURT-CNT
- SET CHK-NG TO TRUE
- SET CHK-OK TO TRUE
d に関する解答群
- CHK-NG
- CHK-OK
- KEEP-COURT NOT = ZER0
- PRM-NUM NOT = KEEP-COURT
- PRM-NUM = KEEP-COURT
解答選択欄
- a:
- b:
- c:
- d:
解答
- a=ア
- b=ク
- c=イ
- d=エ
解説
この設問の解説はまだありません。
設問2
システムの運用を開始したところ,"隣り合わせのコートを希望する機能が欲しい"との要望が挙がった。コートは図3に示すとおりに配置されていて,2面を予約した利用者にフェンスを挟んだコート,例えば1番コートと3番コートが割り当てられたことがあったためである。
パラメータにデータ項目 PRM-NEXT を追加し,1 が設定されている場合,確保できたコートがフェンスを挟んでいたら予約はせずに,結果に 4 を設定して返却するようにプログラムを変更する。ただし,3面以上の予約だった場合は,フェンスを挟んでいても予約する。表1中の に入れる正しい答えを,解答群の中から選べ。
パラメータにデータ項目 PRM-NEXT を追加し,1 が設定されている場合,確保できたコートがフェンスを挟んでいたら予約はせずに,結果に 4 を設定して返却するようにプログラムを変更する。ただし,3面以上の予約だった場合は,フェンスを挟んでいても予約する。表1中の に入れる正しい答えを,解答群の中から選べ。
e,f,g に関する解答群
- ((COURT-NO(1) = 1 OR 2) AND (COURT-NO(2) = 3 OR 4))
- (COURT-CNT = 3 OR 4)
- (COURT-NO(1) = 1 OR 3)
- NEXT-OFF
- NEXT-ON
- PRM-NUM = 2
- RSV-OK
解答選択欄
- e:
- f:
- g:
解答
- e=ア
- f=オ
- g=カ
解説
この設問の解説はまだありません。