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

目指せ!基本情報技術者資格取得
TOP ≫ CATEGORY ≫ 平成24年度春期 午後
CATEGORY ≫ 平成24年度春期 午後
      

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | Comments (-) | Trackbacks (-)

問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に関する解答群
 ア 桁あふれ   イ 桁落ち   ウ 情報落ち   エ 丸め誤差

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



プロフィール

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

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

IT関係の高校,大学卒業後、ダメ人間だったのでうまく就職できませんでした・・・。かなり反省しています。よって、25歳で上京!
"できる"ITエンジニアを目指しています。この不況下、就職するのも厳しい時代ですが、頑張っていきましょう!!
合格出来るまで、IT資格を沢山取っていきたいです。

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

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。