FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説
問題
次のプログラムを実行したとき,戻り値はどれか。行・列番号は1から始まる。
整数型の二次元配列: m ← {{2, 1, 3}, {4, 5, 6}, {7, 0, 8}}
整数型: i, s ← 0
for (i を 1 から 3 まで 1 ずつ増やす)
s ← s + m[i][i] × i
endfor
return s- ア 15
- イ 24
- ウ 36
- エ 45
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲
正解と解説
正解:36
正解:36
見る場所:参照するのは対角成分 m[i][i] だけで,さらに i を掛けて足す。行全体の合計ではない。
| i | 参照値 | 加算 | s |
|---|---|---|---|
| 1 | m[1][1]=2 | 2×1=2 | 2 |
| 2 | m[2][2]=5 | 5×2=10 | 12 |
| 3 | m[3][3]=8 | 8×3=24 | 36 |
処理の追い方:対角成分は2,5,8で,加算値は2,10,24。合計は36になる。
間違えやすい点:二次元配列では m[行][列] の順に読む。全要素や対角だけの単純合計と混同しない。
選択肢の切り分け:アは対角成分の単純合計,イは最後の加算値だけ,エは全体を大きく見積もった誤答。
この問題について
公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。