アルゴリズムに関する問題は技術士として基本的な内容ですのでよく問われます。アルゴリズムの流れ図をよく見ながら、一つずつ条件を当てはめて考えていきましょう。
まず、問題の例に出されている(1101)2をこのアルゴリズムに当てはめて考えていきます。nは2進数の桁数より1少ない3となります。
sに初めにa3である1が代入されます。
i ← n-1 = 3-1 =2で、iが0以上ですから、次へ進んで、
s ← 1x 2 + a2 = 2+1 = 3
i ← 2-1 = 1 で、またiと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 3x2 +a1 = 6+0 =6
i ← 1-1 =0 で、また iと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 6x2 + a0 = 12+1 =13
i ← 0-1 = -1で、またiと0の比較に戻ります。
iは0未満になりましたので、ここで終了となり、sは13となります。
同様のことを、8桁つまりn=7の2進数 (11010101)2について行っていきます。
Sに初めにa7である1が代入されます。
i ←n-1 = 7-1 =6で、iが0以上ですから、次へ進んで、
s ← 1x 2 + a6 = 2+1 = 3
i ← 6-1 = 5 で、またiと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 3x 2 + a5 = 6+0 =6
i ← 5-1 = 4 で、またiと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 6x 2 + a4 = 12+1 =13
i ← 4-1 = 3 で、またiと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 13x 2 + a3 = 26+0 =26・・・ア
i ← 3-1 = 2 で、またiと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 26x 2 + a2 = 52+1 =53・・・イ
i ← 2-1 = 1 で、またiと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 53x 2 + a1 = 106+0 =106・・・ウ
i ← 1-1 = 0 で、またiと0の比較に戻ります。
iは0以上ですから、次へ進んで、
s ← 106x 2 + a0 = 212+1 =213
i ← 0-1 = -1 で、またiと0の比較に戻ります。
iは0未満になりましたので、ここで終了となり、sは213となります。
以上、ア:26, イ:53, ウ: 106, で正解選択肢は5となります。