![]()
平成16年 春期 基本情報技術者 午後 問04
問04 整列を行う副プログラム
〔プログラムの説明〕 1次元配列に連続して格納されている 2n 個の整数型データ (n は整数で n > 0)に対して,併合を n 回繰り返すことによって整列を 行う副プログラム mergeSort である。 (1) 配列 input[] の要素を昇順に並べて配列 output[] に格納する。 (2) 各配列の添字は 0 から始まる。 (3) 副プログラム mergeSort の引数の仕様を表に示す。
表 mergeSort の引数の仕様
図は,1次元配列に格納されている 8 個のデータを3回の併合で整列する例である。
〔プログラム〕
設問1 プログラム中の
a に関する解答群 ア a_yet = false and b_yet = false イ a_yet = false or b_yet = false ウ a_yet = true and b_yet = true エ a_yet = true or b_yet = true b に関する解答群 ア b_idx ← span_idx イ b_idx ← span_idx + span_size ウ b_idx ← span_idx + span_size ÷ 2 エ b_idx ← span_idx + span_size × 2 オ write_idx ← 1 カ write_idx ← a_idx + 1 キ write_idx ← b_idx + 1 ク write_idx ← write_idx + 1
設問2 次の記述中の 次のデータを入力データとして,副プログラム mergeSort を実行すると,
副プログラム mergeSort をデータが昇順に並んだ時点で終了させるためには, 次の変更1〜3を加えればよい。 ただし,変更後のプログラム中の変数 ordered は,論理型で宣言されているものとする。
c,d に関する解答群 ア 1 イ 2 ウ 3 エ 4 オ 5 e に関する解答群 ア output[write_idx − 1] ≦ output[write_idx] イ output[write_idx] ≦ output[write_idx + 1] ウ output[write_idx − 1] > output[write_idx] エ output[write_idx] > output[write_idx + 1] オ temp[write_idx] ≦ output[write_idx] カ temp[write_idx − 1] ≦ temp[write_idx + 1] キ temp[write_idx] > output[write_idx] ク temp[write_idx − 1] > temp[write_idx + 1]
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||||||||||||