まず、絶対値とは?
中学1年生の最初の方で、絶対値について習いましたよね?
絶対値とは、その符号を無視して得られる非負の値のことを言います。
例えば、5
は5
に、-5
は符号を抜いて5
になります。
プログラムだけで絶対値を得られるようにするには?
では、プログラムで絶対値を得る方法を模索していきましょう。
var n
//途中のクラスや関数の指定は省略します。
if(n < 0) n *= -1f; //nの値が0未満なら、nを正の数にする
Console.WriteLine((string)n); //値を出力(Debug.Logでも同じ)
これは、単純に値が0未満の時に値を正の数にする処理です。
もっと簡単にしたい。
だったら$\sqrt{}$(平方根 or ルート)を使いましょう。
先ほどのスクリプトでも同じような原理を使っていますが、負の数に負の数の積は正の数になります。
察しがついた方もいるかもしれませんが、$\sqrt{}$は$n^2$の数の$n$を取り出す式です。
この$n$を二乗し、平方根の計算をすると、どんな数でも正の数になる気がしませんか?
肝心の式は、
\sqrt{n^2} = nの絶対値
たったこれだけです。
nにどんな数でも入れてみてください。ね、絶対値になるでしょ?
学校の数学って、やっぱり役立つ
プログラマーを目指していると、やっぱり数学の知識が生きてきます。私は、
・べき乗の計算($x^2$)
・平方根の計算($\sqrt{x}$)
・一次方程式 & 二元一次方程式
は少なくとも役に立っていると感じています。
勉強に苦悩している学生諸君、数学は将来に生きてくるぞ!どんな教科でもあきらめずに学んでいこう!
以上です