技術士の技事録

新米技術士が、IT技術動向・高度資格試験対策等、現役SE向け情報を発信します。

技術士第一次試験基礎科目 平成28年度 Ⅰ-2-3

 自然数Nに対して,Nを2で割った商にNの値を更新する操作を行い,この操作をNが0になるまで繰り返す。このとき,それぞれの割り算で出てきた余りの値を逆に並べたものがNの2進数表示となる。例えば,N=11から始めると,
 11 ÷ 2 = 5余り1
 5 ÷ 2 = 2余り1
 2 ÷ 2 = 1余り0
 1 ÷ 2 = 0余り1
であり,出てきた余り(1101)を逆に並べた(1011)が11の2進数表示である。このアルゴリズムを次のような流れ図で表した。流れ図中の,(ア)〜(ウ)に入る式又は記号として,最も適切なものはどれか。

f:id:honmurapeo:20170429144202p:plain

 
N > 0 N = 0 Nを2で割った商
N > 0 N = 0 Nを2で割った余り
N = 0 N > 0 Nを2で割った商
N = 0 N > 0 Nを2で割った余り
N > 0 N = 0 2N

 

答え

      ①

解説

 フローチャートの形から,(ア)は繰り返し条件,(イ)は終了条件であることがわかります。そして,問題文に「Nが0になるまで繰り返す」とあるので,(ア)はN>0,(イ)はN=0となります。
 また,(ウ)は減らしていくNの値になりますので,Nを2で割った商が入ります。
 実際にN=11を入れて,フローチャートをなぞっていくと,問題文にある通りになることがわかります。