必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成22年度秋季問題
  4. 平成22年度秋季解答・解説

平成22年度秋季解答

問題1

後置表記法(逆ポーランド表記法)では、例えば、式Y=(A-B)×CをYAB-C×=と表現する。次の式を後置表記法で表現したものはどれか。

Y=(A+B)×(C-(D÷E))

YAB+C-DE÷×=
YAB+CDE÷-×=
YAB+EDC÷-×=
YBA+CD-E÷×=

解答:イ

<解説>

  1. Y=(A+B)×(C-(D÷E))の(A+B)と(D÷E)を変換する。
    Y=(AB+)×(C-(DE)÷)
  2. Y=(AB+)×(C-(DE)÷)のC-(DE)を変換する。
    Y=(AB+)×(C(DE)÷-)
  3. Y=(AB+)×(C(DE)÷-)の×を変換する。
    Y=(AB+)(C(DE)÷-)×
  4. Y(AB+)(C(DE)÷-)×の=を変換する。
    Y(AB+)(C(DE)÷-)×=
  5. したがって、(イ)YAB+CDE÷-×=が正解である。

問題へ

問題2

a,b,c,dの4文字からなるメッセージを符号化してビット列にする方法として表のア~エの4通りを考えた。この表はa,b,c,dの各1文字を符号化するときのビット列を表している。メッセージ中でのa,b,c,dの出現頻度は、それぞれ50%,30%,10%,10%であること が分かっている。符号化されたビット列から元のメッセージが一意に復号可能であって、ビット列の長さが最も短くなるものはどれか。

解答:ウ

<解説>

× 「00」が"aa"なのか"c"なのか判別できないので誤りである。
× 「010」が"ba"なのか"ac"なのか判別できないので誤りである。
符号化されたビット列から元のメッセージが一意に復号可能である。
(1×0.5) + (2×0.3) + (3×0.1) + (3×0.1)=1.7⇒ビット列の長さは1.7ビット/文字
× 符号化されたビット列から元のメッセージが一意に復号可能である。
全ての文字に2ビットの符号を割当てているのでビット列の長さは2ビット/文字である。

したがって、符号化されたビット列から元のメッセージが一意に復号可能であり、ビット列の長さが一番短いウが正解である。

問題へ

問題3

PCM伝送方式によって音声をサンプリング(標本化)して8ビットのディジタルデータに変換し、圧縮処理しないで転送したところ、転送速度は64,000ビット/秒であった。このときサンプリング間隔は何マイクロ秒か。

15.6
46.8
125
128

解答:ウ

<解説>

  1. 1秒間にサンプリングできる回数を計算する。
    ※転送速度は64,000ビット/秒,サンプリング(標本化)に8ビット使用する
    64,000÷8=8,000回/秒
  2. サンプリング間隔を計算する。
    ※サンプリング間隔は、1秒間にサンプリングできる回数の逆数となる。
    1÷8,000=0.000125秒=125マイクロ秒

したがって、ウが正解である。

問題へ

問題4

ロボットなどの制御システムを構成するアクチュエータの機能として、適切なものはどれか。

動きを測定する。
動きを制御するための計算・判断を行う。
機械・機構を物理的に動かす。
制御システムを駆動するエネルギーを供給する。

解答:ウ

<解説>

アクチュエータは、入力されたエネルギーを物理的運動に変換するものであり、機械・電気回路を構成する機械要素である。

具体的には、モータ,シリンダ,ピストン,バイブレータ等がある。エネルギーには電力,水圧,油圧計等がある。動作には回転,往復,屈曲,振動等がある。

アクチュエータは家電や航空機産業、人工筋肉の研究などに広く用いられている。

したがって、ウが正解である。

問題へ

問題5

先頭ポインタと末尾ポインタをもち、多くのデータがポインタでつながった単方向の線形リストの処理のうち、先頭ポインタ、末尾ポイン タ又は各データのポインタをたどる回数が最も多いものはどれか。ここで、単方向のリストは先頭ポインタからつながっているものとし、追加データはポインタ をたどらなくても参照できるものとする。

先頭にデータを追加する処理
先頭のデータを削除する処理
末尾にデータを追加する処理
末尾のデータを削除する処理

解答:エ

<解説>

×
  1. 先頭ポインタから先頭のデータをたどる
  2. 先頭のポインタを追加データのポインタに書き換える。
  3. 1で得られた情報を追加データのポインタに書き換える。

⇒ポインタをたどる回数:1回
×
  1. 先頭ポインタから先頭のデータをたどる
  2. 先頭のデータから次のデータをたどる
  3. 2で得られた情報を現在先頭のデータのポインタに書き換える。

⇒ポインタをたどる回数:2回
×
  1. 末尾ポインタから末尾のデータをたどる
  2. 末尾のデータのポインタを追加データに書き換える。追加データのポインタを「nil:無し」にする。
  3. 末尾のポインタを追加したデータに書き換える。

⇒ポインタをたどる回数:1回
  1. 末尾ポインタから末尾のデータをたどる
  2. 1で得たデータがポインタとして得られるまで先頭ポインタからN回ポインタをたどり、末尾の一つ前のデータを得る。
  3. 末尾の一つ前のポインタを「nil:無し」に書き換え、末尾ポインタを末尾の一つ前に書き換える。

⇒ポインタをたどる回数:N+1回

問題へ