2015年12月24日木曜日

【VB.NET】ゼロ除算の回避 ゼロ除算の回避方法について説明する。

【VB.NET】ゼロ除算の回避
ゼロ除算の回避方法について説明する。

割り算を行う場合、分子の数字に関わらず、分母がゼロだと計算できないという問題がある。
ゼロ除算とは、割り算の分母が"0"(ゼロ)の場合に発生するエラーのことである。

※電卓のように、分母がゼロであった場合の解をゼロとすることが多い。
 便宜上、ゼロにしているだけで正解ではない点に注意!

ゼロ除算の回避は、以下のどちらかの対応を採ることが多い。
 ・分母に当たる数値がゼロかどうかで計算するかどうかを判断する。
 ・例外エラーを補足する。

結果としては、以下を返すことが多い。
 ・計算結果を"0"にする。
 ・0除算であることをメッセージとして表示する。

以下、サンプル。
《分母となる数値を判定する方法》
Public Class Sample

Public Shared Sub Main()

Div0()

End Sub



'分母の数値判定

Public Sub Div0()

Dim Value1 As Integer

Dim Value2 As Integer

Dim Anser As Double



Value1 = 10 '分子

Value2 = 0 '分母



If Value2 = 0 Then

Anser = 0

Else

Anser = Value1 / Value2

End If

Console.WriteLine(Value1 & "/" & Value2 & "=" & Anser)

End Sub

End Class

このサンプルでは、分母となるValue2に"0"を設定しているため、結果が0となる。
Value2の値を0以外にすれば、Value1÷Value2の結果を得ることができる。

《例外処理を使って処理する方法》
Public Class Sample

Public Shared Sub Main()

Div0()

End Sub



'例外処理の補足

Public Sub Div0()

Dim Value1 As Integer

Dim Value2 As Integer

Dim Anser As Double



Value1 = 10 '分子

Value2 = 0 '分母



Try

Anser = Value1 / Value2

Console.WriteLine(Value1 & "/" & Value2 & "=" & Anser)

Catch e As DivideByZeroException

Console.WriteLine("0除算が発生しました")

End Try

End Sub

End Class

このサンプルでは、分母となるValue2に"0"を設定しているため、例外エラーが発生する。
そのため、"0除算が発生しました"というメッセージが表示される。
最初のサンプル同様、Value2の値を0以外にすれば、Value1÷Value2の結果を得ることができる。

【補足事項】
・Excelで"DIV/0"と表示されるのは、ゼロ除算が発生していることを意味する。
・Excel等で0除算する場合には、以下の対応となる。
 1.分母となるセルの値が0かどうかを判定する。
  例)A1セルの値をA2セルの値で割り算する場合
    "=If(A2=0,0,A1/A2)"
 2.計算結果がエラーがどうかを判定する。
  例)A1セルの値をA2セルの値で割り算する場合
    "=If(ISERROR(A1/A2),0, A1/A2)"
    "=If(ISERR(A1/A2),0, A1/A2)"でも可
・割り算を行うプログラムでは、ゼロ除算の回避対応は必須となる。http://blog.ameba.jp/ucs/entry/srventryinsertinput.do


再生核研究所声明 264 (2015.12.23):  永遠とは何か ― 永遠から

現代人は 空間とは 座標軸で表される数の組の集合 で表させるものと発想しているだろう。 基礎である直線は 実数を直線上に並べたもの、逆に直線とは 実は 実数全体の表現と考えられる。 すなわち、直線とは 基準点である原点ゼロから、正方向と負方向に正の実数と負の実数が大小関係で順序づけられ無限に双方向に伸びていると考えられる。
そこで、永遠とは 直線に時間を対応させ、限りなく正方向に進んだ先のことを 想像している。どこまでも どこまでも 先に行けばどうなるだろうか。直線上でも、平面上でも である。 砂漠の伝統を有する欧米文化の背景、キリスト教などの背後には、 永遠とは限りなく 果てしなく先にあると発想しているという。 どこまでも、どこまでも きりのない世界である。 ユークリッド幾何学が そのような空間を考えていることは確かである。
ところが四季に恵まれたアジアの民は、限りなく広がる世界に、不安や淋しさを直感して、 正の先と、負の先が一致していて、直線は円で どこまでも どこまでも行くと反対方向から、現在に至り、永遠は繰り返しであると、四季の繰り返し、天空の繰り返し、円運動のように発想して 仄かな安心感を覚えているという。永劫回帰、輪廻の思想を深く懐いている。実に面白いことには 美しい複素解析学では、立体射影の考えによって、直線を球面上の円と表現し、無限遠点の導入によって、 これらの思想を 数学的に厳格に実現させ、全ユークリッド平面の全貌を捉え、無限の彼方さえ捉えることが出来た。 その時 永遠を 確かに捉え、掴むことさえ出来たと言える。立体射影による球面上の北極に 確かに存在すると言える。素晴しい、数学を手に入れていた。この美しい数学は 100年以上もリーマン球面として、複素解析学の基本となってきている。
ところが2014.2.2偶然に発見されたゼロ除算の結果は、この無限遠点が 実は原点に一致していた という衝撃的な事実を述べていた。 永遠、無限の彼方と想像していたら、それが 実は原点に戻っていたという事実である。 それが我々の数学であり、ユークリッド空間の実相である。幾何学の性質や物理的な法則をきちんと説明している、我々の世界の数学である。
それで、永遠や無限遠点、我々の空間の 十分先の考え方、発想を考える必要がある。
無限の先が原点に一致している事実、それを如何に理解すべきであろうか。
それについて、 次のように解説してきた:

再生核研究所声明232(2015.5.26)無限大とは何か、無限遠点とは何か。― 驚嘆すべきゼロ除算の結果
再生核研究所声明257 (2015.11.05) 無限大とは何か、 無限遠点とは何か ー 新しい視点 
再生核研究所声明262 (2015.12.09) 宇宙回帰説 ― ゼロ除算の拓いた世界観 

新しい世界観は 始まりから始まり 最後には 突然戻るということを述べている。 しからば、始めとは何で 終りとは何だろうか。 これについて、 始めも終わりも、質的な変化であると定義できるのではないだろうか。 簡単な数学で万物、universe の現象を説明するのは難しい状況は確かにあるだろう.しかし、ゼロ除算の思想は、新羅万象が絶えず変化して 繰り返している様を表現しているように感じられる。
大事な人生の視点は 今日は 明日のためや遠い未来のためにあるのではなく、 現在、現在における在るべき適切な在りようが大事だと言っているようである。もちろん、現在は、未来と過去に関係する存在であり、それらは関係付けられ、繋がっているが 焦点はもちろん、 現在にあるということである。
ビッグバンの宇宙論は 適切に理解され、始めとは 大きな変化で 現状の元が始まり、
やがて突然、元に戻って 終わることを暗示しているようである。人生とは 要するに 内なる自分と環境に調和するように在れ と ゼロ除算は言っているようである。

ゼロ除算は 仏教の偉大なる思想 を暗示させているように感じられる。

以 上


再生核研究所声明262 (2015.12.09) 宇宙回帰説 ― ゼロ除算の拓いた世界観 

最近展開しているゼロ除算が、新しい世界観を示しているのは 大変興味深い。直線とは一体どうなっているだろうか.空間とはどのようになっているだろうか。これについて、現代人は、双方向にどこまでも どこまでも 続いている直線を想像するであろう。限りなく広がった平面や空間である。ところが 立体射影によって 平面全体を球面上に1対1に写せば、全平面は 球面から北極を除いた球面上に1対1にきちんと写るから、無限に広がる 全平面の全貌が捉えられる。ところが平面上には存在しない想像上の点 それはあらゆる方向に限りなく遠くに存在する無限遠点の導入によって、その点を球面の欠けた1点北極に対応させれば、無限遠点を含めた平面全体は 球面全体と1対1にきちんと対応する。
このような対応で 平面上の円や直線全体は 球面上では共に円に対応するという美しい対応になり、平面上の直線は 球面上では、北極(無限遠点)を通る円に写ると、直線と円の区別は 球面上では不要になる。また、平面上の平行線とは 無限遠点で 角度ゼロで交わっている(接している)と平面上の構造がよく見えて、無限遠点を含めての平面の全構造が 捉えられる。このように、考えると、直線とは、球面上では北極を通る円、平面上では無限遠点を通る直線となる。この構造は、直線を1方向にどこまでも, どこまでも進めば、無限遠点を 通って、逆方向から戻ってくるという、永劫回帰の思想をちょうど実現している。それは、球面上では、 円を繰り返し回ることを意味する。 その様は 何もかも すっかり良く見える。
これが、従来100年以上も続いた世界観で、関数y=x やW=zは 無限遠点に近づけば、それらの像も無限遠点に近づいていると考えるだろう。 関数y=x の値は正方向にどんどん行けば、どんどん大きくなると考えるだろう。
しかるに、ゼロ除算1/0=0は、それらの関数は無限遠点にいくらでも近づくと 無限遠点にいくらでも近づくが、無限遠点自身では、突然ゼロになっていることが 幾何学的にも確認された。上記、北極は 実は原点ゼロに一致しているという。
話しを簡単にするために、 関数y=x を考えよう。右に行けば、プラス無限に、負の方向左に行けば 負の無限に限りなく近づくは 従来通りである。ところが、ゼロ除算では いずれの方向でも上記無限遠点では 値ゼロをきちんと取っているという。ゼロ除算の数学では、どんどん、増加した先、突然、ゼロ、原点に戻っているという。また、円でも球面でも半径Rをどんどん大きくすると、当然、円の面積や球の体積はどんどん限りなく大きくなるが、半径が無限のとき、突然、それらはゼロになるという。それらの理由も数学ばかりではなく、幾何学的にも明確に見えている。
この数学的な事実は、我々の世界、宇宙がどんどん拡大して行くと突然、ゼロに帰するということを暗示させている。 ― これは 宇宙回帰説を意味しているようである。
これは、ユニバースの普遍的な現象、どんどん進んだ先が、元に突然戻る原理を示しているようである。
そもそも人生とは如何なるものか。― よくは分からないが、事実として、生まれて、どんどん物心がついて、人間として精神活動が活発化して、多くは本能原理によって生かされて、そして、突然元に戻ることを意味しているようである。このことを深く捉えられれば、世界がよりよく観え、悟りの境地に達する大きなヒントを得ることができるだろう。

ここでは ゼロ除算の帰結として、宇宙回帰説、ユニバースの回帰説を唱えたい。この考えでは、どんどん進めば、突然元に戻るという原理を述べている。珠算における 御破算で願いましては で 再び始めることを想起させる。これは、また、reset と同様であると考えられる。

以 上


Title page of Leonhard Euler, Vollständige Anleitung zur Algebra, Vol. 1 (edition of 1771, first published in 1770), and p. 34 from Article 83, where Euler explains why a number divided by zero gives infinity.
https://notevenpast.org/dividing-nothing/

割り算のできる人には、どんなことも難しくない

世の中には多くのむずかしいものがあるが、加減乗除の四則演算ほどむずかしいものはほかにない。

ベーダ・ヴェネラビリス

数学名言集:ヴィルチェンコ編:松野武 山崎昇 訳大竹出版1989年



再生核研究所声明 266(2015.12.25): 地球上に繁茂する 愚かな人類

世界史を振り返れば、 世界史が 如何に恥ずかしい人間の営みかを まざまざと見ることができるだろう。本能むき出しの過剰な争いの歴史を 愚かな争い と自覚することもできず、蟻の大群のように 盲目的に安全保障、安保、安保、集団的自衛権などとわめいている。
積極的平和主義などと言っては、危機を意図的に煽り、軍拡競争を進め、自滅したいと願望しているかのように 実際 進んでいる。
アメリカ、フランスの大統領は テロの攻撃に、これは戦争であると公言して、復讐爆撃を始め、破壊活動を拡大させ、難民の増大や殺戮を拡大している。相手の気持ちを汲むは 公正の原則の基本精神 であるにも関わらず、命を掛けて犠牲になった人たちの気持ちを理解しようともせず、抹殺を始めから意図していることは歴然である。これは、西欧文化を支える 聖書の精神 に背馳 しているのは明白である:

再生核研究所声明263 (2015.12.11) テロや武闘の終焉を願って
(『新約聖書』マタイによる福音書第五章・ルカによる福音書第六章にあることば。汝の敵を愛せよ、は 自分の敵は憎むものだという世間の常識に対して、イエス・キリストは「自分を愛してくれる人を愛することは、誰にでもできる。悪意をもって自分を迫害する者にこそ、慈愛をもって接しなければならない」と戒めた(故事ことわざ辞典) この解説以上に 聖書の言葉は 真実そのもの であることを ゼロ除算は述べている。)

仏教が単に人類だけではなく、大きな生命を考え、共感、共鳴、共生、共存を志向して 自らの生命を深く掘り下げ、森羅万象との調和を説いた偉大なる教えにも関わらず、それらを活かせず、盲目的な動物以下の歴史を描いてきたのは いま一歩の道 を踏み出せなかった 知恵の足りなさを実証しているのではないだろうか。いま一歩の道とは 夜明けを迎える心の変化のことである。偶然に1300年を越える歴史上で ゼロ除算が発見されたが、ちょうどそれと同じで 気づけば、実は それは簡単であった となるだろう。
聖書の言葉 汝の敵を愛せよ とは真実そのものであるが、相手の立場を考えよ、相手の立場に思いを寄せよ、で 世の有り様の原理は解決でき、確かな夜明けを迎えられるだろう。実は簡単であった。 世界史の進化を志向しようではないか。
かけがいの地球を見てみよ。 人類の繁茂によって 自然が破壊され、地球が傷ついているではないか。生態系を破壊して、人類は我が物のように野生動物、植物を虐待していると言える。これは人類が 地球上の生態系を破壊する まるで癌細胞 のような存在であることを自戒する必要がある。豊かな生態系無くして、人類の生存が有り得ないことは歴然である。科学が進歩したと言っても、蚊一匹作ることのできない人類の能力をしっかりと自覚する必要がある。
このまま暗い歴史を続ければ、人口増大、自然破壊、闘争で 人類の自滅は 時間の問題ではないだろうか。
国際機関は 人類の愚かさを自戒して、上記 聖書の言葉やお釈迦様など 世の賢人、聖人の教えに従って、また善良な庶民の自由な意見を取り入れて、人類を統一して、夜明けを迎え、輝かしい人類の世界史を展開すべきである。

以 上








0 件のコメント:

コメントを投稿