FE SUBJECT B
基本情報技術者 科目Bの問題解説
問題
次のプログラムを実行したとき,戻り値はどれか。配列の要素番号は1から始まる。
整数型の配列: a ← {4, 8, 6, 8, 3}
整数型: target ← 8
整数型: i
for (i を aの要素数 から 1 まで 1ずつ減らす)
if (a[i] = target)
return i
endif
endfor
return 0- ア 2
- イ 4
- ウ 5
- エ 0
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲
正解と解説
正解:4
正解:4
見る場所:後ろから前へ探索しているため,同じ値8が複数あっても,後ろ側の位置を先に見つける。
| i | a[i] | 判定 |
|---|---|---|
| 5 | 3 | 不一致 |
| 4 | 8 | 一致してreturn 4 |
処理の追い方:i=5では3で不一致,i=4で8に一致するので,そこでreturn iが実行される。戻り値は4である。
間違えやすい点:左から探す問題なら最初の8は2番目だが,このコードは末尾から探す。ループ方向を見落とすと2を選びやすい。
選択肢の見分け方:2は前から見た最初の8の位置,0は見つからない場合の戻り値である。
この問題について
公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。