[更新日]1998.11.06
問16 プログラム設計に関する次の記述を読んで、設問1,2に答えよ。
出張する社員のために契約ビジネスホテルの検索システムを設計する。
端末から入力される宿泊都市名と希望宿泊料金から,条件に合うホテルを検索し,最大 15 件まで端末に表示する。
このシステムの構成は図 1 のとおりで,主プログラムと三つの副プログラムからなる。
図1 ビジネスホテル検索システムの構成図
(1) 図 2 に示す変数は,各副プログラムに共通な変数である。
図2 共通な変数
H(k)で k 番目のホテル情報全体を,H(k).CHARGE で k 番目のホテルの宿泊料金を示す。
(2) 各副プログラムの処理内容は,次のとおりである。
入力:端末から入力される宿泊都市名と希望宿泊料金を受け取り,それぞれを変数CITY とREQUEST に格納する。
検索:ホテルデータベースを検索し,CITY と同じ都市にあるホテル軒数を変数 N に格納し,各ホテルの情報を宿泊料金の降順に整列して H(1),H(2),…, H(N)に格納する。
表示:ホテルの情報を最大 15 件まで 1 画面に表示する。
N = 0 のとき:“この都市の情報なし”と表示する。
N > 0 のとき:希望宿泊料金以下の宿泊料金のホテル情報を宿泊料金の降順に表示する。希望宿泊料金以下の宿泊料金のホテル情報がなければ,“希望金額以下の情報なし”と表示する。
表示の例を図 3 に,表示副プログラムの処理の流れ図を図 4 に示す。
図3 表示の例
図4 表示副プログラムの処理の流れ図
設問1 図 4 の流れ図中の に入れる正しい答えを,解答群の中から選べ。
解答群
ア top = IDX イ top = IDX 又は top = N
ウ top = IDX 又は top > N エ top = N
オ top > N
設問2 次の記述中の に入れる正しい答えを,解答群の中から選べ。
(1) 検索副プログラムで各ホテルの情報を整列して格納しているのは, ためである。
(2) 検索副プログラムでホテル情報を整列しないで格納すると,表示副プログラムで表示するホテル候補一覧画面には, 。
a に関する解答群
ア 検索副プログラムでホテルデータベースを検索するときに,希望宿泊料金で検索できるようにする
イ 検索副プログラムでホテルデータベースを検索するときに,宿泊都市名で検索できるようにする
ウ 表示副プログラムで画面を表示するときに,宿泊料金の高いホテル情報から順番に表示する
エ 表示副プログラムで表示対象ホテル情報を選択するときに,2 分探索ができるようにする
b に関する解答群
ア “希望金額以下の情報なし”と表示される
イ 希望宿泊料金に近い宿泊料金のホテル情報が格納順に最大 15 件表示される
ウ 最初の 1 件を除き,条件を満たしているかどうかわからないホテル情報が表示される
エ 宿泊料金の最も安いホテル情報から格納順に表示される
設問3 表示副プログラムの処理内容の を次のとおりに変更する。
' N > 0 のとき:希望宿泊料金を超えるホテルを含めて希望宿泊料金に近い宿泊料金のホテル情報を,宿泊料金の降順に表示する。
図 4 中の の部分を 図 5 の流れ図と入れ替えると,仕様変更に対応できる。
なお,流れ図中の|x|は x の絶対値を,min(x,y)は x と y の小さい方の値を,max(x,y)は x と y の大きい方の値を表す。
図5 仕様変更に対応する流れ図
次の記述中の に入れる正しい答えを,解答群の中から選べ。
変更後のプログラムの動作を確認するために,(1) 〜 (3) のデータを 使用してテストを行った。その結果,画面に表示されるホテルの範囲は,(1) が ,(2) が ,(3) が となる。
(1) (2) (3)
ア H(1)〜 H(10) イ H(1)〜 H(15) ウ H(2)〜 H(10)
エ H(2)〜 H(16) オ H(3)〜 H(10) カ H(3)〜 H(17)
キ H(4)〜 H(10) ク H(4)〜 H(18) ケ H(5)〜 H(19)
コ H(6)〜 H(20)