基本情報技術者試験 - 令和4年12月修了 - 問9

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

アXと同じ値が配列中にない場合,kには1が設定されている
イXと同じ値が配列中にない場合,kにはNが設定されている。
ウXと同じ値が配列の1番目とN番目の2か所にある場合,kには1が設定されている。
エXと同じ値が配列の1番目とN番目の2か所にある場合,kにはNが設定されている。
答え : ウ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズム
同一問題 : 〔平25修6問7〕
解説 :
この流れ図は,配列Aの1番目からN番目までの要素を順番に調べ,Xと同じ値が格納されている位置kを探索するアルゴリズムです。

流れ図を見ると,kの値がNを超えていない限り,A(k)がXと一致するかどうかを確認し,一致すれば処理を終了,一致しなければkを1増やして次の要素を確認するという流れになっています。

この処理では,配列の先頭から順番に確認していくため,もしXと同じ値が配列の1番目とN番目の両方に存在する場合,先に見つかるのは1番目の要素であり,その時点でkが1として処理が終了します。

従って,Xと同じ値が配列の1番目とN番目の2か所に存在する場合,kには1が設定されることになり,選択肢「ウ」が正解です。

選択肢「ア」と「イ」は,Xと同じ値が配列中に存在しない場合の記述ですが,この流れ図ではkがNを超えた時点でループを抜けて終了するため,実際にはkにはN+1に近い値が設定されることになり,選択肢の記述とは異なります。

「エ」は,2か所に値がある場合にNが設定されるとしていますが,先頭から探索するため実際にはNではなく1が設定されます。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる