アルゴリズムとプログラミング

令和元年度 秋期 基本情報技術者試験 午前 問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 で割った余りを表す。
流れ図: 開始 → j を入力 → ループ端「変換 k:1, 1, 8(注)」→ 処理 a → 処理 b → ループ端「変換」→ 終了。(注)ループ端の繰返し指定は,変数名:初期値,増分,終値 を示す。選択肢は a と b の組合せの表(ア: 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)
答えを選ぶ

出典:令和元年度 秋期 基本情報技術者試験 午前 問1(問題文は IPA の公開問題。解説は当サイト作成)

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:エ

覚える知識

10進→2進変換アルゴリズム(除算2進法)

10進整数を2で割った余りを下位桁から並べ、商で割り続けると2進数になる。

この問題で必要なこと

10進数を2で割った余りを下位桁から順に格納し、商を次の被除数とする手順を流れ図で読み取る。

ひっかけ

商と余りの格納先を入れ替えた選択肢や、格納前に j を更新する順序違いと混同させる。

この知識の出題:本試験系 1 回・免除試験 3 回(公開問題での観測値)。頻出知識ランキング554位(全1,254件中)。

この知識をアプリで解いて覚える レッスン「数値を扱うアルゴリズムと計算問題」で学ぶ

同じ知識の過去問