基本情報技術者試験 過去問解説

数値表現とは?基本情報技術者試験 令和元年度 秋期 午前 問1を解説

基本情報技術者試験 令和元年度 秋期 午前 問1は、数値表現に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

次の流れ図は,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処理を実行。

この問題の出題ポイント

  • 数値表現の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • データ構造分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: 数値表現。

選択肢

  1. a: j ← j div 2, b: NISHIN(k) ← j mod 2
  2. a: j ← j mod 2, b: NISHIN(k) ← j div 2
  3. a: NISHIN(k) ← j div 2, b: j ← j mod 2
  4. 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 で次桁へ進む=正しい順序。

解き方の整理

数値表現の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連問題

前後の問題

令和元年度 秋期 午前 の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。