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

基本情報技術者試験 令和4年度 科目A サンプル問題
Q 22 / 60
次の流れ図は,10進整数 j(0<j<100)を8桁の2進数に変換する処理を表している。2進数は下位桁から順に,配列の要素 NISHIN(1) から NISHIN(8) に格納される。流れ図の a 及び b に入れる処理はどれか。ここで,j div 2 は j を2で割った商の整数部分を,j mod 2 は j を2で割った余りを表す。
流れ図: 開始 → jを入力 → 変換ループ(k:1,1,8) → 処理a → 処理b → ループ端 → 終了。aとbにそれぞれ何を入れるかを4組から選ぶ
この問の正解率:55.49%(1,932件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

次の流れ図は,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

解説

10進整数 j を2進数に変換するには、j mod 2 で最下位ビットを取り出し配列に格納、その後 j ← j div 2 で右シフトし次の桁へ進めます。a が NISHIN(k)←j mod 2、b が j←j div 2 の順番。エが正解。

選択肢ごとの解説

  • .a で j を div 2 してから mod 2 を取ると、本来格納すべき桁が消えてしまいます。
  • .j ← j mod 2 にしてしまうと、j が 0 か 1 になりループの2回目以降が成立しません。
  • .NISHIN に j div 2 を格納すると桁の値ではなく商が入ってしまいます。
  • .まず余りを格納し、その後 j を商で更新する正しい順序で、正解です。

基本情報技術者試験 令和4年度 科目A サンプル問題過去問一覧へ戻る・問2