平成22年度 春期 基本情報技術者試験 問1−20 解答編




このページは

基本情報

(基本情報技術者試験)

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

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



問1 16進数2A.4Cと等しいものはどれか。
5+23+21+2-2+2-5+2-6
5+23+21+2-1+2-4+2-5
6+24+22+2-2+2-5+2-6
6+24+22+2-1+2-4+2-5
解答
解説 2進数に展開して対応を見れば分かります。

(2A.4C)16=(00101010.01001100)2

よって、25、23、21、2-2-5、2-6の和となります。

問2 X及びYはそれぞれ0又は1の値をとる変数である。X□YをXとYの論理演算としたとき、次の真理値表が得られた。X□Yの真理値表はどれか。

画像(問2)を表示できません
画像(問2ans)を表示できません
解答
解説 ORはどちらか一方が1である場合に1、両方とも0ならば0を出力します。ANDは両方とも1である場合に1、それ以外は0を出力します。

X AND (X□Y)の3つ目の出力結果からX□Yの3番目は0であることが分かります。
X AND (X□Y)の4つ目の出力結果からX□Yの4番目は1であることが分かります。

X OR (X□Y)の1つ目の出力結果からX□Yの1番目は1であることが分かります。

これらの条件を満たすのは選択肢ウの真理値表しかありません。(2番目の出力は表からは読み取れません。)

問3 A=1,B=3,C=5,D=4,E=2のとき、逆ポーランド表記法で表現された式AB+CDE/−*の演算結果はどれか。
−12
12
14
解答
解説 逆ポーランド記法とは、スタックを使うことで表現でき、括弧を使わないで計算の順序を指定できるため、コンパイラなどで用いられています。解法もスタックを用いてとく場合と一度中間置方法に戻す手法の2つが考えられます。

方法1.スタックを使ってそのままとく
@A(1)をスタックに積む
AB(3)をスタックに積む
BAとBを取り出し3+1=4をスタックに積む
CC(5)をスタックに積む
DD(4)をスタックに積む
EE(2)をスタックに積む FDとEを取り出し4/2=2をスタックに積む
GCと2を取り出し5−2=3をスタックに積む
H4と3を取り出し4×3=12をスタックに積む
Iスタックの中身は12のみ

方法2.中間置法に直して考える
@(AB+)*(CDE/−)
A(A+B)*(C(DE/)−)
B(A+B)*(C−D/E)

これに、A=1,B=3,C=5,D=4,E=2を代入すると
(1+3)*(5−4/2)=4*3=12となります。

問4 フィードバック制御の説明として、適切なものはどれか。
外乱による影響を検知してから修正動作を行う。
外乱に弱く、それらの影響を増幅させてしまう。
外乱を検知して、その影響が出ないように修正動作を行う。
外乱を予想して修正動作を行う。
解答
解説 フィードバック制御とは、センサーなどで値を取得しながら目標値に近づくように出力を変化させる制御の仕方です。

エアコンを例にすると、外乱とは気温の変化。目標値は設定温度、出力は強弱等と考えることができます。

他に代表的な制御を以下にまとめます。
フィードフォワード制御:外乱や目標に基づいて行う制御
フィードバック制御:外乱と目標値を比較しながら行う制御
シーケンシャル制御:あらかじめ定められた順序に従って行う制御(代表例:洗濯機)

問5 双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員Gを社員Aと社員Kの間に追加する。追加後の表のポインタa〜fの中で追加前と比べて値が変わるポインタだけをすべて列記したものはどれか。

画像(問5)を表示できません
a,b,e,f
a,e,f
a,f
b,f
解答
解説 まず、片方向リストと双方向リストの例を下に示します。

リスト

追加や削除はどちらも任意の場所で行え、途中への挿入・取り出しはポインタを数ヶ所変えるだけで行えます。

今回の例で具体的に考えると下のようになります。青い部分が修正を行った部分です。修正は2か所ですが、あらたに社員Gに前ポインタと次ポインタの設定も行う必要があります。

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

問6 ハッシュ表探索において、同一のハッシュ値となる確率が最も低くなるのは、ハッシュ値がどの分布で近似されるときか。
2項分布
一様分布
正規分布
ポアソン分布
解答
解説 ハッシュ関数がもつべき分布特性は、できるだけ均等に値を出力する(できるだけばらばらになる)ことです。よって一様分布(すべての起きる確率が一定)で近似されることが望ましいといえます。よって、2項分布、正規分布、ポアソン分布のように偏りがあるとハッシュ値に衝突が起こりやすくなります。

問7 Java VMが稼動している環境だけがあれば、WebブラウザやWebサーバがなくても動作するプログラムはどれか。
JavaScript
Javaアプリケーション
Javaアプレット
Javaサーブレット
解答
解説 Javaはコンパイルをするとバイトコードという中間コードを出力します。このバイトコードを解釈して実行するのがJavaVM(バーチャルマシン)です。バイトコードがあることで、どんな環境でもVMが稼動しているだけでと実行ができます。

JavaScriptはJavaとはあまり関係がなくWebブラウザ上で動作します。
Javaアプレットは、クライアント上のWebブラウザで実行されます。
Javaサーブレットは、サーバ上で実行されます。

問8 あるプログラムAの処理が終了していないときに、別のプログラムから再度呼び出されても正しく動作するとき、このプログラムAの性質を何と呼ぶか。
再帰的
再使用可能
再入可能
再配置可能
解答
解説 プログラムの性質について以下にまとめます。

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

再入可能は、個々のプロセスが独自に値を保有するため、データ部分をプロセスごとに持つ必要あります。

問9 表のCPIと構成比率で、3種類の演算命令が合計1,000,000命令実行されるプログラムを、クロック周波数が1GHzのプロセッサで実行するのに必要な時間は何ミリ秒か。

画像(問9)を表示できません
0.4
2.8
4.0
28.0
解答
解説 CPI(Clocks Per Instruction)とは、1命令当たりのクロック数をいいます。表から平均を求めると(3×0.2)+(5×0.2)+(2×0.6)=0.6+1.0+1.2=2.8となります。

プログラムでは1,000,000命令なので、2.8×1,000,000=2,800,000クロック必要です。

2.8M/1000M=2.8ミリ秒かかります。

問10 図に示す構成で、表に示すようにキャッシュメモリと主記憶のアクセス時間が異なり、ほかの条件は同じ2種類のCPU XとYがある。

あるプログラムをCPU XとYでそれぞれ実行したところ、両者の処理時間が等しくなった。このとき、キャッシュメモリのヒット率は幾らか。ここで、CPU処理以外の影響はないものとする。

画像(問10)を表示できません
0.75
0.90
0.95
0.96
解答
解説 キャッシュメモリは、CPUのレジスタと主記憶とのアクセス速度の差を埋めるために用いられるものです。

ここでヒット率をaとすると
CPUXのアクセス時間=40×a+400(1−a)
CPUYのアクセス時間=20×a+580(1−a)

ここで、2つのCPUのアクセス時間は等しいので
40×a+400(1−a)=20×a+580(1−a)
20a=180(1−a)
20a=180−180a
200a=180
a=180/200=0.9

よって、ヒット率は0.9であるといえます。

問11 命令キャッシュを効果的に使用できるプログラムの作成方法はどれか。
アクセスする作業領域部分をまとめる。
作業領域全体を平均的にアクセスするように作成する。
頻繁に実行される処理部分をまとめる。
プログラム全体を平均的に実行するように作成する。
解答
解説 キャッシュメモリは、CPUのレジスタと主記憶との間におかれ、2つのアクセス速度の差を吸収する役割を持っています。現在は2段階や3段階のキャッシュメモリがあり、CPUに近い側からL1、L2、L3と呼ばれます。また、主記憶とHDDの間で同じようにアクセス速度の差を吸収するメモリ領域をディスクキャッシュといいます。

キャッシュメモリは一定のブロックをロードさせます。(例えばアドレス1234FECDへアクセスする場合は、12340000〜1234FFFFまでをロードする等)よって、分岐やアクセス領域が広いとキャッシュメモリを利用する利便性は少なくなってしまいます。そこで、アクセスする部分を集中させたり、繰り返し実行される部分をまとめたりすることで、効率よくキャッシュメモリを利用することができます。

問12 回転数が4,200回/分で、平均位置決め時間が5ミリ秒の磁気ディスク装置がある。この磁気ディスク装置の平均待ち時間は何ミリ秒か。ここで、平均待ち時間は、平均位置決め時間と平均回転待ち時間の合計である。
10
12
14
解答
解説 平均待ち時間とは、平均位置決め時間(シーク時間)と平均回転待ち時間の和になります。(これに転送時間を加える場合もあります。)

平均回転待ち時間は半回転にかかる時間なので、4200回転/分=70回転/秒。よって、1回転するのに1/70秒かかります。 この半分なので、1/140秒≒0.00714秒。つまり、平均回転待ち時間は、約7ミリ秒

平均位置決め時間は5ミリ秒なので、平均待ち時間は、5ミリ秒+約7ミリ秒で約12ミリ秒となります。

問13 自発光型で、発光ダイオードの一種に分類される表示装置はどれか。
CRTディスプレイ
液晶ディスプレイ
プラズマディスプレイ
有機ELディスプレイ
解答
解説 ディスプレイに関する問題の出題率は高いので、以下にまとめます。

CRT:いわゆる普通のブラウン管のディスプレイ。電子ビームを使って画像を作ります。
PDP:PはプラズマのPで、高い電力が必要となります。
TFT:TはトランジスタのTで、1つ1つの画素をトランジスタの発光で実現しています。
有機EL:自ら発光し、バックライトの不要なタイプ。次世代に期待されています。

問14 3層クライアントサーバシステムで、クライアント以外の2層をそれぞれ1台のサーバを使用して実装した場合のシステム構成として、適切なものはどれか。ここで、APはアプリケーションを、DBはデータベースを表す。
画像(問14ans)を表示できません
解答
解説 サーバとはサービスを提供するもので、クライアントとはサービスを依頼する(受け取る)ものです。まず、2層と3層についてまとめます。

2層:サーバとクライアント
3層:プレゼンテーション層・ファンクション層(アプリケーション層)・データベース層

プレゼンテーション層がクライアントに該当する部分で、ファンクション層とデータベース層がサーバに該当する部分になり、主な機能は以下のようになります。

プレゼンテーション層:クライアントへのインタフェース部分
ファンクション層:データの加工
データベース層:データへのアクセス

問15 一つのジョブについての、ターンアラウンドタイム、CPU時間、入出力時間及び処理待ち時間の四つの時間の関係を表す式はどれか。ここで、ほかのオーバヘッド時間は考慮しないものとする。
処理待ち時間 = CPU時間 + ターンアラウンドタイム + 入出力時間
処理待ち時間 = CPU時間 − ターンアラウンドタイム + 入出力時間
処理待ち時間 = ターンアラウンドタイム − CPU時間 − 入出力時間
処理待ち時間 = 入出力時間 − CPU時間 − ターンアラウンドタイム
解答
解説 ターンアラウンドタイムとは、ジョブがシステムに投入されてからその結果が完全に得られるまでの経過時間のことであり、入出力の速度やオーバヘッド時間などに影響されるものです。ターンアラウンドタイム=CPU時間+処理待ち時間+入出力時間なので、処理待ち時間=ターンアラウンドタイム−CPU時間−入出力時間となります。

問16 稼働率が0.9の装置を複数個接続したシステムのうち、2番目に稼働率が高いシステムはどれか。ここで、並列接続部分については、少なくともどちらか一方が稼動していればよいものとする。
画像(問16ans)を表示できません
解答
解説 選択肢の接続方式を一つずつ計算していきます。

選択肢ア:0.9×0.9=0.81
選択肢イ:1−(1−0.9)×(1−0.9)=1−0.1×0.1=0.99
選択肢ウ:選択肢アの並列なので、1−(1−0.81)×(1−0.81)=1−0.19×0.19=1−0.0361=0.9639
選択肢エ:選択肢イの直列なので、0.99×0.99=0.9801

よって、イ、エ、ウ、アとなるので、2番目に稼働率が高いのはエとなります。

問17 あるオンラインリアルタイムシステムでは、20件/秒の頻度でトランザクションが発生する。このトランザクションはCPU処理と4回の磁気ディスク入出力処理を経て終了する。磁気ディスク装置の入出力処理時間は40ミリ秒/回であり、CPU処理時間は十分に短いものとする。それぞれの磁気ディスク装置が均等にアクセスされるとしたとき、このトランザクション処理には最低何台の磁気ディスク装置が必要か。
解答
解説 20件×4回×40ミリ秒=3200ミリ秒=3.2秒。これが1秒間に処理しなければならないので、4台の磁気ディスクが必要であると考えられます。

問18 エンジン制御、ハードディスク制御などの制御系ハードリアルタイムシステムでリアルタイムOSを活用する理由はどれか。
ウイルス侵入の防御のためにメモリ保護機構が必要だから。
定められた時間内にイベントに対応した処理を完了させる機構が必要だから。
システム全体のスループットを向上させる機構が必要だから。
複数の独立したプログラムを並行して動かす機構が必要だから。
解答
解説 まず、念のために書いておくとここでいうハードとソフトは、ハードウェアやソフトウェアという意味ではなく、ハード(厳しい)・ソフト(優しい)という意味です。

リアルタイムシステムは一般に3つに分類されます。なお、デッドラインとはそれまでに終了しなければならない時間を指します。
@ハードリアルタイムシステム:デッドラインを超えたときに、システムに甚大な被害を及ぼす
Aファームリアルタイムシステム:デッドラインを超えたときに、システムの処理価値がなくなる
Bソフトリアルタイムシステム:デッドラインを超えはじめると、システムの処理価値が徐々に低下していく

リアルタイムOSを用いることで、制約時間内に応答しやすくすることができます。

問19 システム全体のスループットを高めるため、主記憶装置と低速の出力装置とのデータ転送を、高速の補助記憶装置を介して行う方式はどれか。
スプーリング
スワッピング
ブロッキング
ページング
解答
解説 選択肢の用語を以下にまとめます。

スプーリング:プリンタなどに代表される処理速度の遅い装置に出力をするときに、一旦高速なHDD等のようなものに書き込んでおくことで、待ち時間を短縮させる技術です。
スワッピング:仮想記憶において実主記憶と仮想記憶の間で行う入れ替えのことです。
ブロッキング:効率化などの目的のために、複数のデータをまとめることです。
ページング:仮想記憶において、固定長のページという単位でデータを入れ替えたりすること。

問20 仮想記憶を用いたコンピュータでのアプリケーション利用に関する記述のうち、適切なものはどれか。
アプリケーションには、仮想記憶を利用するためのモジュールを組み込んでおく必要がある。
仮想記憶は、磁気ディスクにインストールされたアプリケーションだけが利用できる。
仮想記憶を使用していても主記憶が少ないと、アプリケーション利用時にページフォールトが多発してシステムのスループットは低下する。
仮想記憶を利用するためには、個々のアプリケーションで仮想記憶を使用するという設定が必要である。
解答
解説 仮想記憶方式とは、主記憶の容量が少なくプログラムが実行できないときなどに利用される技術です。ハードディスクの一部を主記憶のように使うことで、主記憶の見かけ上の容量が増加しますが、実際にはハードディスクを利用するわけですから、アクセス速度は低下します。

使用の際には、OSに設定をするだけで個々のアプリケーションに設定をする必要はありません。実装している主記憶が少ないと入れ替え(ページフォールト)ばかりが発生して処理速度が低下するという現象(スラッシング)をまねきます。