ITパスポート試験 ITパスポート 2012年 (平成24年 秋期)72: 図に示すように,文字列の各文字を置換表に従って置き換える処理を考える。このような置換えを行った結果が"0110001010"であったとき,置換え前の文字列はどれ

ITパスポート 2012年 (平成24年 秋期)
Q 7272 / 84
図に示すように,文字列の各文字を置換表に従って置き換える処理を考える。このような置換えを行った結果が"0110001010"であったとき,置換え前の文字列はどれか。 文字の置換表
文字置換え後の2進表示
A0
B10
C11
置換例: A,B,A,B,C,A,B,A → 0,10,0,10,11,0,10,0 → 最終結果"010010110100"
この問の正解率:51.18%(676件)

解説

ITパスポート 2012年 (平成24年 秋期) 問72「図に示すように,文字列の各文字を置換表に従って置き換える処理を考える。このような…」の正解と解説です。ITパスポート試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約51%です。

正解

. ACAAABB

正答率 51.2%(676人中 346人が正解)

問題の解説

正解はイ(ACAAABB).置換表でA=0,B=10,C=11(プレフィックスコード).「0110001010」を左から順に解析:0=A,1次に1だから11=C,次は0=A,次は0=A,次は0=A,次は10=B,次は10=B.合計でA・C・A・A・A・B・B=ACAAABB(7文字).プレフィックスコード(どの符号も他の符号の先頭にならない)なので一意に復号できる性質を利用する.ハフマン符号の考え方の基本問題で,文字列の長さは「0は1文字,1で始まれば10か11の2文字」で計算する.用語の本質的な定義と典型的な対比語を押さえる重要論点.

選択肢ごとの解説

  • ABBAABBは復号結果と一致しない.A=0,B=10で組み立てると0,10,10,0,0,10,10=01010001010だが,設問の0110001010とはビット列が異なる.正しい復号結果はACAAABBで,この組合せは置換結果から導けない別の文字列.
  • 正解.ACAAABBは置換表に従ってビット列に変換するとA=0,C=11,A=0,A=0,A=0,B=10,B=10で,連結すると0110001010となり設問の結果と完全に一致する.プレフィックスコードの一意復号で導ける正しい元の文字列となる.
  • ACABBの組合せでビット列に変換するとA=0,C=11,A=0,B=10,B=10で連結すると01101010で8ビットしかなく,設問の10ビット(0110001010)に足りない.復号結果として長さも内容も一致しないため不正解の組合せ.
  • CAAABBの組合せでビット列に変換するとC=11,A=0,A=0,A=0,B=10,B=10で連結すると110001010(9ビット)で先頭が1.設問のビット列は0で始まる0110001010のため先頭から異なり,この組合せは復号結果と一致しない.

ITパスポート 2012年 (平成24年 秋期) の過去問一覧に戻る・問72

ITパスポート試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

ITパスポート試験 合格.dev を App Store でダウンロード