基本情報技術者試験 基本情報技術者試験 令和元年度 秋期 午前 午前 問1: 次の流れ図は,10進整数j(0<j<100)を8桁の2進数に変換する処理を表している。2進数は下位桁から順に,配列の要素 NISHIN(1) から NISHIN

基本情報技術者試験 令和元年度 秋期 午前
Q 11 / 80
次の流れ図は,10進整数j(0<j<100)を8桁の2進数に変換する処理を表している。2進数は下位桁から順に,配列の要素 NISHIN(1) から NISHIN(8) に格納される。流れ図のa及びbに入れる処理はどれか。ここで,j div 2 は j を 2 で割った商の整数部分を,j mod 2 は j を 2 で割った余りを表す。
10進整数jを8桁2進数に変換する流れ図。NISHIN(1)..NISHIN(8)に下位桁から格納。ループ端k:1,1,8の中でa,bの2処理を実行。
この問の正解率:59.08%(1,278件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

次の流れ図は,10進整数j(0<j<100)を8桁の2進数に変換する処理を表している。2進数は下位桁から順に,配列の要素 NISHIN(1) から NISHIN(8) に格納される。流れ図のa及びbに入れる処理はどれか。ここで,j div 2 は j を 2 で割った商の整数部分を,j mod 2 は j を 2 で割った余りを表す。

選択肢

  • .a: j ← j div 2, b: NISHIN(k) ← j mod 2
  • .a: j ← j mod 2, b: NISHIN(k) ← j div 2
  • .a: NISHIN(k) ← j div 2, b: j ← j mod 2
  • .a: NISHIN(k) ← j mod 2, b: j ← j div 2

正解

. a: NISHIN(k) ← j mod 2, b: j ← j div 2

解説

2進変換は j mod 2 で最下位ビットを取り出し、次に j div 2 で次の桁に進む。先に NISHIN(k) へ余りを格納し、その後 j を更新する順序が正しい。

選択肢ごとの解説

  • .先に j を div 2 で更新してから余りを取ると、別の桁の値が格納される。
  • .j ← j mod 2 で j 自体を上書きすると以降の処理ができない。
  • .j div 2 を NISHIN に格納し、その後 j ← j mod 2 では商と余りが逆。
  • .NISHIN(k) ← j mod 2 で下位桁を保存→j ← j div 2 で次桁へ進む=正しい順序。

基本情報技術者試験 令和元年度 秋期 午前過去問一覧へ戻る・問1