2012年3月26日月曜日

=== 平成23年秋 問15 ===


平成23年秋目次  前の問題  次の問題

問15

コールドスタンバイシステム,シンプレックスシステム,デュアルシステムを,システムの稼働率の高い順に並べたものはどれか。
ここで,各システムを構成するコンピュータは同一であるものとする。

ア コールドスタンバイシステム,シンプレックスシステム,デュアルシステム
イ コールドスタンバイシステム,デュアルシステム,シンプレックスシステム
ウ シンプレックスシステム,コールドスタンバイシステム,デュアルシステム
エ デュアルシステム,コールドスタンバイシステム,シンプレックスシステム



解説

問題のシステムとは、以下のようなものである。

■デュアルシステム
1つの処理に対して、2つの処理系を準備し、並行運転しながら、結果を照合していくシステム

■デュプレックスシステム
1つの処理に対して、主従2系統の処理系を準備し、通常は主系で処理をし、障害発生時従系に切り替えるシステム
切り替えの方式により、ホットスタンバイシステム、コールドスタンバイシステム、ウォームスタンバイシステムに分かれる。

・ホットスタンバイシステム
通常運用時から主系と従系の両方を稼働して同じ状態にしておき、障害発生時、ただちに切り替える。

・コールドスタンバイシステム
障害が発生してから、従系の起動を行う

・ウォームスタンバイシステム
従系は電源を入れ、OSを起動した状態で待機する。
ホットスタンバイとコールドスタンバイの中間型となる。

■シンプレックスシステム
1つの処理に対して、1つの処理系を準備する通常の方式


これらのことから1番稼働率の高いのは、障害発生時にそのまま、従系で処理ができるデュアルシステム、
1番稼働率の低いのは障害が復旧するまで処理が停止するシンプレックスシステム、
その中間がコールドスタンバイシステムであることがわかる。



2012年3月25日日曜日

=== 平成23年秋 問14 ===


平成23年秋目次  前の問題  次の問題

問14

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

[条件〕
(1)入出力要求を並べ替えて,できるだけヘッドを一方向に動かし,シリンダ番号順に処理する,シーク最適化方式である。
(2)現在のヘッドの移動方向は,シリンダ番号が増加する方向にある。
(3)現在のヘッドの移動方向のシリンダに入出力要求がなくなったとき,ヘッドの移動方向を変える。
(4)入出力要求の処理順序を変更しても,処理結果に影響はない。
(5)処理中に新たな入出力要求は発生しない。

ア 80    イ 120    ウ 160    エ 220



解説

条件から、入出力要求は次のように並べ替えられる。
現在シリンダ番号100であり、増加の方向であるため、110,120,140まで進み、それ以上大きいシリンダ番号がないため、今度は小さ いシリンダ番号に移動し、90,80,70,60に移動する。
結局100→110→120→140→90→80→70→60と移動することになる。
シリンダ番号100→110への移動とは10の移動になるが、これらをすべて合計してみると、
10+10+20+50+10+10+10=120となり、イが正解



2012年3月24日土曜日

=== 平成23年秋 問13 ===


平成23年秋目次  前の問題  次の問題

問13

静電容量方式タッチパネルの記述として,適切なものはどれか。

ア タッチすることによって,赤外線ビームが遮られて起こる赤外線反射の変化を捉えて位置を検出する。
イ タッチパネルの表面に電界が形成され,タッチした部分の表面電荷の変化を捉えて位置を検出する。
ウ 抵抗膜に電圧を加え,タッチした部分の抵抗値の変化を捉えて位置を検出する。
エ マトリックス状に電極スイッチが並んでおり,押された部分の電極で位置を検出する。



解説

ア 赤外線方式の説明
イ 正解
ウ 抵抗膜方式の説明
エ マトリックススイッチの説明



2012年3月23日金曜日

=== 平成23年秋 問12 ===


平成23年秋目次  前の問題  次の問題

問題12

組込みシステムのプログラムを格納するメモリとして,マスクROMを使用するメリットはどれか。

ア 紫外線照射で内容を消去することによって,メモリ部品を再利用することができる。
イ 出荷後のプログラムの不正な書換えを防ぐことができる。
ウ 製品の量産後にシリアル番号などの個体識別データを書き込むことができる。
エ 動作中に主記憶が不足した場合,補助記憶として使用することができる。



解説

マスクROMとは製造時に回路にデータが書き込まれているROMのことであり、あとで内容を書き換えることはできない。
ゲーム機のソフトウェア、組み込みシステムのファームウェア、その他などに使われる。
また、1回だけ書き込むことのできるROMをPROM、何度でも書き換えることのできるROMをEPROMという。

ア UV-EPROMの説明
イ 正解
ウ マスクROMでは、製品の量産後に書き込みはできないので誤り
エ 主記憶が不足した時の補助記憶装置として使用するためには、書き替えができなければいけないので、誤り



2012年3月22日木曜日

=== 平成23年秋 問11 ===


平成23年秋目次  前の問題  次の問題

問11

A~Dを,主記憶の実効アクセス時間が短い順に並べたものはどれか。


ア 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 = 40ナノ秒
D 10×0.9+80×0.1 = 17ナノ秒

よって小さい順にならべると、A,D,B,Cとなり、イが正解



2012年3月21日水曜日

=== 平成23年秋 問10 ===


平成23年秋目次  前の問題  次の問題

問10

CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。

ア 演算を行うために,メモリから読み出したデータを保持する。
イ 条件付き分岐命令を実行するために,演算結果の状態を保持する。
ウ 命令のデコードを行うために,メモリから読み出した命令を保持する。
エ 命令を読み出すために,次の命令が格納されたアドレスを保持する



解説

プログラムレジスタとは、プログラムの命令を1つづつ実行していくために、次に実行すべき命令のアドレスを保持しているレジスタである。 ふつうは、1つ命令を実行すると、次の命令が実行できるように、1つ分増えるようにしておけばよいが、どこかの命令にジャンプさせたいような場合には、とび先の命令のアドレスをプログラムレジスタに格納すれば、次にそれが実行されるようになる。 ア アキュムレータの説明
イ フラグレジスタの説明
ウ 命令レジスタの説明
エ 正解


2012年3月20日火曜日

=== 平成23年秋 問9 ===


平成23年秋目次  前の問題  次の問題

問9

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


ア 間接アドレス指定    イ 指標アドレス指定
ウ 相対アドレス指定    エ 直接アドレス指定



解説

コンピュータに対する命令語は、
・命令の種類(たとえば、データをレジスタに移動するとか、足し算をするとか)と
・アドレス部(命令の処理対象となるデータを示す)とに分けられる。
この時、アドレス部に直接データのアドレスを書くだけでなく、下のようないろいろな指定方式がある。
また、どの指定方式が使われるかは、命令の種類により決まる。
必要がなければ、アドレス部のない命令もある。

アドレス部に記述されているデータから計算された実際に操作の対象となるデータが格納されているアドレスのことを実効アドレスという。


■即値アドレス指定方式
アドレス部の値がアドレスではなく、データそのものである。

■直接アドレス指定方式
アドレス部の値が、データが格納されているアドレスを表す。
この場合、常に同一のアドレスにロードされるプログラムにしか使えない。

■間接アドレス指定方式
アドレス部に記述されているアドレスの中にデータではなく、実効アドレスが書かれている。

■相対アドレス指定方式
アドレス部の値と、命令そのもののアドレス(プログラムカウンタ)を加算したものが実効アドレスとなる。

■インデックスアドレス指定方式(指標アドレス指定方式)
アドレス部の値にインデックスレジスタの値を加えたものが実効アドレスとなる。

■ベースアドレス指定方式(基底アドレス指定方式)
ベースレジスタに基準となるアドレスを入れておき、アドレス部の値にベースレジスタの値を足したものが実効アドレスとなる。

■レジスタアドレス指定方式
実効アドレスを保持するレジスタの番号をアドレス部で指定する方式。

これらのことから、問題の図はアの間接アドレス指定である。



2012年3月19日月曜日

=== 平成23年秋 問8 ===


平成23年秋目次  前の問題  次の問題

問8

XMLに関する記述のうち,適切なものはどれか。

ア HTMLを基にして,その機能を拡張したものである。
イ XML文書を入力するためには専用のエディタが必要である。
ウ 文書の論理構造と表示スタイルを統合したものである。
エ 利用者独自のタグを使って,文書の属性情報や論理構造を定義することができる。



解説

XMLとは、文書やデータの意味や構造を記述するためのマークアップ言語である。 マークアップ言語とは、タグをつけることにより、各データの意味や、構造を表す。 HTMLもタグを使って、文書の構造や意味を表すが、HTMLのタグはすでに決められたタグであり、XMLはユーザが独自にタグを作ることができる。

ア HTMLと同様タグを使うがHTMLを拡張したものではない。
イ テキスト文書なので、テキストエディタさえあれば記述できる。
ウ これは、HTMLに関する説明
エ 正解



2012年3月18日日曜日

=== 平成23年秋 問7 ===


平成23年秋目次  前の問題  次の問題

問7

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




ア TANGO[i] → TANGO[i+1]
イ TANGO[i] → TANGO[n-i]
ウ TANGO[i+1] → TANGO[n-i]
エ TANGO[n-i] → TANGO[i]



解説

たとえばn=5であるとしたらどうすればよいかを考えてみる。
最初にTANGO[5]→TANGO[0] としておく。(ループの前の処理)

では、ループ内でやるべき処理を1つづつ書いてみると
TANGO[4]→TANGO[5]
TANGO[3]→TANGO[4]
TANGO[2]→TANGO[3]
TANGO[1]→TANGO[2]
TANGO[0]→TANGO[1]

ループの条件は初期値:i=4 増分:-1 終値:0と記述されているため、格納される値の添え字になっている。 そのため、iを使ってループ処理を記述してみると TANGO[i]→TANGO[i+1]となる。


2012年3月17日土曜日

=== 平成23年秋 問6 ===


平成23年秋目次  前の問題  次の問題

問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]


解説

■k=16の場合。-> 16 mod 10 は6
(1)A[6]=0なのでA[6]に16を代入する。

■k=43の場合。-> 43 mod 10 は3
(1)A[3]=0なのでA[3]に43を代入する。

■k=73の場合。-> 73 mod 10 は3
(1)A[3]にはすでに上の処理で43が格納されているため(2)の処理を行う。
(2)(k+1) mod 10は4 A[4]=0なので、A[4]に73を代入する。

■k=24の場合。-> 24 mod 10 は4
(1)A[4]にはすでに上の処理で73が格納されているため(2)の処理を行う。
(2)(k+1) mod 10は5 A[5]=0なので、A[5]に24を代入する。

■k=85の場合。-> 85 mod 10 は5
(1)A[5]にはすでに上の処理で24が格納されているため(2)の処理を行う。
(2)(k+1) mod 10は6 A[6]は16がすでに格納されているため、(3)へ。
(3)(k+4) mod 10は9 A[9]=0なのでA[9]に85を代入する。

よって、85はA[9]に格納された



2012年3月16日金曜日

=== 平成23年秋 問5 ===


平成23年秋目次  前の問題  次の問題

問5

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




ア 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


解説

ffgまではすべての選択肢で同じであり、次のようになる。
・1番目、2番目のffでスタック2にはaがプッシュされ、次にbがプッシュされる。
・3番目にgが実行されスタック2からbがポップされ出力される。
次はcを出力したいので、もし、gが実行されるとスタック2からaがポップされ出力されてしまうので、fのはずであ る。
・4番目にfが実行されるとスタック1はdがはいっているだけ、2は下からa、cがはいっている。
次はcを出力したいのでこの状態でスタック2からポップすればよいので、
・5番目にgを実行すればよい。
次はdを出力したいのでgはまだ行えないから、
・6番目にはfを行う。
今スタック2には、下からa、dが入っている。この状態で2回ポップして出力すればよいので
・7番目、8番目にggとなる。

よって答えは、ffgfgfgg



2012年3月13日火曜日

=== 平成23年秋 問4 ===


平成23年秋目次  <<前の問題  次の問題>>

問4

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


[規則]  <式> ::=<変数>|(<式>+<式>)|<式>*<式>
 <変数> ::=A|B|C|D

ア A+(B+C)*D
イ (A+B)+(C+D)
ウ (A+B)*(C+D)
エ (A*B)+(C*D)



解説

足し算には全体を()で囲む必要があり、掛け算には()がないのが みそ。

ア (A+(B+C))*DならOKであるが、Aという式と(B+C)という式の足し算に()がないので誤り。
イ アと同じ理由から((A+B)+(C+D))なら正解であるが、()がないので誤り。
ウ 正解
エ (A*B+C*D)なら正解


2012年3月12日月曜日

=== 平成23年秋 問3 ===


平成23年秋目次へ   <<前の問題   次の問題>>

問3

コンピュータで連立一次方程式の解を求めるのに, 式に含まれる未知数の個数の3乗に比例する計算時間が掛かるとする。 あるコンピュータで 100 元連立一次方程式の解を求めるのに2秒掛かったとすると, その4倍の演算速度をもつコンピュータで 1,000 元連立一次方程式の解を 求めるときの計算時間は何秒か。

 ア 5    イ 50    ウ 500    エ 5000


解説

100元が1000元になるので、未知数が10倍になる。 未知数の個数の3乗に比例する計算時間がかかるといっているので、同じ速度のコンピュータで計算するなら、10×10×10=1000倍の時間がかかることになる。 しかし、コンピュータの速度が4倍であるため、速さは4分の1となる。 結局、2秒×1000÷4=500秒 となり、答えはウ


答え

2012年3月11日日曜日

=== 平成23年秋 問2 ===


平成23年秋目次へ   <<前の問題   次の問題>>


問2

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




 ア 01001100    イ 10100101    ウ 10100110    エ 11010011



解説

5を2進数にすると101。 2進数の小数点以下の位は、小数点以下1桁目が0.5の位、2桁目が0.25の位、3桁目が0.125の位・・・ 結局、0.625=0.5*1 + 0.25*0 + 0.125*1であるから、101となる。 よって、+5.625は2進数では101.101となり、 小数点の位置を図の位置とすると、01011010となる。 負の数は、2の補数表現といっているため、01011010の2の補数を求めればよい。 2の補数はすべてのビットを反転し、1を足せばよいので、10100101+1=10100110となり、ウが正解



答え

2012年3月10日土曜日

=== 平成23年秋 問1 ===


平成23年秋目次へ   <<前の問題   次の問題>>

問1

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

 〔手順〕
 (1)  [a]を x に代入する。
 (2)  x をスタックにプッシュする。
 (3)  n を [b]論理シフトする。










解説

2進数の4桁で表現できるのは10進数の0~15であり、これを16進数では0~Fの1桁の数字で表現する。 たとえばnが 0101 1010 1100 0011 であったとする。
これは16進数で表現すると 5AC3である。
問題では16進数の各桁に分けて下位の桁から順にスタックに格納するといっているため、 下の図のように、下位の桁から4桁づつスタックに格納されればよい。

そのためには まず、1番下の4桁だけを取り出しスタックにプッシュしたい。
ある桁だけを取り出すためには、取り出したい桁だけが1となっている数とANDを取ればよい。
そのため、(1)では 0 AND 000F16となる。

次の4桁を取り出すためには、4ビット右にシフトしてから(1)から繰り返せばよい。


ここで、論理シフトと算術シフトの違いを見ておこう。
右への論理シフトとは、そのまま2進数を右に移動し、押し出された部分は消え、左の空いた部分には0が入る。

算術シフトの場合、押し出された部分が消えるのは同様であるが、空いた部分には1番左のビットの値が入る。
負の数は、1番左のビットに1が立っているが、こうすることにより、負の数を右にシフトしても、負のままになる。

1ビット右にシフトすると、2で割った値が求まるが、負の数でもそのようにするためには、算術シフトをする必要がある。

ここでは、単純に4ビット右にずらすだけであるため、論理シフトでよい。
そのため、(3)の答えは右に4ビット論理シフトするとなる。


答え