休憩のおともに算数はいかがですか?(2 / 10)【ゼロ除算について】
こんにちは。
C/G部のアオキです。
プログラム開発をしていると、たま~に嫌なヤツに遭遇します。
ヤツの名前はDivideByZeroException(C#.net)
単体試験をきっちり行えばきちんと対応できますが、もっと後の工程でこれが出るとカナリ恥ずかしい思いをする憎いヤツです。
自分でプログラミングをしている場合は、ほとんど出会いませんが
新人・若手のソースプログラムをチェックすると「こんにちは」って感じでチョコチョコ出会うことに。。。
このDivideByZeroExceptionが何かは、プログラム開発経験が無いとなじみが無いかも知れませんが
整数値または小数値を 0 で除算しようとするとスローされる例外。
MSDNより
小学校でやりましたよね。割り算は0で割ってはいけない。
大人になった今もこの問題にぶつかるとは・・・(-д-;)
なぜ0で割ってはダメなのか
これは、みなさんご存知だと思いますが自己流で軽くおさらいをしてみましょう。
割り算・・・ってグループ(固まり)を作る作業だと考えてみます
例)自分の部署には24人のメンバーがいます。1グループ4人でグループを作ると何グループできますか?
24(人)÷4(人) = 6(グループ)
ではここで、1グループ0人でグループ分けするとどうなるでしょうか?
???どうなるのでしょう。。。私には答えがわかりません。
100グループ作っても200グループ作っても24人余ってしまいます。
0で割ると変な状況になってしまうので0では割ってはいけないんですね。
ここでタイトルとは異なりますが少し数学(中学1年生レベル)をやってみます。
数学は頭が痛くなるって方はまたお会いする日まで~
大丈夫ですか?数学始めますよ・・・
では始めます。
問 )
a = b + c
という式が成り立つとき、必ずa=bが成り立つことを証明せよ。
証明)
①bを左辺に移行する。
a – b = c
②両辺に(a – b)を掛ける。
(a – b) ×(a – b) = c ×(a – b)
a~2 – 2ab + b~2 = ac – bc (※)a~2はaの二乗
③両辺に(ab – ac)を足す。
a~2 – 2ab + b~2 + ab – ac = ac – bc + ab – ac
a~2 – ab + b~2 – ac = bc + ab
④b~2を右辺に移項する。
a~2 – ab – ac = – bc + ab – b~2
a~2 – ab – ac = ab – bc- b~2 (右辺の順番を入れ替え)
⑤左辺をaで右辺をbでまとめる。
a(a – b – c) = b(a – b – c)
⑥両辺を(a – b – c)で割る。
a = b //
cはあっても無くてもOKってことが証明されました。
( ?´_ゝ`) これって正しいでしょうか?
もちろん正しくないですね。
皆さんどこが間違っているか解りますか? ( ̄ー ̄)