問題
次の擬似言語プログラムを実行したとき、配列resultの内容はどれか。 整数型の配列: a ← {1, 3, 5} 整数型の配列: b ← {2, 4, 6} 整数型の配列: result ← {0, 0, 0} 整数型: i ← 1 while (i ≦ 3) result[i] ← a[i] + b[i] i ← i + 1 endwhile
選択肢
- 1ア {1, 3, 5}
- 2イ {2, 4, 6}
- 3ウ {3, 7, 11}
- 4エ {2, 12, 30}
正解
3. ウ {3, 7, 11}
詳しい解説を見る解説を閉じる
解説
このプログラムは添字iを1から3まで動かし、配列aとbの同じ位置の要素どうしを加算してresultに格納する処理である。途中式は、result[1]=a[1]+b[1]=1+2=3、result[2]=a[2]+b[2]=3+4=7、result[3]=a[3]+b[3]=5+6=11となり、result={3, 7, 11}でウが正解である。アの{1, 3, 5}とイの{2, 4, 6}は、代入処理を見落としてaやbの内容がそのまま残ると誤解した値である。エの{2, 12, 30}は加算ではなく乗算(1×2、3×4、5×6)と取り違えた場合の値である。頻出ポイント:配列の対応要素どうしの演算はベクトル演算の基本形であり、この擬似言語では添字が1始まりである点と、ループ回数(要素数)の確認を怠らないことがトレースの基本である。
一問一答
科目A 180問+科目B 60問