令和6年度 ITパスポート 問85 解説|2進数の文字列を整数に

ITパスポート 公開問題の解説令和6年度 問85最終更新 2026-10-19

分類テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング新しい試験範囲外(2027年度からの新しい試験には出ない分野)年度令和6年度の100問の一覧

関数binaryToIntegerは,1桁以上の符号なし2進数を文字列で表した値を引数binaryStrで受け取り,その値を整数に変換した結果を戻り値とする。例えば,引数として“100”を受け取ると,4を返す。プログラム中のa,bに入れる字句の適切な組合せはどれか。

〔プログラム〕
○整数型: binaryToInteger(文字列型: binaryStr)
  整数型: integerNum, digitNum, exponent, i
  integerNum ← 0
  for (i を 1 から binaryStr の文字数 まで 1 ずつ増やす)
    digitNum ← binaryStr の末尾から i 番目の文字を整数型に変換した値
                                    /​/ 例: 文字“1”であれば整数値1に変換
    exponent ← [ a ]
    integerNum ← [ b ]
  endfor
  return integerNum
正解と解説

正解:エ

ア× a の (2 の i 乗)-1 は 1、3、7、… となり、桁の重み 1、2、4、… と合いません。b も、integerNum は 0 から始まるので、かけ算では最後まで 0 のままです。

イ× b の足し込み方は合っていますが、a の (2 の i 乗)-1 では重みが 1、3、7 になり、“100” は 1×7=7 になって例の 4 と合いません。

ウ× a の 2 の (i-1) 乗は桁の重みとして合っていますが、b がかけ算なので、integerNum は 0 から変わらず、どの入力でも 0 を返します。

エ○ 正解 a で右から i 番目の桁の重み 2 の (i-1) 乗を求め、b でその桁の数字×重みを合計に足していきます。“100” では 0+0+1×4=4 になり、例と合います。

解説

2進数の各桁には、右端から順に 1、2、4、8、… という重みがあります。右から i 番目の桁の重みは 2 の (i-1) 乗です。2進数を整数に直すには、各桁の数字(0か1)にその桁の重みをかけ、全部を足します。プログラムは、文字列の末尾(右端)から1文字ずつ取り出し、digitNum にその桁の数字、exponent にその桁の重みを入れて、integerNum に足し込んでいく形です。

a には右から i 番目の桁の重み、b には「これまでの合計+この桁の数字×重み」が入ります。例の “100” でたどると、4 が返ることを確かめられます。

i=1:末尾から1番目“0” digitNum=0 exponent=2の0乗=1
  integerNum=0+0×1=0
i=2:末尾から2番目“0” digitNum=0 exponent=2の1乗=2
  integerNum=0+0×2=0
i=3:末尾から3番目“1” digitNum=1 exponent=2の2乗=4
  integerNum=0+1×4=4
a が (2 の i 乗)-1 のとき:exponent は 1,3,7 → “100” は 7(例と合わない)
b が積のとき:integerNum は 0 から始まるので、何をかけても 0 のまま

教科書 g37この問題の知識

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

アルゴリズムは問題を解くための手順で、順次・選択・繰返しの3つで組み立てます。流れ図と擬似言語の読み方、変数の値を書き出すトレース、空欄の埋め方、線形探索と2分探索、選択ソート・バブルソート・クイックソートと併合までを、公開問題を解ける形でまとめます。

教科書を読む →同じ分野の過去問を続けて解く(アルゴリズムとプログラミング 17問)

ITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページですITパスポートのUdemy講座を口コミで比べる。動画講座3つ・問題集3つ、受講者数・★評価・口コミつき。広告を含むページです

Udemy の ITパスポート講座を、受講者数・★評価・口コミで比べたページです(広告を含みます)。

過去問教科書の一覧(現行の試験の順)教科書の一覧(新しい試験の順)

出典:IPA「ITパスポート試験 公開問題」令和6年度 問85。問題文と選択肢は改変せずに引用しています(表・図は文字に書き起こしたもの)。正解は IPA 公表の解答例によります。

タイトルとURLをコピーしました