昨日、東京大学で、非常勤で教えている先生から聞いた話。
最高学府である、東京大学の学生でも、「コンピューターは正しく動く」と思っているらしい・・・
うーん・・・
コンピューターは、
・所定の電気が供給されている状態で、
・ハード、ソフトとも
「想定される」入力が供給されたとき、期待される出力が提供されるという
妥当性、正当性が検証されている場合
・「想定される」入力が供給されると、
・ある程度の誤差の範囲内で、出力する
ものです。
だから、コンピューターで表現しきれない部分は、誤差となるので、その部分は正確でないし、想定外のものが、入力されたときは、どう動作するかわからない。
いまの人は、ハード、ソフトとも洗練された環境にいるから、正しい答えが出ると思うんだよね。
だけど、昔N88-BASICっていうのがあって、それで、
IF ( A^2+B^2 = C^2 ) THEN
(A、B、Cは、1~100までの整数でループさせる)
とか、書くと、たしか、条件に引っかかんなかった気がする
(昔の記憶なので、定かでない。もし、まちがってたら、関係者さん、ごめんなさい)
IF ( A*A+B*B = C*C ) THEN
だとOK
べき乗の計算をちょっと変わったことしていて(たしか、対数をとってやってたのかな?記憶が確かでない。まちがってたらごめん)、誤差があって、一致しなかった・・・のよ、昔は、そんなかんじ・・・
今、そんなことやったら、超クレームくるよね(^^;)
いい時代になった?
最高学府である、東京大学の学生でも、「コンピューターは正しく動く」と思っているらしい・・・
うーん・・・
コンピューターは、
・所定の電気が供給されている状態で、
・ハード、ソフトとも
「想定される」入力が供給されたとき、期待される出力が提供されるという
妥当性、正当性が検証されている場合
・「想定される」入力が供給されると、
・ある程度の誤差の範囲内で、出力する
ものです。
だから、コンピューターで表現しきれない部分は、誤差となるので、その部分は正確でないし、想定外のものが、入力されたときは、どう動作するかわからない。
いまの人は、ハード、ソフトとも洗練された環境にいるから、正しい答えが出ると思うんだよね。
だけど、昔N88-BASICっていうのがあって、それで、
IF ( A^2+B^2 = C^2 ) THEN
(A、B、Cは、1~100までの整数でループさせる)
とか、書くと、たしか、条件に引っかかんなかった気がする
(昔の記憶なので、定かでない。もし、まちがってたら、関係者さん、ごめんなさい)
IF ( A*A+B*B = C*C ) THEN
だとOK
べき乗の計算をちょっと変わったことしていて(たしか、対数をとってやってたのかな?記憶が確かでない。まちがってたらごめん)、誤差があって、一致しなかった・・・のよ、昔は、そんなかんじ・・・
今、そんなことやったら、超クレームくるよね(^^;)
いい時代になった?