FE SUBJECT B
基本情報技術者 科目Bの問題解説
問題
二次元配列 m が次のとき、手続 diagScore(m) の戻り値はどれか。
m = {{1,2,3},
{4,5,6},
{7,8,9}}○整数型: diagScore(整数型の二次元配列: m)
整数型: i, s ← 0
for (i を 1 から 3 まで 1 ずつ増やす)
s ← s + m[i, i] × i
endfor
return s- ア 15
- イ 30
- ウ 38
- エ 45
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲
正解と解説
正解:38
正解:38
この手続は全要素の合計ではなく、対角成分 m[i,i] だけを使う。さらに、その値をそのまま足すのではなく、添字 i を掛けてから加算する。
使う要素は m[1,1]=1、m[2,2]=5、m[3,3]=9 である。計算は 1×1 + 5×2 + 9×3 = 1 + 10 + 27 = 38 になる。対角和15をそのまま選ばないようにする。
| i | m[i,i] | 加算値 | s |
|---|---|---|---|
| 1 | 1 | 1×1=1 | 1 |
| 2 | 5 | 5×2=10 | 11 |
| 3 | 9 | 9×3=27 | 38 |
この問題について
公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。