基本情報技術者 合格への道しるべ

目指せ!基本情報技術者資格取得
★お知らせ★
訪問ありがとうございます^^

IE6.0では正しく表示できない事が判明しました。
テンプレ変更しようかな・・・。
IE8.0,解像度1280×1024で見やすいかと思います。
また、改行などで読みづらいかと思いますが、その辺改修していきますので
今後とも宜しくお願い致しますm(_ _)m

当ブログは、IT資格「IPA情報処理推進機構:情報処理技術者試験」の取得の為に
開設しました!!自分なりの解き方ですので、必ずしもこの解き方が正しいという
ものではございません。違う解き方などがあれば、是非教えてくださいね。
間違いがありましたら、ご指摘下さればありがたいですー。
IT関係の仕事に携わっている方や、目指している方、一緒に頑張りませんか?

因みにDBがチョイ苦手です・・・。克服していきたいです!



春期試験に向けて頑張りましょう!
更新を再開していきます。(マイペースで^^;)

問1

集合A 、B 、C を使った等式のうち、集合A 、B 、C の内容によらず常に成立する等式はどれか。
ここで、∪は和集合、∩は積集合を示す。
 ア
 (A ∪B )∩(A ∩C )=B ∩(A ∪C )
 イ
 (A ∪B )∩C =(A ∪C )∩(B ∪C )
 ウ
 (A ∩B )∪(B ∩A )=(A ∩B )∪(B ∩C )
 エ
 (A ∩C )∪(B ∩C )=(A ∪B )∩C
スポンサーサイト

問1

 浮動小数点数に関する次の記述を読んで、設問1,2に答えよ。

(1) α×2βの形で表記される不動小数点数を、図1に示す32ビット単精度不動小
 数点形式(以下、単精度表現という)で表現する。ここで、αとβは次の条件を
 満たすものとする。
    α=0,又は 1≦|α|<2
    -126≦β≦127

H24_fe_pm_sp_01.png

   ① 符号部(ビット番号31)
     αの値が正のとき0、負のとき1が入る。
   ② 指数部(ビット番号30~23)
     βの値に127を加えた値が2進数で入る。
   ③ 仮数部(ビット番号22~0)
     |α|の整数部分1を省略し、残りの小数部分が、ビット番号22に小数第1
    位が来るような2進数で入る。
   ただし、αの値が0の場合、符号部、指数部、仮数部ともに0とする。
(2) 例えば、10進数の0.75を2進数で表すと、(0.11)2となる。これは(1.1)2×2-1
  と表記でき、単精度表現では、図2のとおり、符号部は(0)2、指数部は-1に127
  を加えて(01111110)2となり、仮数部は(1.1)2の小数部分が入るので、(100…0)2
  となる。ここで、00…0は0が連続していることを表す。

H24_fe_pm_sp_02.png

設問1 次の単精度表現が表す数値として正しい答えを、解答群の中から選べ。

H24_fe_pm_sp_03.png

解答群
 ア 3×2-125   イ 3×2-122   ウ 3×25   エ 3×2132
 オ 11×2-125  カ 11×2-122   キ 11×25   ク 11×2132

※解答・解説はマウスをドラッグすると表示されます。

符号部は0なので、αは正の値
指数部はβに127を加えた値なので、-122+127=5となり、-122
仮数部は(011000…0)2であり、整数部分が1省略された形
であるから、(1.011)2×2-122=(1011)2×2-125=11×2-125



設問2 次の記述中のshikaku.pngに入れる正しい答えを、解答群の中から選べ。

   二つの不動小数点数AとBの減算と乗算を行う。
 Aの単精度表現
H24_fe_pm_sp_04.png

 Bの単精度表現
H24_fe_pm_sp_05.png

   (1) 減算A-Bを、次の手順①~③で行う。
    ① 指数部の値を大きいほうに合わせる。Aが(1.01)2×25であることから、
     Bを(H24_fe_pm_sp_a.png)2×25とする。
    ② 減算を行う。
      ((1.01)2-(H24_fe_pm_sp_a.png)2)×25=(1.0)2×2H24_fe_pm_sp_b.png
    ③ ②の結果を単精度表現する。その結果はH24_fe_pm_sp_c.pngとなる。
   (2) 乗算A×Bの結果は(H24_fe_pm_sp_d.png)2×29となる。

aに関する解答群
 ア 0.011   イ 0.101   ウ 0.11   エ 1.01
 オ 1.1

bに関する解答群
 ア 3   イ 4   ウ 5   エ 6
 オ 131   カ 132

cに関する解答群
H24_fe_pm_sp_06.png

dに関する解答群
 ア 1.0   イ 1.11   ウ 1.1101   エ 1.111
 オ 1.1111

※解答・解説はマウスをドラッグすると表示されます。

(a)
Aが(1.01)2×25
Bは(1.1)×24=(0.11)2×25



(b)
(1.01)2=1.25
(0.11)2=0.75
1.25-0.75=0.5=(0.1)2×25=(1.0)2×24



(c)
符号部が0で、指数部は127+4=131(1000 0011)2
よって、イかウ
(1.0)×24なので仮数部は0



(d)
Aが(1.01)2×25
Bは(1.1)×24
1.01
1.1
----
 101
101
----
1.111


問2

 コンパイラの最適化に関する次の記述を読んで、設問1~3に答えよ。

 コンパイラとは、プログラム言語で記述された原始プログラムを翻訳して目的プロ
グラムを生成するためのソフトウェアである。コンパイラの機能の一つに最適化があ
る。最適化では、原始プログラムを翻訳する過程で、プログラムの実行時間を短くす
るために原始プログラムの構造を変換する。最適化の方法の例を表1に示す。

H24_fe_pm_sp_07.png

 擬似言語の形式で記述したプログラムの一部(以下、プログラム1という)に対し
て、表1の最適化の方法を複数組み合わせて最適化した例を、表2に示す。

H24_fe_pm_sp_08.png

H24_fe_pm_sp_09.png

設問1 次の記述中のshikaku.pngに入れる正しい答えを、解答群の中から選べ。

  表2において、最適化の方法を①,②,③の順で適用するとき、②で適用され
  る最適化の方法はH24_fe_pm_sp_a.pngであり、③で適用される最適化の方法は
  H24_fe_pm_sp_b2.pngである。

a,bに関する解答群
 ア 関数のインライン展開    イ 共通部分式の削除
 ウ 定数の畳込み        エ 定数伝播
 オ 無用命令の削除       カ ループ内不変式の異動
 キ ループのアンローリング

※解答・解説はマウスをドラッグすると表示されます。





設問2 次の記述中のshikaku.pngに入れる正しい答えを、解答群の中から選べ。

   関数のインライン展開の例を図1に示す。図1の関数funcをインライン展開
  した場合、実引数10の値が仮引数pに代入され、その値10が関数func内の変
  数pの値になる(図1 ①)。次に、H24_fe_pm_sp_c.pngの方法を適用することによって、
  条件式p≧10の判定結果やpを含んだ計算式の計算結果がコンパイル時に確定
  する(図1 ②)。その結果、func(10)を値15に置き換えることができる(図1 ③)。
   なお、#wはコンパイラが最適化をしたときに生成した整数型の変数である。

H24_fe_pm_sp_10.png

cに関する解答群
 ア 共通部分式の削除    イ 定数の畳込み
 ウ 定数伝播        エ 無用命令の削除
 オ ループ内不変式の異動  カ ループのアンローリング

※解答・解説はマウスをドラッグすると表示されます。





設問3 次の記述中のshikaku.pngに入れる適切な答えを、解答群の中から選べ。

    最適化をしないときと最適化をしたときとで浮動小数点数の演算の結果が異な
   る場合がある。プログラム1に対して表2の最適化をしなかったものと、最適化
   をしたものとに、y[0]=307000000.0、y[1]=305000000.0、m=-303000000.0、
   n=4.0を与えて実行した。その結果のx[0]、x[1]が次のとおりになった。ここ
   で、同一優先順位の算術演算子は、左から順に演算する。
     最適化をしないとき: x[0]=4000004.0、x[1]=2000004.0
     最適化をしたとき:  x[0]=4000000.0、x[1]=2000000.0
    この実行結果が異なる原因としては、H24_fe_pm_sp_d.pngの方法の適用によって演算
   順序が変化したことで、H24_fe_pm_sp_e.pngが発生したからである。ここで、浮動小数
   点数の演算は単精度(仮数部は23ビット)で計算しているものとする。

dに関する解答群
 ア 関数のインライン展開    イ 共通部分式の削除
 ウ 定数の畳込み        エ 定数伝播
 オ 無用命令の削除       カ ループ内不変式の移動
 キ ループのアンローリング

eに関する解答群
 ア 桁あふれ   イ 桁落ち   ウ 情報落ち   エ 丸め誤差

※解答・解説はマウスをドラッグすると表示されます。



問1

 次の10進少数のうち、8進数に変換したときに有限少数になるものはどれか。

ア 0.3
イ 0.4
ウ 0.5
エ 0.8

※解答・解説はマウスをドラッグすると表示されます。


0.3 × 8 = 2.4 → 2
0.4 × 8 = 3.2 → 3
0.2 × 8 = 1.6 → 1
0.6 × 8 = 4.8 → 4
0.8 × 8 = 6.4 → 6
0.4 × 8 = 3.2 → 3
----------------
0.231463…(無限小数)


0.4 × 8 = 3.2 → 3
0.2 × 8 = 1.6 → 1
0.6 × 8 = 4.8 → 4
0.8 × 8 = 6.4 → 6
0.4 × 8 = 3.2 → 3
----------------
0.31463…(無限小数)


0.5 × 8 = 4.0 → 4
----------------
0.4(有限小数)


0.8 × 8 = 6.4 → 6
0.4 × 8 = 3.2 → 3
0.2 × 8 = 1.6 → 1
0.6 × 8 = 4.8 → 4
0.8 × 8 = 6.4 → 6
0.4 × 8 = 3.2 → 3
----------------
0.631463…(無限小数)


問2

 非負の2進数b1b2…bnを3倍にしたものはどれか。

ア b1b2…bn0+b1b2…bn
イ b1b2…bn00-1
ウ b1b2…bn000
エ b1b2…bn1

※解答・解説はマウスをドラッグすると表示されます。

例)b1b2…bnが(0101)2であった場合、(0001)2だとわかりずらいので・・・

ア (0 1010)2+(0101)2=(1111)2 …3倍(5×3=15)
イ (01 0100)2-1 …4倍(5×4=20)したものから(0001)2を引く
ウ (010 1000)2 …8倍(5×8=40)
エ (01011 )2 …2倍(5×2=10)したものに(0001)2を足す

プロフィール

基本情報技術者午後対策@のぶ

HN:のぶ
性別:男性
年齢:35歳
出身地:北海道

IT関係の高校,大学卒業後、ダメ人間だったのでうまく就職できませんでした・・・。かなり反省しています。よって、25歳で上京!
"できる"ITエンジニアを目指していました。
色々あり、IT業界の仕事は辞めてしまいましたが、ITの分野に興味があるのでIT業界で仕事をする又は、目指している皆さんのお役に立てるかと思い、このブログを開設しました。頑張りましょう!

【現IT資格保持】
・CCNA(640-802J)