ジターバグ

アクセスカウンタ

help リーダーに追加 RSS 11月17日の課題

<<   作成日時 : 2005/11/28 04:23   >>

トラックバック 0 / コメント 0

(1)
・「誤差」と「エラー」の違い
「誤差」とは、真実の値と得られた結果との差で、人には避けられないような種類のもの。サンプリングの誤差、丸めの誤差、桁落ちなどがある。それに対して、「エラー」とは記述したプログラムに何らかの間違いがあることで、誤差もエラーですが、人間が避けようと思えば避けられるような種類の間違い(失敗)をエラーといいます。シンタックスエラー、論理エラー、入出力時のリミテーションエラー、プロセスのリミテーションエラーなどがあります。

(2)
・サンプリングの誤差
サンプルを抽出する場合に発生する誤差のこと。サンプリングの誤差には、系統誤差とランダム誤差があります。ランダム誤差とは、偏りなく、均等にばらついている誤差であり、系統誤差とは、真の値と測定・観察によって得られた値との差に方向性がある誤差をいいます。

・丸めの誤差 
小数点以下の極めて小さい単位で値を丸めて計算した結果、計算結果と正しい値がわずかにずれる現象のこと。10進数で正確に表せる小数でも2進数では循環小数になってしまうことが多く、内部的に循環小数を丸めて処理していると丸め誤差が発生します。丸め誤差自体をなくすことは困難だですが、計算順序を工夫することで丸め誤差の影響を減少させることはできます。

・桁落ち
浮動小数点演算で、計算結果が0に極端に近くなる加減算を行ったときに、有効数字の桁数が極端に少なくなる現象で、
例えば、「1.23456789x102-1.23456780x102」のような計算を行なうと、計算結果は「9x10-6」となり、有効数字の桁数は9桁から一気に1桁に減少してしまいます。
浮動小数点形式の値は内部的には常に有効数字の桁数を一定として扱っているために、桁落ちが発生すると、不足した桁数が自動的に0で埋められてしまい、真の値との間に誤差が発生してしまします。そして、桁落ちした数値に大きな数を掛けるなどの計算を行なうと、発生した誤差が上の桁に上がってくることによって、計算結果を無意味にするほどの大きな誤差を含んだ値が返されることになります。

・シンタックスエラー
プログラム言語の記述の中での間違いで、コンパイル言語の場合はコンパイル中にコンパイラが発見します。コンパイラは実行中にプログラム言語をマシン語に翻訳しますが、そのとき解釈できない記述を発見すると「シンタックスエラー」として出力します。

・論理エラー
構文エラーや実行時エラーは発生せずにスクリプト(コンピューターに対する一連の命令などを記述したもの)の実行が完了するものの、予測した結果が得られない場合のエラーです。

・入出力時のリミテーションエラー
コンピューターの間違いではなくて、それを使う人による入力ミスなどをいいます。
 
・プロセスのリミテーションエラー
乱数を使用するようなときなどに、小さすぎる値や大きすぎる値が発生して処理が停止したり、計算できずに間違った結果になったりするエラーのこと。また、入力したデータが計算途中ではどんな値になるかが予想しにくいケースでも、同じようなことが発生します。

自分の見解
今回の課題を行って、論理エラーやシンタックスエラーの違いなど、電子計算機実習で教わっているC言語の用語も勉強でき、とても役に立った。今まで違いのわからなかった、誤差とエラーの違いもわかりためになった気がしました。

参考文献
http://www.jaeri.go.jp/dresa/dresa/term/br000950.htm
http://e-words.jp/w/E4B8B8E38281E8AAA4E5B7AE.html
http://www.microsoft.com/Japan/msdn/Scripting/Debugger/docs/sdbug_10.htm
講義録



設定テーマ

注目テーマ 一覧

月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文