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




このページは

基本情報

(基本情報技術者試験)

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

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


問1 16ビットの2進数nを16進数の各桁に分けて、下位の桁から順にスタックに格納するために、次の手順を4回繰り返す。a,bに入る適切な語句の組合わせはどれか。ここで、XXXX16は16進数XXXXを表す。

[手順]
(1) [ a ]をxに代入する。
(2) xをスタックにプッシュする。
(3) nを[ b ]論理シフトする。
画像(問1ans)を表示できません
解答
解説 16進数1桁は2進数4桁に相当します。よって、[ a ]で下位4ビットを取り出すために、000F16でマスク処理をします。値を入れ終わったあとは、次の4ビットが最下位4ビットになるようにシフトをするので、右に4ビットシフトします。

問2 10進数−5.625を、8ビット固定小数点形式による2進数で表したものはどれか。こおで、小数点位置は3ビット目と4ビット目の間とし、負数には2の補数表現を用いる。

画像(問2)を表示できません
01001100
10100101
10100110
11010011
解答
解説 まず、5.625を2進数に変換します。2進数はそれぞれの桁が2nの値を持っているので、5は1(20)+4(22)、0.625は0.52-1+0.125(2-3)となります。つまり、「0101.1010」となります。これの2の補数に変換するので、1、0のビット変換「1010.0101」をした後に1を加えて「1010.0110」となります。

問3 コンピュータで連立一次方程式の解を求めるのに、式に含まれる未知数の個数の3乗に比例する計算時間が掛かるとする。あるコンピュータで100元連立一次方程式の解を求めるのに2秒掛かったアとすると、その4倍の演算速度をもつコンピュータで1,000元連立一次方程式の解を求めるときの計算時間は何秒か。
50
500
5,000
解答
解説 まず、現在の性能で100と1000元方程式の比をもとめると、、1004/1003となり、1000倍であることがわかります。つまり、今の性能では、2000秒かかるので、4倍の性能では、500秒となります。

問4 次の規則から生成することができる式はどれか。

[規則]
<式>::=<変数>|(<式>+<式>)|<式>*<式>
<変数>::=A|B|C|D
A+(B+C)*D
(A+B)+(C+D)
(A+B)*(C+D)
(A*B)+(C*D)
解答
解説 生成規則からA+Bは(A+B)のように括弧で括られ、A*Bは括弧で括られないことが分かります。これを念頭において、各選択肢を見ていきます。

選択肢ア:(A+(B+C)*Cなら生成可能です。
選択肢イ:((A+B)+(C+D))なら生成可能です。
選択肢ウ:(A+B)*(C+D)が生成可能なので、正解です。
選択肢エ:(A*B+C*D)なら生成可能です。

問5 スタック1、2があり、図の状態になっている。関数fはスタック1からポップしたデータをそのままスタック2にプッシュする。関数gは、スタック2からポップしたデータを出力する。b、c、d、あの順に出力するためには、関数をどの順で実行すればよいか。

画像(問5)を表示できません
f、f、g、f、f、g、g、g
f、f、g、f、g、f、g、g
f、f、g、f、g、g、f、g
f、f、g、g、f、f、g、g
解答
解説 順番に追いかけていきます。

1.bを出力する
1−1.aをスタック2に移します。「f」
スタック1:d、c、b
スタック2:a

1−2.bをスタック2に移します。「f」
スタック1:d、c
スタック2:a,b

1−3.bをスタック2から出力します。「g」
スタック1:d、c
スタック2:a

2.cを出力する
2−1.cをスタック2に移します。「f」
スタック1:d
スタック2:a,c

2−2.cをスタック2から出力します。「g」
スタック1:d
スタック2:a

3.dを出力する
3−1.dをスタック2に移します。「f」
スタック1:
スタック2:a,d

3−2.aをスタック2から出力します。「g」
スタック1:
スタック2:a

4.aを出力する
4−1.aをスタック2から出力します。「g」
スタック1:
スタック2:

よって、f、f、g、f、g、f、g、g、となります。

問6 次の規則に従って配列の要素A[0]、A[1],・・・、A[9]に正の整数kを格納する。kとして16、43,73、24、85を順に格納したとき、85が格納される場所はどこか。ここでx mod yはxをyで割った剰余を返す。また、配列の要素は全て0に初期化されている。

[規則]
(1) A[k mod 10]=0ならば,k→A[k mod 10]とする。
(2) (1)で格納できないときは、A[(k+1) mod 10]=0ならば,k→A[(k+1) mod 10]とする。
(3) (2)で格納できないときは、A[(k+4) mod 10]=0ならば、k→A[(k+4) mod 10]とする。
A[3]
A[5]
A[6]
A[9]
解答
解説 順番に計算していきます。
16:A[16 mod 10]=A[6]=0なので、A[6]=16
43:A[43 mod 10]=A[3]=0なので、A[3]=43
73:A[73 mod 10]=A[3]=43なので、A[73+1 mod 10]=A[4]=73
24:A[24 mod 10]=A[4]=73なので、A[24+1 mod 10]=A[5]=24
85:A[85 mod 10]=A[5]=24なので、A[85+1 mod 10]=A[6]=16なので、A[85+4 mod 10]=A[9]=85

よって、85が格納されるのはA[9]になります。

問7 要素番号が0から始まる配列TANGOがある。n個の単語がTANGO[1]からTANGO[n]に入っている。図はn番目の単語をTANGO[1]に移動するために、TANGO[1]からTANGO[n−1]の単語を順に一つずつ後ろにずらして単語表を再構成する流れ図である。aに入れる処理として、適切なものはどれか。

画像(問7)を表示できません
TANGO[i] → TANGO[i+1]
TANGO[i] → TANGO[n−i]
TANGO[i+1] → TANGO[n−i]
TANGO[n−i] → TANGO[i]
解答
解説 まず、このTANGOという配列は以下のような構造をしています。

TANGO={ ,word1,word2,・・・,wordn-1,wordn

そして、この構造を

TANGO={ ,wordn,word1,・・・,wordn-2,wordn-1
(ただし、厳密には最初の要素は削除されないので、TANGO={wordn,wordn,word1,・・・,wordn-2,wordn-1})
のように、一つずつ後ろにずらしたいということです。

ループの前のTANGO[n]→TANGO[0]により、一番後ろの要素を開いている先頭にコピーしています。
TANGO={ wordn,word1,word2,・・・,wordn-1,wordn

ループの変数は、n−1から0まで動きます。つまり、後ろから前に向かって変化しています。
よって、n−1をnに、n−2をn−1に・・・と続き、最終的には1を2に、0を1に動かすことで目的の操作を実現できます。

よって、TANGO[i] → TANGO[i+1]となります。

問8 XMLに関する記述のうち、適切なものはどれか。
HTMLを基にして、その機能を拡張したものである。
XML文書を入力するためには専用のエディタが必要である。
文書の論理構造と表示スタイルを統合したものである。
利用者独自のタグを使って、文書の属性情報や論理構造を定義することができる。
解答
解説 XML(eXtensible Markup Language)はHTMLやSGMLなどと同じマークアップ言語の一種で、タグで要素を区切って記述していきます。XMLには、ユーザ自身が独自にタグを作ることができるという特徴があります。

問9 主記憶のデータを図のように参照するアドレス指定方式はどれか。

画像(問9)を表示できません
間接アドレス指定
指標アドレス指定
相対アドレス指定
直接アドレス指定
解答
解説 4つの方式を以下にまとめます。

直接アドレス:値をアドレスと見なして、そのアドレスの値を有効値とする方式です。
間接アドレス:値をアドレスと見なして、そのアドレスの値もアドレスと見なし、そのアドレス値を有効値とする方式です。
指標アドレス:値と指標値を足した値をアドレスと見なして、その値を有効値とする方式です。
相対アドレス:値とプログラムカウンタの値を足しして、その値をアドレスと見なして、有効値とする方式
即値オペランド:値を有効値とする方式です。

アドレスを表示できません


上記の例を考えると、直接アドレスは、101のアドレスの内容で102。間接アドレスは、101のアドレスの内容(102)の内容で、103。指標付きアドレスは、101+5=106の内容で500。即値オペランドは値そのものなので、101となります。間接アドレスは、2重、3重とすることができます。また、指標付きアドレスは、相対アドレスや再配置可能プログラムを考える上で重要になります。

問10 CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。
演算を行うために、メモリから読み出したデータを保持する。
条件付き分岐命令を実行するために、演算結果の状態を保持する。
命令のデコードを行うために、メモリから読み出した命令を保持する。
命令を読み出すために、次の命令が格納されたアドレスを保持する。
解答
解説 それぞれのレジスタを以下にまとめます。

選択肢ア:アキュムレータの説明です。
選択肢イ:ステータスレジスタの説明です。
選択肢ウ:命令レジスタの説明です。
選択肢エ:プログラムカウンタの説明です。

問11 A〜Dを、主記憶の実行アクセス時間が短い順に並べたものはどれか。

画像(問11)を表示できません
A,B,C,D
A,D,B,C
C,D,A,B
D,C,A,B
解答
解説 それぞれのアクセス時間を計算します。なお、キャッシュある場合は、ヒット率×キャッシュメモリのアクセス速度+(1−ヒット率)×主記憶のアクセス速度となります。

A:15ナノ秒
B:30ナノ秒
C:20×0.6+70×0.4=12+28=40ナノ秒
D:10×0.9+80×0.1=9+8=17ナノ秒

よって、A,D,B,Cの順に高速(実効アクセス時間が短い)であるといえます。

問12 組込みシステムのプログラムを格納するメモリとして、マスクROMを使用するメリットはどれか。
紫外線照射で内容を消去することによって、メモリ部品を再利用することができる。
出荷後のプログラムの不正な書換えを防ぐことができる。
製品の量産後にシリアル番号などの個体識別データを書き込むことができる。
動作中に主記憶が不足した場合、補助記憶として使用することができる。
解答
解説 マスクROMとは、工場などで情報が書き込まれ、以後ユーザなどは情報を書き換えることができないメモリをいいます。これにより、不正な情報の書換えを防ぐことができます。

選択肢アは、UV−EPROM(Ultra Violet Erasable Programmable ROM)の説明です。
選択肢ウは、EEROM(Electrically Erasable Programmable ROM)の説明です。
選択肢エは、仮想記憶方式の説明です。

問13 静電容量方式タッチパネルの記述として、適切なものはどれか。
タッチすることによって、赤外線ビームが遮られて起きる赤外線反射の変化を捉えて位置を検出する。
タッチパネルの表面に電界が形成され、タッチした部分の表面電荷の変化を捉えて位置を検出する。
抵抗膜に電圧を加え、タッチした部分の抵抗値の変化を捉えて位置を検出する。
マトリックス状に電極スイッチが並んでおり、押された部分の電極で位置を検出する。
解答
解説 タッチパネルとは、銀行のATMやスマートフォン等で利用されている入出力装置で、ディスプレイに位置入力装置を組み合わせたものです。画面上を指で操作することで、直感的なユーザインタフェースを提供します。
タッチパネルの方式について選択肢の方式を以下にまとめます。

選択肢ア:赤外線方式
選択肢イ:静電容量方式
選択肢ウ:抵抗膜方式
選択肢エ:マトリックススイッチ方式

問14 磁気ディスク装置のヘッドが現在シリンダ番号100にあり、待ち行列にシリンダ番号120、90、70、80、140、110、60への入出力要求が並んでいる。次の条件のとき、ヘッドが移動するシリンダの総数は幾らか。

[条件]
(1) 入出力要求を並び替えて、できるだけヘッドを一方向に動かし、シリンダ番号順に処理する、シーク最適化方式である。
(2) 現在のヘッドの移動方向は、シリンダ番号が増加する方向にある。
(3) 現在のヘッドの移動方向のシリンダに入出力要求がなくなったとき、ヘッドの移動方向を変える。
(4) 入出力要求の処理順序を変更しても、処理結果に影響はない。
(5) 処理中に新たな入出力要求は発生しない。
80
120
160
220
解答
解説 まず、シリンダ番号をソートすると60 70 80 90 110 120 140となります。現在100番にあり、増加方向に向いているので、まず、100 → 140と動き、その後140 → 60と動きます。よって、40+80=120となります。

問15 コールドスタンバイシステム、シンプレックスシステム、デュアルシステムを、システムの稼働率の高い順に並べたものはどれか。ここで、各システムを構成するコンピュータは同一であるものとする。
コールドスタンバイシステム、シンプレックスシステム、デュアルシステム
コールドスタンバイシステム、デュアルシステム、シンプレックスシステム
シンプレックスシステム、コールドスタンバイシステム、デュアルシステム
デュアルシステム、コールドスタンバイシステム、シンプレックスシステム
解答
解説 3つを下のように比較してみます。これと同じく重要なホットスタンバイシステムについても紹介します。

デュアルシステムは:2台が同時に稼働していて結果を照合するシステム
ホットスタンバイシステム:2台を同時に稼働させておくが、一方は待機状態にしておくシステム
コールドスタンバイシステム:メインが故障したときにもう1台が代わりに処理を行うシステム
シンプレックスシステムは:1台のみの単純なシステム。故障するとお終いです。

稼働率の比較はデュアルシステム > ホットスタンバイシステム > コールドスタンバイシステム > シンプレクスシステムとなります。
なお、ホットスタンバイとコールドスタンバイの差は、一方が故障してから切り替えるまでのスピードの差によります。

問16 シンクライアントシステムの特徴として、適切なものはどれか。
GPSを装備した携帯電話を端末にしたシステムであり、データエントリや表示以外に、利用者の所在地をシステムで把握できる。
業務用のデータを格納したUSBメモリを接続するだけで、必要な業務処理がサーバ側で自動的に起動されるなど、データ利用を中心とした業務システムを簡単に構築することができる。
クライアントに外部記憶装置がないシステムでは、サーバを防御することによって、ウイルスなどの脅威にさらされるリスクを低減することができる。
周辺装置のインタフェースを全てUSBに限定したクライアントを利用することによって、最新の周辺機器がいつでも接続可能となるなど、システムの拡張性に優れている。
解答
解説 シン(tnin)とは、細い・薄いという意味で、クライアントに最小限の設備しか装備させず、ほとんどをサーバで行う処理形態をいいます。HDDもない場合もあり情報漏えいに強いという特性があります。また、ユーザ管理と応用することで、どのマシンを利用しても同じ環境で利用できるという利点もあります。一方で、サーバへの接続環境が必要というデメリットもあります。

問17 信頼性設計におけるフェールソフトの例として、適切なものはどれか。
アプリケーションを間違って終了してもデータを失わないように、アプリケーション側の機能で編集中のデータのコピーを常に記憶媒体に保存する。
一部機能の障害によってシステムが停止しないよう、ハードウェアやソフトウェアを十分に検証し、信頼性の高いものだけでシステムを構成する。
クラスタ構成のシステムにおいて、あるサーバが動作しなくなった場合でも、他のサーバでアプリケーションを引き継いで機能を提供する。
電子メールでの返信が必要とされる受付システムの入力画像で、メールアドレスの入力フィールドを二つ設けて、同一かどうかをチェックする。
解答
解説 重要な高信頼システム設計法についてまとめておきます。

フォールトトレラント:障害時に全体が停止するということなく、動作し続けるようなシステムを設計すること。
フォールトアボイダンス:システムの構成要素の信頼性を高め, 元から故障が極力発生しないように設計すること。
フォールトマスキング:障害が発生したときに、その部分を他の機器から隠蔽したり、自律回復するように設計すること。
フェールセーフ:障害が発生した場合、常に安全側に制御・停止すること。
フェールソフト:障害が発生した場合、故障した個所を切り離すなどして、稼動を続けること。
フェールオーバ:障害が発生した場合、ユーザに切り替えを意識させないように、別のシステムに引き継がせること。
フールプルーフ:ユーザが誤った操作をした場合、危険に晒されることがないように、事前に安全策を行うこと。

選択肢アは、フェールセーフの説明です。
選択肢イは、フォールトアボイダンスの説明です。
選択肢エは、フールプルーフの説明です。

問18 MTBFとMTTRに関する記述として、適切なものはどれか。
エラーログや命令トレースの機能によって、MTTRは長くなる。
遠隔操作によって、システムのMTBFは短くなり、MTTRは長くなる。
システムを構築する装置の種類が多いほど、システムのMTBFは長くなる。
予防保守によって、システムのMTBFは長くなる。
解答
解説 まず、2つの用語をまとめます。

平均故障間隔(MTBF:Mean Time Between Failure)は故障と故障の間の動作していた時間の平均
平均故障時間(MTTR:Mean Time To Repair)は実際に故障していた時間の平均

これを元に、選択肢を見ていきます。
選択肢ア:エラーログや命令のトレース機能を利用することにより、システムの障害の原因が分かり、MTTRは短くなります。
選択肢イ:遠隔操作によって、システムの保守ができるので、MTBFは短くなりますが、MTTRが長くなるとはいえません。
選択肢ウ:システムを構築する装置が多いと、どれかが障害を起こすとシステムが動作しなくなるので、MTBFは短くなります。
選択肢エ:予防保守をすることで、未然に障害を察知・軽減することができ、MTBFを長くできるといえます。(正解)

問19 東京〜福岡を結ぶ回線がある。この回線の信頼性を向上させるために、図に示すような東京〜大阪〜福岡を結ぶ破線の迂回回線を追加した。迂回回線追加後における、東京〜福岡を結ぶネットワークの稼働率の稼働率は幾らか。ここで、回線の稼働率は、東京〜福岡、東京〜大阪、大阪〜福岡の全てが0.9とする。

画像(問19)を表示できません
0.729
0.810
0.981
0.999
解答
解説 上のラインの稼働率は0.9×0.9=0.81、下のラインの稼働率は0.9です。全体としては、これらの並列となりますので、1−(1−0.81)×(1−0.9)=1−0.19×0.1=1−0.019=0.981となります。

問20 図はマルチタスクで動作するコンピュータにおけるタスクの状態遷移を表したものである。実行状態のタスクが実行可能状態に遷移するのはどの場合か。

画像(問20)を表示できません
自分より優先度の高いタスクが実行可能状態になった。
タスクが生成された。
入出力要求による処理が完了した。
入出力要求を行った。
解答
解説 それぞれの矢印に、具体的な遷移条件を記述すると以下のようになります。

タスクの状態遷移を表示できません