問題
擬似言語で「整数型: sum ← 0; i ← 1; while (i ≦ 5) sum ← sum + i; i ← i + 1; endwhile」のsumの値は何か。
選択肢
- 115
- 210
- 320
- 425
正解
1. 15
詳しい解説を見る解説を閉じる
解説
変数をトレースすると、sum=0、i=1から開始し、ループ各回でsumにiを加えてからiを1増やす。i=1でsum=0+1=1、i=2でsum=1+2=3、i=3でsum=3+3=6、i=4でsum=6+4=10、i=5でsum=10+5=15となり、i=6で条件i≦5が偽になりループを抜けるため、sumは15で正解である。10はi=4まで、つまり1〜4の合計で打ち切った場合の誤りで、20や25は加算回数を取り違えた誤りである。1からnまでの総和はn(n+1)/2で検算でき、5×6÷2=15と一致する。科目Bではこのような変数のトレースが解答の基本技術であり、表を書いて1回ずつ値を追う習慣が単純ループ問題の確実な得点源になる。
一問一答
科目A 180問+科目B 60問