[更新日]1998.11.06
問1 次の流れ図の説明及び流れ図を読んで、設問に答えよ。
〔流れ図の説明〕
大きさ n の配列 T の各要素 T(1),T(2),…,T(n) に異なる値が昇順に 格納されている。与えられた変数 data と同じ値が格納されている要素を 2 分探索法で見つける。 変数 data の値と一致した要素が見つかると,その要素番号を変数 idx に格納して 検索を終了する。見つからなかったときは,変数 idx を 0 とする。
2 分探索法による検索の概要は,次のとおりである。
(1) 最初の探索範囲は,配列全体とする。
(2) 探索範囲の中央の位置にある配列要素の値(以後,中央の値と呼ぶ)と検索する値とを比較する。
(3) 比較の結果,
二つの値が等しければ,検索を終了する。
“検索する値 > 中央の値”であれば,検索する値は探索範囲の前半には存在しないので,後半を次の探索範囲とし,(2) に戻る。
“検索する値 < 中央の値”であれば,後半には存在しないので,前半を次の探索範囲とし,(2) に戻る。
二つの値が一致せず,しかも探索範囲の要素数が 0 個となったときは,検索を終了する。
〔流れ図〕
設問 流れ図中の に 入れる正しい答えを,解答群の中から選べ。ただし,除算した結果の小数点以下は 切捨てとする。
a に関する解答群
ア 0 イ 1 ウ n−1
エ n オ n+1 カ n÷2
b,c に関する解答群
ア high−1 → mid イ high−low → idx
ウ high−low → low エ high÷2 → low
オ low+1 → mid カ low×2 → high
キ mid → idx ク (high−low)÷2 → mid
ケ (high+low)÷2 → mid
問2 次の流れ図の説明及び流れ図を読んで、設問1,2に答えよ。
変数 In に格納されている文字列を,次のとおりに変換して変数 Out に格納する。
変数 In に格納されている文字列を先頭から調べて,変数 S に格納されている文字列と 一致する部分があれば,変数 R に格納されている文字列に置き換える。ただし, 変数 S の文字数は 0 でないものとする。流れ図中で使用している主な変数は, 表のとおりである。
(例)
In
↓
S を“はにわ”,R を“5羽”として実行する。
Out
表 流れ図中で使用している主な変数
変数名
内容
In,InN
変換対象文字列と文字数
S,SN
検索する文字列と文字数
R,RN
置換する文字列と文字数
Out,OutN
変換後文字列と文字数
設問1 In=“○×○×○”,S=“○×○”,R=“△”のとき,流れ図中の αの処理内容を“K+1 → K”に変更すると,変数 Out の内容はどうなるか。 正しい答えを,解答群の中から選べ。
解答群
ア “○×○×○” イ “△○×○” ウ “△△”
エ “△△△” オ “△×○” カ “△×△×○”
設問2 文字列を置換した回数を RCNT に求める機能を追加するには,
の処理が必要である。これらの処理を追加すべき正しい位置を,解答群の中からそれぞれ選べ。
カ キ