平成24年度春期 応用情報技術者試験 午前 問7

分野:アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語)|実際に出題されたIPA過去問題

次の手順はシェルソートによる整列を示している。データ列 7,2,8,3,1,9,4,5,6 を手順(1)〜(4)に従って整列するとき,手順(3)を何回繰り返して完了するか。ここで,[ ]は小数点以下を切り捨てた結果を表す。 〔手順〕 (1)[データ数÷3]→Hとする。 (2) データ列を,互いにH要素分だけ離れた要素の集まりからなる部分列とし,それぞれの部分列を,挿入法を用いて整列する。 (3)[H÷3]→Hとする。 (4) Hが0であればデータ列の整列は完了し,0でなければ(2)に戻る。

  1.  2
  2.  3
  3.  4
  4.  5
解答・解説を見る

正解:ア

AI解説

データ数は9なので手順(1)で H=[9÷3]=3 となる。手順(2)で部分列を整列後、1回目の手順(3)で H=[3÷3]=1、手順(4)で H≠0 なので(2)に戻る。2回目の手順(3)で H=[1÷3]=0 となり、手順(4)で完了する。したがって手順(3)は2回実行される。 ア: 正解。H は 3→1→0 と変化し、(3)の実行は2回である。 イ: 3回は H の更新列を 3→1→0 より長く誤って数えた値である。 ウ: 4回は切捨て除算の扱いを誤った場合などの値である。 エ: 5回も同様にトレースの誤りによる値である。 💡 トレース問題は H の値の変化(3→1→0)を書き出して回数を数えるだけでよい。[ ]の切捨てと「どの手順の回数を聞かれているか」を取り違えないこと。

出典:平成24年度 春期 応用情報技術者試験 午前 問7 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング(データ構造・アルゴリズム・探索整列・計算量の実際・擬似言語・プログラム言語・データ記述言語))の過去問