平成24年度 秋期 応用情報技術者試験 問1−20 解答編




このページは

応用情報

(応用情報技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください




問1 全体集合S内に異なる部分集合AとBがあるとき、に等しいものはどれか。ここで、A∪BはAとBの和集合、A∩BはAとBの積集合、はSにおけるAの補集合、A−BはAからBを除いた差集合を表す。
−B
)−(A∩B)
(S−A)∪(S−B)
S−(A∩B)
解答
解説 ベン図や真理値表を用いても良いのですが、ここでは変数の簡約をつかって解を求めます。

問題の式:A∪B
選択肢ア:−B=A∪B
選択肢イ:()−()=(A∩B)−(A∩B)=A∩B
選択肢ウ:(S−A)∪(S−B)=A∩B
選択肢エ:S−(A∩B)=A∩B

よって、選択肢アが問題の式と同じとなります。

問2 食品A及び食品Bの各1gに含まれる三つの成分1〜3を調べたところ、含有量は表のようになった。成分1を70mg以上、成分2を80mg以上摂取するとき、成分3の最少摂取量は何mgか。

画像(問2)を表示できません
28
31
32
34
解答
解説 まず、成分の定式化を行います。
x+4y≧70
3x+2y≧80

この連立不等式を解くと
x≧18
y≧13
となります。

これを成分3の式x+y≦aに代入すると、13+18≦aにより、31≦aとなります。

問3 4ビットからなる情報X1234に対して、
(X1+X2+X3+X5)mod2=0
(X1+X2+X4+X6)mod2=0
(X2+X3+X4+X7)mod2=0
を満たす冗長ビットX567を付与した符号X1234567を送信する。
受信信号y1234567が、送信符号と高々1ビットしか異ならないとき、

(y1+y2+y3+y5)mod2
(y1+y2+y4+y6)mod2
(y2+y3+y4+y7)mod2

がそれぞれ0になるかどうかによって、正しい情報ビットX1234を求めることが可能である。y1234567=1100010であるとき、正しい情報ビットはどれか。ここでa mod bはaをbで割った余りを表す。
0100
1000
1100
1101
解答
解説 以下の3つの式に値を代入してどの変数に誤りが含まれているかをもとめます。
(y1+y2+y3+y5)mod2
(y1+y2+y4+y6)mod2
(y2+y3+y4+y7)mod2

(1+1+0+0)mod2=0
(1+1+0+1)mod2=1
(1+0+0+0)mod2=1

余りが0の場合には余りがなく、余りが1の場合には誤りが含まれていることになります。
誤りは高々1ビットなので、2番目と3番目の式に共通して含まれているy4が誤りであるといえます。

よって、もともとの値は1110→1101となります。

問4 式E=(A+B)×(C−D)と対応する逆ポーランド表記法はどれか。
=E×+AB−CD
EAB+CD−×=
EAB−CD+×=
EABC×+D−=
解答
解説 逆ポーランド記法とは、後置表記法とも呼ばれ、演算子を対象の後ろに記述する手法です。スタックを使うことで実現でき、括弧が不要なのでコンパイラなどで利用されています。

優先度の高い部分から順に逆ポーランド記法に変換して行きます。
1.カッコ内を変換します。
E=(AB+)×(CDー)
2.×を変換します。
E=AB+CD−×
3.=を変換します。
EAB+CD−×=

問5 配列を用いてスタックを実現する場合の構成要素として、最低限必要なものはどれか。
スタックに最後に入った要素を示す添字の変数
スタックに最初に入った要素と最後に入った要素を示す添字の変数
スタックに一つ前に入った要素を示す添字の変数を格納する配列
スタックの途中に入っている要素を示す添字の変数
解答
解説 まず、スタックとキューのデータ構造について以下にまとめます。

スタックとキューを表示できません

スタックは、一番上の添え字(最後に入った要素の添え字)を保持しておく必要があります。キューは最後に入った要素の添え字と最後に出ていった要素の添え字を保持しておく必要があります。

問6 アルゴリズムの処理時間や問題の計算時間を比較するときに使用するオーダ記法の説明として、適切なものはどれか。
アルゴリズムが解に到達するまでの計算量の下限値を表す。
アルゴリズムがこれより遅くならないという計算量の上限値を表す。
アルゴリズムの解析では、主要項の部分を除いて比較する。
アルゴリズムを実現した場合の変数領域の大きさを表す。
解答
解説 オーダ記法とは、処理時間や計算量などを表す記法で、実行時間のオーダがn2であるとは、n個のデータを処理する時間がcn2(cは定数)で抑えられることをいいます。例えば、5n4+3n2+10のような場合にはオーダはn4となります。(一番高い次数の係数をとったものと考えるとわかりやすいかもしれません)

オーダ記法により最も時間のかかる次数をもとめ、計算量の上限を表すことができます。

問7 次の関数g(x)の定義にしたがってg(4)を再帰的に求めるとき、必要な加算の回数は幾らか。

g(x)=if x<2 then 1 else g(x−1)+g(x−2)
解答
解説 順番にトレースしていきます。
g(4)=g(3)+g(2)
 =g(2)+g(1)+g(1)+(0)
 =g(1)+g(0)+g(1)+g(1)+(0)
となり+は4つとなります。

問8 リアルタイムシステムにおいて、複数のタスクから並行して呼び出された場合に、同時に実行する必要がある共用ライブラリのプログラムに要求される性質はどれか。
リエントラント
リカーシブ
リユーザブル
リロケータブル
解答
解説 プログラムの性質について以下にまとめます。

リエントラント(再入可能):同時、非同期的に呼び出されても互いに干渉せずに動作できる性質
リカーシブル(再帰):自分自身を呼び出すことができる性質
リユーザブル(再使用可能):終わったプログラムを再ロードすることなく、また、使うことができる性質
リロケータブル(再配置可能):メモリ上のどの番地に呼び出されても使用することができる性質

問9 命令を並列実行するためのアーキテクチャであって、複数の命令を同時に実行するとき、命令を実行する演算器をハードウェアによって動的に割り当てられる方式はどれか。
SMP
VLIW
スーパスカラ
スーパパイプライン
解答
解説 スーパースカラ(スーパースケーラ)方式は、パイプライン技術の応用的な技術です。パイプラインとは、下の図のように命令の段階を少しずつずらして多重化する方式です。

パイプラインを表示できません

これを応用して、命令パイプライン上で複数の命令を同時に実行する方式をスーパースカラ方式といいます。例を図示します。

スーパースカラを表示できません

他の用語は以下の通りとなります。
SMP(Symmetric Multiple Processor):対称型マルチプロセッシングのことで、リソースを均一に複数プロセッサに割り当てる並列処理方式です。
VLIW(Very Long Instruction Word):命令語を長く取り、一つの命令で複数の機能ユニットを同時に制御することによって、高速化を図る方法です。
スーパーパイプライン:パイプラインを更に細分化することによって、高速化を図る方式です。

問10 CPUのスタックポインタが示すものはどれか。
サブルーチン呼出し時に、戻り先アドレス及びレジスタの内容を格納するメモリのアドレス
次に読み出す機械語命令が格納されているアドレス
メモリから読み出された機械語命令
割込みの許可状態、及び条件分岐の判断に必要な演算結果の状態
解答
解説 スタックポインタとは、以下に示すスタック構造の一番上のアドレスを保持しているポインタです。

スタックとキューを表示できません

スタックは、LIFO(Last In First Out)の構造をもっているため、最後に投入されたものが最初に処理することができます。よって逆ポーランド法や関数呼び出しの制御に使われます。

他の選択肢は以下のとおりとなります。
選択肢イ:プログラムカウンタ
選択肢ウ:命令レジスタ
選択肢エ:ステータスレジスタ


問11 キャッシュメモリへの書込み動作には、ライトスルー方式とライトバック方式がある。それぞれの特徴のうち、適切なものはどれか。
ライトスルー方式では、データをキャッシュメモリだけに書き込むので、高速に書込みができる。
ライトスルー方式では、データをキャッシュメモリと主記憶の両方に同時に書き込むので、主記憶の内容は常に最新である。
ライトバック方式では、データをキャッシュメモリと主記憶の両方に同時に書き込むので、速度が遅い。
ライトバック方式では、読出し時にキャッシュミスが発生してキャッシュメモリの内容が追い出されるときに、主記憶に書き戻す必要が生じることはない。
解答
解説 キャッシュメモリは、主記憶とCPUのレジスタの速度の差を埋めるために用いられるものです。主記憶とキャッシュのの整合性を保つための書込み手法が以下の2種類です。

ライトスルー:キャッシュメモリ及び主記憶の両方に同時に書き込む。
ライトバック:キャッシュメモリにだけ書き込み、対応する主記憶の更新は、キャッシュメモリからデータが追い出されるときに行う。

これをもとに選択肢を順にみていきます。
選択肢ア:ライトスルーはキャッシュメモリと主記憶の両方に書き込むため、ライトバックに比べて低速です。
選択肢イ:ライトスルーはキャッシュメモリと主記憶の両方に書き込むため、主記憶の情報は常に最新です。(正解)
選択肢ウ:ライトバックではなく、ライトスルーの説明です。
選択肢エ:ライトバックは、キャッシュメモリの内容が追い出されたときに主記憶に情報を書き込む方式です。

問12 毎分6,000回転、平均位置決め時間が20ミリ秒、1トラック当たりの記憶容量が20kバイトの磁気ディスク装置がある。1ブロック4kバイトのデータを1ブロック転送するのに要する平均アクセス時間は何ミリ秒か。ここで、磁気ディスクコントローラのオーバヘッドは無視できるものとする。
20
22
27
32
解答
解説 まず、主要な用語についてまとめます。
アクセス時間
→入出力の要求があってから、実際にデータが転送されて手元に来るまでの総時間
シーク時間(平均位置決め時間)
→磁気ヘッドをある位置から読み出すデータのあるトラックの位置までくるまでの時間。

サーチ時間(平均回転待ち時間)
→読み出すデータのトラックに移動した磁気ヘッドが読み出すデータの上にくるまでの時間です。
データ転送時間
→実際にデータを読み取って必要な場所に転送するまでの時間です。

これらを式にすると以下のようになります。
アクセス時間 = シーク時間 + サーチ時間 + データ転送時間

次に各時間の説明です。
サーチ時間は、半回転にかかる時間と等しいです。(1回転の期待値です。)よって、60×1000ミリ秒/6000回転=10ミリ秒。10/2=5ミリ秒 データ転送時間は、1回転のデータ/1回転にかかる時間と等しいです。よって、20k/10ミリ秒=2kバイト/ミリ秒(=2Mバイト/秒)。4kバイトを転送するのには、2ミリ秒かかります。

つまり、20+5+2=27ミリ秒かかります。

問13 NAS(Network Attached Storage)の特徴と、特徴を生かした適用業務について述べたものはどれか。
各種OSからファイルを共有することができるので、データを考案する業務に適している。
データの読み書きを高速に行うことができるようになるので、負荷が高い業務に適している。
データベースのデータを扱うことが容易なので、簡易言語で情報検索を行う業務に適している。
ファイルの改ざんを監視することが容易なので、個人情報を管理する業務に適している。
解答
解説 NASとSANについて以下にまとめます。

SAN(Storage Area Network):LANとは別に、外部記憶装置間および記憶装置などのストレージとコンピュータの間を専用のネットワークによって接続する形態
NAS(Network Attached Storage):ファイルサーバやストレージを直接コンピュータネットワークに直接接続する形態

NASの例を以下に図示します。
NASを表示できません

問14 コンピュータシステムの信頼性に関する記述のうち、適切なものはどれか。
MTBF/(MTBF+MTTR)は、システムが稼働している時間の割合を表す。
MTBF−MTTRは、システムが正常であった時間を表す。
MTBFは、正常なシステムが運用を開始してから初めて故障が起きるまでの時間を表す。
MTTRは、システムの故障が回復した時点から次に故障が起きるまでの平均時間を表す。
解答
解説 まず、2つの用語と稼働率についてまとめます。

平均故障間隔(MTBF:Mean Time Between Failure)は故障と故障の間の動作していた時間の平均
平均故障時間(MTTR:Mean Time To Repair)は実際に故障していた時間の平均
稼働率(=MTBF/(MTBF+MTTR)はシステムが稼働している割合

よって、稼働率について述べている選択肢アが正解といえます。

問15 CPUと磁気ディスク装置で構成されるシステムで、表に示すジョブA,Bを実行する。この二つのジョブが実行を終了するまでのCPUの使用率と磁気ディスク装置の使用率との組み合わせのうち、適切なものはどれか。ここで、ジョブA,Bはシステムの動作開始時点ではいずれも実行可能状態にあり、A,Bの順で実行される。CPU及び磁気ディスク装置は、ともに一つの要求だけを発生順に処理する。ジョブA,Bとも、CPUの処理を終了した後、磁気ディスク装置の処理を実行する。

画像(問15)を表示できません
画像(問15ans)を表示できません
解答
解説 処理を図示すると以下のようになります。

画像(問15kai)を表示できません

なので、全体で25かかり、CPUは3+12で15、15/25=0.6、HDは7+10で17で、17/25=0.68となります。

問16 図の回線網における福岡・東京間の回線の稼働率はおよそ幾らか。ここで、隣接するノード間の回線の稼働率は、すべて0.9とする。

画像(問16)を表示できません
0.81
0.88
0.89
0.98
解答
解説 まず、大阪−東京間から求めます。
名古屋を経由しない場合は、0.9となり、名古屋を経由する場合は0.9×0.9=0.81となります。大阪−東京の全体の稼働率はこの2本の並列なので、1−(1−0,9)×(1−0.81)=1−0.1×0.19=1−0.019=0.981

次に、全体の稼働率を求めます。福岡−大阪間は0.9で、大阪−東京間は0.981です。全体はこれの直列なので、0.9×0.981=なので、全体としては、0.8829ということで、最も近い0.88が正解となります。

問17 プログラム実行時の主記憶管理に関する記述として、適切なものはどれか。
主記憶の空き領域を結合して一つの連続した領域にすることを、可変区画方式という。
プログラムが使用しなくなったヒープ領域を回収して再度使用可能にすることを、ガーベジコレクションという。
プログラムの実行中に主記憶内でモジュールの格納位置を移動させることを、動的リンキングという。
プログラムの実行中に必要になった時点でモジュールをロードすることを、動的再配置という。
解答
解説 それぞれの選択肢を順に評価していきます。

選択肢ア:主記憶の空き領域を統合して一つの領域にすることをデフラグメンテーションといいます。可変区画方式とは、以下のように主記憶を特定の領域に分けず柔軟に割り当てることです。

固定区画と可変区画を表示できません

選択肢イ:使用しなくなったメモリ領域を回収する機能をガーベジコレクションやメモリコンパクションといいます。(正解)
選択肢ウ:プログラム実行中(動的)にモジュールの位置を移動させることを動的再配置といいます。
選択肢エ:プログラム実行中(動的)に必要になったモジュールをロードすることを動的リンキングといいます。

問18 ページング方式の仮想記憶を用いることによって、フラグメンテーションの問題を解決できる理由はどれか。
一連のプログラムやデータを、不連続な主記憶に割り付けることができる。
仮想記憶のページ数を主記憶のページ数よりも多くすることができる。
プログラム全体を1ページに割り付けることができる。
プログラムのローディング時に主記憶を割り付けることができる。
解答
解説 フラグメンテーションとは、主記憶の可変区画方式において、メモリの獲得と解放を繰り返すことで、不連続な領域が減ってしまう現象です。これを並び替え、連続した領域にすることをデフラグメンテーションといいます。


問19 仮想記憶管理におけるページ置換えアルゴリズムとして、LRU方式を採用する。参照かつ更新されるページ番号の順序が、1,2,3,4,1,2,5,1,2,3,6,5で、ページ枠が4のとき、ページフォールトに伴って発生するページアウトは何回か。ここで、初期状態では、いずれのページも読み込まれていないものとする。
解答
解説 LRU(Least Recently Used):最後に参照されてから最も時間が経過したものから順に置き換えるアルゴリズムです。

左側に行くほど古いデータとすると以下のようになります。
1.<1>
2.<1,2>
3.<1,2,3>
4.<1,2,3,4>
5.<2,3,4,1>
6.<3,4,1,2>
7.<4,1,2,5>(1回目:3がページアウト)
8.<4,2,5,1>
9.<4,5,1,2>
10.<5,1,2,3>(2回目:4がページアウト)
11.<1,2,3,6>(3回目:5がページアウト)
12.<2.3.6.5>(4回目:1がページアウト)

上記のように4回のページアウトが発生します。

問20 三つの媒体A〜Cに次の条件でファイル領域を割り当てた場合、割り当てた領域の総量が大きい順に媒体を並べたものはどれか。

【条件】
(1) ファイル領域を割り当てる際の媒体選択アルゴリズムとして、空き領域が最大の媒体を選択する方式を採用する。
(2) 割当て要求されるファイル領域の大きさは、順に90,30,40,40,70,30(Mバイト)であり、割り当てられたファイル領域は、途中で解放されない。
(3) 各媒体は容量が同一であり、割当て要求に対して十分な大きさをもち、初めて全て空きの状態である。
(4) 空き領域の大きさが等しい場合には、A,B,Cの順に選択する。
A,B,C
A,C,B
B,A,C
C,B,A
解答
解説 順番に計算してきます。

@A=90、B=0、C=0
AA=90、B=30、C=0
BA=90、B=30、C=40
CA=90、B=70、C=40
DA=90、B=70、C=110
EA=90、B=100、C=110

よって、割り当てた容量はC、B、Aの順番で大きいといえます。