問1 次の流れ図の説明及び流れ図を読んで,設問 1 〜 3 に答えよ。
[流れ図の説明]
ホテルにおける空き部屋を検索する処理の流れ図である。この処理は,部屋の階級と利用者の人数を入力すると,利用可能な部屋数と部屋番号を出力する。部屋の階級を問わないときは,階級の値を
0 にする。流れ図で使用する主な変数を表 1 に示す。配列の添え字 n がとる値の範囲は
1 〜 maxn であり,添え字 m がとる値の範囲は 1 〜 Orm である。
|
|
|
|
| maxn | 部屋数 |
|
| no(n) | 部屋番号 |
|
| umaxn(n) | 部屋の最大利用可能人数 |
|
| status(n) | 部屋の状態 | |
|
使用中 |
||
| rank(n) | 部屋の階級 |
|
| Irank | 検索する部屋の階級 |
|
| Iusrn | 検索する部屋の利用人数 |
|
| Orm | 利用可能な部屋数 |
|
| Ormno(m) | 利用可能な部屋番号 |
|

設問1 次の説明文中の【 】に入れる正しい答えを,解答群の中から選べ。
部屋の状況が表2のとき,次の入力データで検索を実行すると Orm の値は【 a 】,Ormno(2) の値は【 b 】となる。解答群Irank:0 Iusrn:4
表2 部屋の構成と状況 n no umaxn status rank 1 101 4 空き 3 2 102 4 使用中 3 3 201 3 空き 2 4 202 4 使用中 2 5 301 6 空き 1
| ア 1 | イ 2 | ウ 3 | エ 4 | オ 5 |
| カ 101 | キ 102 | ク 201 | ケ 202 | コ 301 |
設問2
人数分の宿泊料金を部屋ごとに計算して配列 Ormp に格納する処理を追加する。流れ図のβで示す箱の最後に追加する正しい答えを,解答群の中から選べ。ここで,各部屋の階級に対する 1 人当たりの料金(表3)は配列 rct に格納されている。配列 rct の添え字は 1 から始まり,階級を示す。解答群
表3 料金表(rct) 階級 料金(円/人) 1 20,000 2 10,000 3 8,000
ア Iusrn → Ormp(Orm)
イ rct(Irank) → Ormp(n)
ウ rct(Irank) + Iusrn → Ormp(n)
エ rct(Irank) × Iusrn → Ormp(n)
オ rct(Irank) × Iusrn → Ormp(Orm)
カ rct(rank(n)) × Iusrn → Ormp(n)
キ rct(rank(n)) × Iusrn → Ormp(Orm)
設問3
検索結果の出力件数を制限するために,出力件数の最大値を与える変数 rcmaxn を追加する。流れ図のαで示す箱の条件をどのように変更すればよいか。正しい答えを,解答群の中から選べ。解答群
ア n < maxn かつ Orm < rcmaxn
イ n < maxn かつ Orm ≧ rcmaxn
ウ n > maxn かつ Orm > rcmaxn
エ n < maxn 又は Orm > rcmaxn
オ n > maxn 又は Orm < rcmaxn
カ n > maxn 又は Orm ≧ rcmaxn