平成19年度春期 基本情報 問1−20 解答編





このページは

基本情報

(基本情報技術者試験)

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

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


問1 16進数3A.5Cを10進数の分数で表したものはどれか。
939/16
3735/64
14939/256
14941/256
解答
解説 3A.5Cを2進数表記すると、(111010.01011100)となり、整数部は2+8+16+32=58.小数部は、1/4+1/16+1/32+1/64=23/64。よって、(58×64)/64+23/64=(3712+23)/64=3735/64となります。

問2 正の整数の10進表示のけた数Dと2進表示のけた数Bとの関係を示す式のうち、最も適切なものはどれか。
D≒2log10
D≒10log2
D≒Blog210
D≒Blog10
解答
解説 二つの式の関係は10D=2Bとなります。
両辺の対数(底は10)をとって、log1010D=log1010
指数部は積にできるので、D×log1010=B×log10
底と値が同じ場合は1なので、D=B×log10

しかし、桁数は整数ですが、このままでは実数になるので、近似解として、D≒B×log102が正解となります。

問3 負数を2の補数で表現する符号付16ビットの2進数を16進法で表示したもののうち、4倍するとあふれが表示するものはどれか。
1FFF
DFFF
E000
FFFF
解答
解説 16ビットを2の補数で表した場合に使える範囲は、−215〜215−1=−32768〜32767であり、シフト後の値がこの値に矛盾しないかどうかを考えます。シフトした際、新しく追加されるビットは符号ビットと同じものが挿入されます。また、符号ビットはシフトしません。

正の数は1が追い出されるとあふれとなり、負の数は0が追い出されるとあふれとなります。

選択肢ア:1FFF=(0001 1111 1111 1111)を左に2ビットシフト=(0111 1111 1111 1100)よって、あふれは発生しません。
選択肢イ:DFFF= (1101 1111 1111 1111)を左に2ビットシフト=(1111 1111 1111 1111)よって、あふれが発生する。
選択肢ウ:E000=(1110 0000 0000 0000)を左に2ビットシフト=(1000 0000 0000 0000)よって、あふれは発生しません。
選択肢エ:FFFF=(1111 1111 1111 1111)を左に2ビットシフト=(1111 1111 1111 1111)よって、あふれは発生しません。

問4 浮動小数点表示法における仮数が正規化されている理由として、適切なものはどれか。
固定小数点数としてみなして大小関係が調べられるようにする。
四則演算のアルゴリズムが簡素化できる。
表現可能な数値の範囲を拡大する。
有効数字のけた数を最大に保つ
解答
解説 一般的な浮動小数点数は、基数、指数(e)、仮数(f)、符号(s)の4つから構成されています。基数は2であるものとして省略されます。つまり、(-1)s×2e×(1+0.f)となるように調整されます。1.fとするのは、1になるように正規化することで、1ビット節約(けち表現)するためです。これにより、正規化をすることで有効桁数を最大に保つことができるといえます。

問5 N個の観測地の和S(ただし、S>0)を求め平均値を算出する。平均値は、小数部を四捨五入して整数値を求めるとしたとき、正しい式はどれか。ここで、/は除算、[X]はX以下で最大の整数とする。
[(S+0.5)/N]
[(S−1)/N]+1
[S/N+0.5]
[S/N]+1
解答
解説 四捨五入を場合わけするとわかりやすいです。

S/N=0.0〜0.4の場合は、0.5〜0.9になり、0.5〜0.9は1.0〜1.4になるので、+0.5をして端数を取ると四捨五入を実現できることがわかります。

問6 関数f(x)は、引数も戻り値も実数型である。この関数を使った、@〜Dから成る手続を考える。手続の実行を開始してから十分な回数を繰り返した後に、Bで表示されるyの値に変化がなくなった。このとき成立する関係式はどれか。

@ x←a
A y←f(x)
B yの値を表示する。
C x←y
D Aに戻る
f(a)=y
f(y)=0
f(y)=a
f(y)=y
解答
解説 y←f(x)、x←yを十分繰り返して値が変化しなくなったということは、f(x)が同じ値を返すようになったということです。このとき、x←yも一定となるので、x=yが成立します。つまり、f(y)=yが成立します。

問7 A〜Jの10種類の文字を用いて、長さ1以上3以下の文字列を作る。ただし、先頭はAであってはならない。全部で何通りの文字列ができるか。
900
999
1,000
1,110
解答
解説 3つに場合わけして考えます。

長さ1:B〜Jまでの9種類=9
長さ2:B〜Jまでの9種類×A〜Jまでの10種類=9×10=90
長さ3:B〜Jまでの9種類×A〜Jまでの10種類×A〜Jまでの10種類=9×10×10=900

よって、9+90+900=999となります。

問8 ある工場で大量に生産されている製品の重量の分布は、平均が5.2kg、標準偏差が0.1kgの正規分布であった。5.0kg未満の製品は、社内検査で不合格とされる。生産された製品の不合格品の割合は約何%か。

画像(問8)を表示できません
0.159
0.6
2.3
6.7
解答
解説 標準正規分布は、平均に近づくほど発生頻度が高くなるという一般的な確率分布関数です。標準偏差とは、分散の平方をとったもので、ばらつき具合をあらわしたものです。データが一様の場合は標準偏差は0になります。

この場合は、標準偏差が0.1kgなので、誤差0.2kgつまりμは2.0となります。つまり確率Pは0.023(2.3%)となります。

問9 論理型の変数A、Bの値に対して、次の条件文と同値なものはどれか。ここで、ANDは論理積、ORは論理和、XORは排他的論理和、Trueは真、Falseは偽、=は等号を表す

if(A=True AND B=False)OR(A=False AND True)then ・・・
if((A AND B)=True)then・・・
if((A AND B)=False)then・・・
if((A OR B)=True)then・・・
if((A XOR B)=True)then・・・
解答
解説 条件文が続いていますが、重要なのは、A∩∩Bとなる演算子はどれか。という問題です。これは排他的論理和A XOR Bと等しくなります。

問10 8ビットのレジスタがある。このレジスタの各ビットの値をd0、d1、・・・d7とし、パリティビットの値をpとする。奇数パリティの場合、常に成立する関係式はどれか。
画像(問10q)を表示できません
画像(問10ans)を表示できません
解答
解説 いくつかの例をためしてみるのも手ですが、確実ではなく、偶然成立してしまう可能性も捨てきれないので論理的に考えて見ます。

まず、排他的論理和の性質ですが、1と0、0と1のとき1。1と1、0と0のとき0になります。つまり、1が奇数個の場合に限り1を出力するといえます。つまり、最後に1の個数が奇数個になるようにパリティを調整すると出力は1になることがわかります。

問11 文字列“ET”をASCIIでコード化したものを16進表記したものはどれか。ここで、文字コードの8ビット目には、偶数パリティビットが付く。

画像(問11)を表示できません
4554
A32B
ACA5
C5D4
解答
解説 まず、ビットb7が上位でb1が下位となり、先頭に偶数パリティを付加するというものです。

つまり、E=(1000101)、T=(1010100)となり、これにE、Tともに偶数パリティは1となるので、これを付加すると(11000101)と(11010100)となり、C5D4となります。

問12 次の2分探索法に12を追加したとき、追加された節12の位置を正しく表している図はどれか。

画像(問12)を表示できません
画像(問12ans)を表示できません
解答
解説 2分木とは、左の木の値≦親の値≦右の子の値となるように要素を追加する木です。

8≦12により、右へ
10≦12により、右へ
15≧12により、左へ
13≧12により、左へ

よって、ウのようになります。

問13 文字列Aが“aababx△”、文字列Bが“ab△”であるとき、流れ図の終了時点のkは幾らか。ここで、文字列の先頭の文字を1番目と数えるものとし、A[i]はAのi番目の文字を、B[j]はBのj番目の文字を、“△”は終端を示す文字を表す。

画像(問13)を表示できません
解答
解説 まず、このアルゴリズムがAとBの文字列を比較し、Bが何番目にあるかを返すものだとわかれば簡単ですが、それがわからなくても、値をトレースしていくことで解を導くことは可能です。

まず、AとBの文字が等しい場合は、カウンタを増やしていきます。異なる場合は、リセットします。これをどちらかが空白になるまで続けます。
その後、i-jmax(jの長さ)を引くことで、先頭の場所を指しています。
よって、2番目、3番目が一致するため、解は2となります。。

問14 配列A[i](i=1,2、・・・、n)を、次のアルゴリズムによって整列する。行2〜3の処理が初めて終了したとき、必ず実現されている配列の状態はどれか。

[アルゴリズム]
行番号
iを1からn−1まで1ずつ増やしながら行2〜3を繰り返す
jをi+1から1ずつ減らしながら行3を繰り返す。
もしA[j]<A[j−1]ならば、A[j]とA[j−1]を交換する
A[1]が最小値になる
A[1]が最大値になる
A[n]が最小値になる
A[n]が最大値になる
解答
解説 一般的なバブルソートの説明です。1回目はn番目と1番目までが対象となります。(j−1)を使っているため、このとき、を比較してj番目<j−1番目だったら交換するので、j−1番目<j番目となります。よって、最も小さいものがどんどん添え字の小さいものになっていきます。最終的には、一番小さいものを探し出し、1番目の要素に格納します。つまり、A[1]が最小値になります。次のループで2番目に小さい値をA[2]に格納する。・・・となっていきます。

問15 表検索におけるハッシュ法の特徴はどれか。
2分木を用いる方法の一種である。
格納場所の衝突が発生しない方法である。
キーの関数値によって格納場所を決める。
探索に要する時間は表全体の大きさにほぼ比例する。
解答
解説 ハッシュ法とは、以下のようなもので、キーによって格納場所を決めます。キーによっては衝突が発生するのでなんらかの解決法が必要となります。

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

問16 DRAMの特徴はどれか。
記憶と消去を一括又はブロック単位で行うことができる。
構造が単純なので、高集積化することができ、ビット単位を安くできる。
電源が遮断された状態でも、記憶した情報を保護することができる。
リフレッシュ動作が不要であり、高速にアクセスすることができる。
解答
解説 よく使われるメモリの種類である。DRAMとSRAMを下にまとめます。

SRAM:容量は小さいが高速。リフレッシュがいらず消費電力も小さい。比較的高価。主にキャッシュメモリに利用される。
DRAM:容量は大きいが低速。リフレッシュが必要で消費電力が大きい。比較的安価。主に主記憶に利用される。

リフレッシュとは、値を保持するために、電気的に再充電する操作をいいます。DRAMはトランジスタとコンデンサによって構成されているので、このような操作が必要となります。

選択肢アは、フラッシュメモリの説明です。
選択肢ウは、ROMの説明です。
選択肢エは、SRAMの説明です。

問17 二つの入力と一つの出力をもつ論理回路で、二つの入力A、Bがともに1のときだけ、出力0になるものはどれか。

画像(問17)を表示できません
AND回路
NAND回路
OR回路
XOR回路
解答
解説 それぞれの回路の出力を下にまとめます。

AND:0と0=0、0と1=0、1と0=0、1と1=1
NAND:0と0=1、0と1=1、1と0=1、1と1=0
OR:0と0=0、0と1=1、1と0=1、1と1=1
XOR:0と0=0、0と1=1、1と0=1、1と1=0

問18 命令語に関する記述のうち、適切なものはどれか。
オペランドの個数は、その命令で指定する主記憶の番地の個数と等しい。
一つのコンピュータでは、命令語長はすべて等しい。
命令語長が長いコンピュータほど、命令の種類も多くなる。
命令の種類によっては、オペランドがないものもある。
解答
解説 各選択肢の解説をまとめます。

選択肢ア:オペランドの個数は、指定する命令によって変わり、主記憶のアドレスとは関係ありません。
選択肢イ:命令語長は基本的には同じですが、すべてが同じというわけではありません。
選択肢ウ:命令語長が長いほど、多くの命令を準備することができますが、基本的には関係ありません。
選択肢エ:命令の開始や、終了、関数の終了などはオペランドがありません。

問19 あるプログラムは、命令a〜dを次の順で実行する。

画像(問19_1)を表示できません


各命令の実行に必要なクロックサイクル数(CPI:Cycles Per Instruction)は、表のとおりである。CPUの1クロックサイクル時間を10ナノ秒とするとき、この命令列の実行時間は何ナノ秒か。

画像(問19_2)を表示できません
30
40
200
300
解答
解説 ひとつずつ計算していきます。

まず、全体のCPIは6+4+2+6+4+8=30クロック。次に、1クロックは10ナノ秒なので、300ナノ秒かかることになります。

問20 主記憶のアクセス時間60ナノ秒、キャッシュメモリのアクセス時間10ナノ秒のシステムがある。キャッシュメモリを介して主記憶にアクセスする場合の実効アクセス時間が15ナノ秒であるとき、キャッシュメモリのヒット率は幾らか。
0.1
0.17
0.83
0.9
解答
解説 ヒット率をaとして計算します。

10×a+60×(1−a)=15
10a+60−60a=15
50a=45

よって、a=0.9(90%)となります。