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

2進変換は余りを先に取り出し、その後で商に更新する

頻出基本情報技術者試験2022年度 公開問題 科目A2/アルゴリズムとプログラミング / アルゴリズム

流れ図:開始→jを入力→ループ端「変換 k:1,1,8(注)」→[a]→[b]→ループ端「変換」→終了。(注)ループ端の繰返し指定は、変数名:初期値,増分,終値を示す。
流れ図:開始→jを入力→ループ端「変換 k:1,1,8(注)」→[a]→[b]→ループ端「変換」→終了。(注)ループ端の繰返し指定は、変数名:初期値,増分,終値を示す。
ab
j ← j div 2NISHIN(k) ← j mod 2
j ← j mod 2NISHIN(k) ← j div 2
NISHIN(k) ← j div 2j ← j mod 2
NISHIN(k) ← j mod 2j ← j div 2

選択肢

正解と解説

正解: a:NISHIN(k) ← j mod 2 b:j ← j div 2

2進変換は「2で割った余りをその桁の値とし、商を次の対象にする」繰返しで行う。余りは下位桁から順に確定するので、まず j mod 2 を配列のk番目に格納し、その後で j を j div 2 に更新する順序でなければならない。先に商へ更新してしまうと、取り出すべき桁の情報が失われる。

選択肢ごとの解説

出典:令和4年度 公開問題 基本情報技術者試験 科目A 問2(IPA)

この問題は2回出題されています

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。