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

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

平成25年度春季解答

問題6

func(n)は、非負の整数nに対してnの階乗を返す。fanc(n)の再帰的な定義はどれか。

if n=0 then return 0 else return n×fact(n-1)
if n=0 then return 0 else return n×fact(n+1)
if n=0 then return 1 else return n×fact(n-1)
if n=0 then return 1 else return n×fact(n+1)

解答:ウ

<解説>

nの階乗(n!)を求める式は、n1=n×(n-1)×(n-2)×...×2×1=n×(n-1)!である。ただし数学の規則により0!=1である。

× n=0として値を求めるとfact(0)=0となる。0!=1とならない。
× n=0として値を求めるとfact(0)=0となる。0!=1とならない。
階乗と一致する
× n>0の時、
fact(n) =n×fact(n+1)
  =n×(n+1) ×fact(n+2)
  =n×fact(n+1) ×fact(n+2) ×fact(n+3)

となる。したがって階乗を求める式と一致しない。

問題へ

問題7

配列Aに対して次の手続を実行して、2≦k≦100である素数kだけを全て出力したい。a,b,cに入るループの初期値、終値、増分として、適切な組合せはどれか。

解答:イ

<解説>

  1. A [k ]が1ならk は素数、A [k ]が0ならk は素数でないとした場合、2番目のループ文はm の倍数は素数でないということで、該当するA [k ]の値を0としているので、2~100の数の中で2と3は素数なので、最初に素数か調べるのは4であり、最初のm が2なので、for分の初期値は2m になる。
  2. 調べる範囲が100までなので、終値は100になり、増分はm になる。

問題へ

問題8

流れ図に示す処理の動作として、適切なものはどれか。ここで、二重線は並列処理の同期を表す。

ABC又はACBを実行してデッドロックになる。
AB又はACを実行してデッドロックになる。
Aの後にBC又はCB、BC又はCB、・・・と繰り返して実行する。
Aの後にBの無限ループ又はCの無限ループになる。

解答:ウ

<解説>

流れ図に示された処理は次のように実行される。

  1. 「A」を実行しポイント1になる。
  2. ポイント1で処理を開始すると「B」か「C」を実行する。
  3. どちらかの処理が終了すると先に終了した処理はポイント2でもう一方の処理が終了するまで待機する。
  4. 「B」,「C」両方の処理が終了するとポイント1に戻って処理を再開し「B」か「C」を実行する。

したがって「A」を実行した後に「BC」または「CB」が繰り返し実行される。

よって、ウが正解である。

問題へ

問題9

表に示す命令ミックスによるコンピュータの処理能力は何MIPSか。

11
25
40
90

解答:ウ

<解説>

MIPSは、100万命令毎秒 (million instructions per second) の略で、コンピュータの性能指標の1つ。1秒間に何百万個の命令が実行できるかを表す。

  1. 平均命令実行時間を計算する。
    (10×0.5)+(40×0.3)+(40×0.2)=25ナノ秒=25×10-9
  2. 1秒間に実行できる命令の数を計算する。※平均命令時間の逆数になる。
    1/(25×10-9)=0.04×109=40000000
  3. 106で割ってMIPSを計算する。
    40000000÷106=40

したがって、ウが正解となる。

問題へ

問題10

CPUのパイプラインハザードのうち、制御ハザードの発生原因として、適切なものはどれか。

キャッシュミス
先行する命令の結果に依存する演算命令
ハードウェア資源の競合
分岐命令

解答:エ

<解説>

パイプライン処理を行う場合にも、複数の命令同士が持つ依存関係から命令の投入を中断せざるを得ない状況が生じうるが、これをパイプラインハザードと呼ぶ。ハザードが発生すると処理速度の低下に繋がる。

データ・ハザード
処理するデータの依存関係に起因するハザードである。
構造ハザード
ハードウェア的な資源の競合に起因するハザードである。
制御ハザード(分岐ハザード)
制御の依存に起因するハザードである。
× キャッシュミスは、CPUのパイプライン処理の前段階における処理である。したがってパイプラインハザードではない。
× 先行する命令の結果に依存する演算命令はデータハザードである。
× ハードウェア資源の競合は構造ハザードである。
分岐命令によって次に実行する分岐先の命令が特定できないために発生するハザードを制御ハザードという。

問題へ