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

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

平成21年度秋季解答

問題1

2進数の表現で、2の補数を使用する理由はどれか。

値が1のビット数を数えることで、ビット誤りを検出できる。
減算を、負数の作成と加算処理で行うことができる。
除算を、減算の組合せで行うことができる。
ビットの反転だけで、負数を求めることができる。

解答:イ

<解説>

2の補数とは、すべてのビットを反転させたもの(1の補数)に1を加えたもののことである。

2の補数を使用することで、加算だけで加減算を行うことができる。

× パリティチェックに関する説明である。
2の補数を使用する理由である。
× 除算は、ビットシフト演算と加算によって行う。
× 1の補数に関する説明である。

問題へ

問題2

誤り検出方式であるCRCに関する記述として、適切なものはどれか。

検査用のデータは、検査対象のデータを生成多項式で処理して得られる1ビットの値である。
受信側では、付加されてきた検査用のデータで検査対象のデータを割り、余りがなければ送信が正しかったと判断する。
送信側では、生成多項式を用いて検査対象のデータから検査用のデータを作り、これを検査対象のデータに付けて送信する。
送信側と受信側では、異なる生成多項式が用いられる。

解答:ウ

<解説>

CRC 方式では、送信側は,伝送データを多項式とみなし,これをあらかじめ決められた生成多項式で除算したときの余りを検査用の符号として伝送データに付加する。受信側は,受信データを生成多項式で除算し,割り切れるか否かで誤りの有無を判断する。

× 生成多項式のデータは複数のビット列で構成される。
× 受信側でも、同じ生成多項式を計算して割り切れるかどうかチェックする。
送信側では、生成多項式を用いて検査対象のデータから検査用のデータを作り、これを検査対象のデータに付けて送信する。
× 送信側と受信側では、同じ生成多項式が用いられる。

問題へ

問題3

n 個の要素x 1,x 2,…,x n から成る連結リストに対して、新たな要素x n +1の末尾への追加に要する時間をf (n )とし、末尾の要素x n の削除に要する時間をg (n )とする。n が非常に大きいとき、実装方法1と実装方法2におけるの挙動として、適切なものはどれか。

  [実装方法1]
  先頭のセルを指すポインタ型の変数frontだけをもつ。
 
  [実装方法2]
  先頭のセルを指すポインタ型の変数frontと、末尾のセルを指すポインタ型の変数rearを併せもつ。
 

解答:イ

<解説>

[実装方法1]
新たな要素を追加する際には先頭から順に最後まで辿らなくてはならず、処理時間f(n) はn が増えるほど増加するのでn に比例することになる。同じように削除処理時間g(n)もnが増えれば同様にn に比例するのでg(n)/f(n)はほぼ1になる。
[実装方法2]
追加の場合はポインタrearのアドレス指定に従い1つ追加するだけなので処理時間はほぼ1になる。削除する場合はrearからは1つ前のアドレスがわからないためfrontから順に辿らなくてはならず、作業時間g(n)はn に比例します。よってg(n)/f(n)はnに比例する。

問題へ

問題4

パイプラインの深さをD、パイプラインピッチをP秒とすると、I個の命令をパイプラインで実行するのに要する時間を表す式はどれか。ここで、パイプラインの各ステージは1ピッチで処理されるものとし、パイプラインハザードについては、考慮しなくてよい。

(I+D)×P
(I+D-1)×P
(I×D)+P
(I×D-1)+P

解答:イ

<解説>

パイプラインは,1つの命令の実行サイクルを複数のステージに分割し,各段階の処理を別々の装置が担当することによって,各命令のステージを重ねて,並列実行することにより 1命令あたりの実行効率を上げる方式である。

  1. 1命令を処理するのに要する時間は、D×Pである。
  2. 2命令を処理するのに要する時間は、前の命令が完了してから1ステップで完了するので(D+1)×Pである。
  3. 3命令を処理するのに要する時間は、前の命令が完了してから1ステップで完了するので(D+2)×Pである。
  4. I命令を処理するのに要する時間は、{D+(I-1)}×Pで終了する。
  5. {D+(I-1)}×P→(イ)(I+D-1)×Pである。

問題へ

問題5

フェールセーフの考え方として、適切なものはどれか。

システムに障害が発生したときでも、常に安全側にシステムを制御する。
システムの機能に異常が発生したときに、すぐにシステムを停止しないで機能を縮退させて運用を継続する。
システムを構成する要素のうち、信頼性に大きく影響するものを複数備え、システムの信頼性を高める。
不特定多数の人が操作しても、誤動作が起こりにくいように設計する。

解答:ア

<解説>

フェールセーフとは、故障や操作ミス、設計上の不具合などの障害が発生することをあらかじめ想定し、起きた際の被害を最小限にとどめるような工夫をしておくという設計思想のことである。

フェールセーフに関する説明である。
× フェールソフトに関する説明である。
× フォールトトレラントに関する説明である。
× フールプルーフに関する説明である。

問題へ