
基本情報技術者試験基礎・応用
条件を読む・根拠を説明する
配列の上書き順序
条件を整理し、答えを選んでから解き方を確認しましょう。
添字1〜4のA=[2,3,1,4]について、iを2から4まで昇順に動かしA[i]←A[i]+A[i−1]を実行する。右辺はその時点の配列を読む。終了時のAはどれか。
答え・解き方を読む
[2,5,6,10]
図で見る
左隣は既に更新した値を読む
i=2で3+2=5、i=3では更新済みの5を使って1+5=6、i=4では4+6=10。最初の配列の左隣を使い続ける処理ではありません。
図は問題の関係を整理する模式図です。記号には各問題の数値を当てはめます。寸法・面積・時間の縮尺や、実施工の全条件は表していません。
考える順序
- 1i=2でA[2]=3+2=5
- 2i=3では更新済みの5を使いA[3]=1+5=6
- 3i=4でA[4]=4+6=10となる
選択肢ごとの理由
- 正解 · [2,5,6,10]
i=2でA[2]=3+2=5。i=3では更新済みの5を使いA[3]=1+5=6。i=4でA[4]=4+6=10となる。
- 比較 · [2,5,4,5]
右辺を全て元の配列から読む方式と混同しています。
- 比較 · [2,3,1,10]
各段階で対象要素を更新する処理です。
- 比較 · [5,6,10,4]
代入先はA[i]でA[i−1]ではありません。