問題
選択肢
- 1{1, 2, 3, 4, 5}
- 2{2, 3, 4, 5, 6}
- 3{2, 4, 6, 8, 10}
- 4{0, 2, 4, 6, 8}
正解
3. {2, 4, 6, 8, 10}
詳しい解説を見る解説を閉じる
解説
このプログラムは、配列dataの全要素を先頭から順に2倍して同じ位置に書き戻す処理である。トレースすると、i=1でdata[1]=1×2=2、i=2でdata[2]=2×2=4、i=3でdata[3]=3×2=6、i=4でdata[4]=4×2=8、i=5でdata[5]=5×2=10となり、実行後の配列は{2, 4, 6, 8, 10}である。「{1, 2, 3, 4, 5}」は更新が一度も行われていない初期状態、「{2, 3, 4, 5, 6}」は各要素に1を加えた場合、「{0, 2, 4, 6, 8}」は2倍した後に2を引いた場合の結果であり、いずれも本問の更新式とは一致しない。基本情報の科目Bでは、配列の全要素を走査して加工する処理は頻出の基本パターンであり、添字iが動く範囲(1〜5)と、更新式data[i]←data[i]×2が各要素にちょうど1回ずつ適用されることを確認するのがポイントである。
一問一答
科目A 180問+科目B 60問