FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説
問題
次のプログラムを実行したとき,戻り値はどれか。
整数型の二次元配列: m ← {{5, 1, 2}, {3, 4, 6}, {7, 8, 9}}
整数型: i, j, s ← 0
for (i を 1 から 3 まで 1ずつ増やす)
for (j を 1 から 3 まで 1ずつ増やす)
if (i + j = 4)
s ← s + m[i][j]
endif
endfor
endfor
return s- ア 12
- イ 13
- ウ 14
- エ 15
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲
正解と解説
正解:13
正解:13
見る場所:i+j=4になる反対対角線の要素だけを加算する。
| i,j | 値 | s |
|---|---|---|
| (1,3) | 2 | 2 |
| (2,2) | 4 | 6 |
| (3,1) | 7 | 13 |
処理の追い方:対象はm[1][3],m[2][2],m[3][1]で,合計は13である。
間違えやすい点:主対角線の5+4+9ではない。条件式 i+j=4 を満たす位置を先に列挙する。
応用の考え方:条件式で位置を選ぶ二次元配列問題では,先に対象となる座標を列挙する。値を足し始める前に,iとjの組をすべて書き出すと見落としを防げる。
この問題について
公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。