┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃宿題メール 基本情報編              .&&&& **** %%%%. ┃ ┃                         &&&&&&******%%%%%% ┃ ┃from 斎藤末広 jhomework@yscon.co.jp        '&┃&''*┃*''%┃%' ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━┻━━┻━━┛ 宿題メール勉強部屋:http://www.yscon.co.jp/j/homework/hwlinks.htm ========================================================================  2003年9月15日分 宿題 基本情報編  宿題が無い特別号です。 ======================================================================== 基本情報技術者試験書籍の正誤検討 ------------------------------------------------------------------------ 私の知り合いのプロの方から,情報提供がありました。 現在発売中の  アイテック『徹底解説 基本情報技術者本試験問題 平成14年春〜平成15年春』  http://www.amazon.co.jp/exec/obidos/ASIN/4872684001/suehirospage-22  技術評論社『基本情報技術者試験「非公開」本試験問題を解く!!』  http://www.amazon.co.jp/exec/obidos/ASIN/4774118281/suehirospage-22 において, > ・ITECの本の間違い > H.14秋 問1 設問4 a エ b ア とありますが、正解は a オ b イ > > ・技術評論社の本の間違い > H.14秋 問4 設問1 b イ とありますが、正解は b ウ だそうです。なお,この正誤は,私の友人の見解であり,出版者が提供している 正式な正誤表ではありません。  お手持ちの,基本情報技術者試験用,ソフトウェア開発技術者試験用の関連書 籍正誤に関する質問を受け付けします。  会員限定の掲示板,もしくは,メールで送って下さい。 ======================================================================== 特別講義 誤差 (分野:コンピュータ科学)  コンピュータでけた値を扱うときに発生する誤差について説明します。 誤差の基本用語  絶対誤差 コンピュータから求まった値と本当の値との差を指します。  相対誤差 絶対誤差と真の値との比を表します。パーセント等で表現されます。 誤差の発生原因から,次の7つが出題されます。  変換誤差 基けた変換などに際して発生。例:10進けたの0.1を2進けたに変換する       とき。  打切誤差 計算を継続するとより正確になるにもかかわらず途中で打ち切った       場合に発生する誤差。  丸め誤差 四捨五入,切り上げ/切り捨てで発生する誤差  あふれ誤差 決まったビットけたでけた値を表現するため,その限界を超えた場合        の誤差  情報落ち誤差 浮動小けた点演算において,絶対値が大きいけた字と小さいけた字の         加減の際に,絶対値の小さいけた値が消えてしまうことを指しま         す。  桁落ち誤差  浮動小けた点演算において,極めて近いけたの差を取ると,有効けたけた         が減少することを指します。  実際にいつつか,問題を見ながら説明しましょう。 【問題】基本情報技術者午前平成15年春問04  浮動小けた点演算において,絶対値の大きなけたと絶対値の小さなけたの加減算を行っ たとき,絶対値の小さなけたの有効けたの一部又は全部が結果に反映されないこと を何というか。  ア 打切り誤差  イ けた落ち  ウ 情報落ち  エ 絶対誤差 【解説】  答えは,ウの情報落ちです。  分かり易く考えるために,10進法で考えます。仮けた部は,4ビット,指けた部 は,-100 から 99 までしか扱えないとします。   0.1234 * 10 ^ 3  ← 絶対値の大きいけた + 0.5678 * 10 ^-1  ← 絶対値の小さいけた ------------------- 本来の計算は,  123.4 + 0.05678 ------------ 123.45678 ですが,  仮数部が4ビットという制限から 123.45678 の上から4ビットまでしか,残りません。 よって,コンピュータ内部では,   0.1234 * 10 ^ 3  ← 絶対値の大きい数 + 0.5678 * 10 ^-1  ← 絶対値の小さい数 -------------------   0.1234 * 10 ^ 3  となり,0.5678 * 10 ^-1 を加えたことが無視されたことになります。これが, 情報落ちです。  これを防ぐには,絶対値に大きな差がある数値の加減算を計算の後回しになる ように式を変形します。 〔解答〕ウ 【問題】二種午前平成12年秋問7  浮動小数点数の加減算を実行したとき,けた落ちが発生する演算はどれか。こ こで,有効けたは,仮数部 3 けたに対して,演算は 6 けたで行われるものとす る。  ア 0.123 × 10^2 + 0.124 × 10^-2  イ 0.234 × 10^5 − 0.221 × 10^2  ウ 0.556 × 10^6 + 0.552 × 10^4  エ 0.556 × 10^7 − 0.552 × 10^7 【解説】 ア  12.3 + 0.00124 ---------- 12.3012 6桁部分で演算  12.3 仮数部を3桁へ,桁落ちではなく,情報落ちが発生 イ  0.00000234 - 0.00221 ------------- - 0.997992 6桁部分で演算  0.998 仮数部は3桁へ,丸め誤差が発生 ウ  0.000000556 + 0.0000552 ------------- 0.000055756 6桁部分で計算  0.0000558 仮数部は3桁へ,丸め誤差発生 エ  0.0000000556 - 0.0000000552 --------------- 0.0000000004 6桁部分で計算  0.0000000004 仮数部は3桁へ,しかし,仮数部は一桁になり,桁落ち発生 〔解答〕エ 【問題】 基本情報技術者午前平成13年秋問7  丸め誤差に関する記述として,適切なものはどれか。  ア 演算結果がコンピュータの扱える最大値を超えることによって生じる誤差   である。  イ 数表現のけた数に限度があるので,最小けたより小さい部分について四捨   五入や切上げ,切捨てを行うことによって生じる誤差である。  ウ 絶対値のほぼ等しい数値の加減算において,上位の有効数字が失われるこ   とによって生じる誤差である。  エ 浮動小数点数の乗除算において,指数部が小さい方の数値の仮数部の下位   部分が失われることによって生じる誤差である。 【解説】  ア:オーバーフローの説明  イ:正解。(丸め誤差の説明)  ウ:けた落ち  エ:残念ながらこの誤差をなんと呼ぶか不明 〔解答〕イ 【問題】  二種午前平成11年春問70  近似値から真値を代数的に引いて得られる誤差はどれか。  ア 系統誤差  イ 絶対誤差  ウ 相対誤差  エ 丸め誤差 【解説】  ア:測定する機器のクセによる誤差。  イ:正解  ウ:絶対誤差/真値  エ:切り捨て,切り上げ,四捨五入より発生する誤差 〔解答〕 イ 【問題】 二種午前平成12年春問9  面積 S の円を描くときに,S の相対誤差を 1 % 以下にするためには,半径 r の相対誤差をおよそ何 % 以下にする必要があるか。  ア 0.1  イ 0.5  ウ 1  エ 2 【解説】  円の面積は,S = πr^2 で表すことができます。計算を重ねるほど誤差が拡大 するため,ウ,エは除外して考えます。 アのとき,  誤差を含む最大の半径は,1.001r  面積は,π(1.001r)^2  相対誤差は,   π(1.001*r)^2   ------------ πr^2 = 1.001^2 = 1.002001 約0.2%の相対誤差 イのとき,  誤差を含む最大の半径は,1.005  アと同様の計算をすると,相対誤差は,  (1.005)^2 = 1.010025 約1%の相対誤差 よって,解答は,イとなる。 試しに,ウ,エの場合も計算してましょう。 ウの場合,(1.01)^2 = 1.0201 で,約2%の相対誤差 エの場合,(1.02)^2 = 1.0402 で,約4%の相対誤差 となります。 〔解答〕イ