必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 基本情報技術者
  3. 平成16年度春季問題一覧
  4. 平成16年度春季問題15-解答・解説-分析

平成16年度春季問題

問題15

配列 A の1番目から N 番目の要素に整数が格納されている(N>1)。次の図は, X と同じ値が何番目の要素に格納されているかを調べる流れ図である。この流れ図の実行結果として,正しい記述はどれか。

X と同じ値が配列中にない場合, k には 1 が設定されている。
X と同じ値が配列中にない場合, k には N が設定されている。
X と同じ値が配列の1番目と N 番目の2か所にある場合, k には 1 が設定されている。
X と同じ値が配列の1番目と N 番目の2か所にある場合, k には N が設定されている。

配列 A の1番目から N 番目の要素に整数が格納されている(N>1)。次の図は, X と同じ値が何番目の要素に格納されているかを調べる流れ図である。この流れ図の実行結果として,正しい記述はどれか。

X と同じ値が配列中にない場合, k には 1 が設定されている。
X と同じ値が配列中にない場合, k には N が設定されている。
X と同じ値が配列の1番目と N 番目の2か所にある場合, k には 1 が設定されている。
X と同じ値が配列の1番目と N 番目の2か所にある場合, k には N が設定されている。

解答:ウ

<解説>

与えられたアルゴリズムは線形探索法である。

これは、配列の先頭から順に比較を行っていく探索法であり、k は現在着目している配列要素の添字で、1, 2, …と増えていく。 X と同じ値が配列中にない場合、配列の最後の要素A (N )がX と等しいかどうかを判断した後に、k の値は、一つ増やされてN + 1となる。したがって、アおよびイは誤りである。。
この線形探索では、X と等しい要素を見つけたときに終了する。したがって、X と同じ値が配列の1番目とN 番目にある場合は、先頭側の1を見つけたときに終了するので、k の値は1となる。

よって正解はウである。