FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説
問題
次のプログラムを実行したとき,戻り値はどれか。配列の要素番号は1から始まる。
整数型の配列: a ← {5, 9, 4, 7}
整数型: i, s ← 0
for (i を 1 から aの要素数 まで 1ずつ増やす)
s ← s + a[i]
if (s > 12)
break
endif
endfor
return i- ア 2
- イ 3
- ウ 14
- エ 4
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲
正解と解説
正解:2
正解:2
見る場所:sを更新したあとで12を超えたかを判定する。breakしたときのiがそのまま返される。
| i | s | 判定 | 処理 |
|---|---|---|---|
| 1 | 5 | 5>12は偽 | 継続 |
| 2 | 14 | 14>12は真 | breakしてreturn 2 |
処理の追い方:i=1ではs=5で継続。i=2でs=14となり12を超えるのでbreakし,return iで2を返す。
間違えやすい点:break後にiがさらに増えるわけではない。判定は加算後なので,9を加えた時点で止まる。
選択肢の見分け方:14はsの値を答えた誤り,3はbreak後もループが続くと見た誤り。
この問題について
公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。