大小判定のアルゴリズム
基本は、IF文を使います。
でも、便利なmin関数を使えば、ソースは短くなります。
2つの数値だからいいですが、3つ以上になったらどうしましょう。
でも、それでも1行でできてしまいます。
min関数を入れ子にしてしまいます。4つの数値の場合です。
Javaでフィッシャーの正確確率検定(前編)というサイトで知りました。こんなこともありなのですね (@o@)
もっと数値が増えたり、数値の数がそのたびに変わるとかしたら・・・。
そんなときは、繰り返しを使います。
データ数が変化しても、大きな修正は必要ありません。
大小を判定するだけでもいろいろな考えがあるものです。
それぞれの特徴を知って、効率よくプログラミングしたいものです。
function myMin_1(){ var data1; var data2; var str; data1 = prompt("input data1=?",""); data2 = prompt("input data2=?",""); if(data1>=data2){ str ="min="+data2; }else{ str ="min="+data1; } alert(str); }
でも、便利なmin関数を使えば、ソースは短くなります。
function myMin_2(){ var data1; var data2; var str; data1 = prompt("input data1=?",""); data2 = prompt("input data2=?",""); str = "min="+Math.min(data1,data2); alert(str); }
2つの数値だからいいですが、3つ以上になったらどうしましょう。
でも、それでも1行でできてしまいます。
min関数を入れ子にしてしまいます。4つの数値の場合です。
Javaでフィッシャーの正確確率検定(前編)というサイトで知りました。こんなこともありなのですね (@o@)
function myMin_3(){ var data = new Array();; var str = ""; for(i=0;i<4;i++){ data[i] = prompt("input data["+i+"]=?",""); } min = Math.min(data[0],Math.min(data[1],Math.min(data[2],data[3]))); for(i in data){ ANS += data[i]+"\n"; } str = str + "min="+min; alert(str); }
もっと数値が増えたり、数値の数がそのたびに変わるとかしたら・・・。
そんなときは、繰り返しを使います。
データ数が変化しても、大きな修正は必要ありません。
function myMin_4(){ var data = new Array();; var str = ""; var min; for(i=0;i<5;i++){ data[i] = prompt("input data["+i+"]=?",""); } min = data[0]; for(i=1;i<5;i++){ min = Math.min(min,data[i]); } for(i in data){ str += data[i]+"\n"; } str = str + "min="+min; alert(str); }
大小を判定するだけでもいろいろな考えがあるものです。
それぞれの特徴を知って、効率よくプログラミングしたいものです。
ソフトウエア | - | trackbacks (0)